Commit Graph

106 Commits

Author SHA1 Message Date
tali 89f64aa8d8 fix impl IndexMut<RangeFull> for MatBuf to only provide up to ..rows 2023-04-11 12:31:35 -04:00
tali 586d328718 add MatBuf::shift_up() operation 2023-04-11 12:31:35 -04:00
tali 002c0ba37c shrimplify: remove "capabilities" interface
this is also going to be reassessed later
2023-04-11 12:31:35 -04:00
tali 7637f892ae shrimplify: remove FindLocationsBuffers
we will add some sort of similar functionality back later, after we have performance data
to justify it
2023-04-09 18:00:30 -04:00
tali 71efd222eb code quality: downstacking.rs 2023-04-09 14:43:06 -04:00
tali d564bc25af shrimplify: MatBuf is only generic of its length, not buffer type 2023-04-09 14:35:56 -04:00
tali 15d69fe128 WIP: modified A* with bumpalo managed nodes 2023-03-07 19:30:31 -05:00
tali d52e4da215 Add evaluate() function that combines the eval fn's with weights 2023-03-07 19:10:26 -05:00
tali c2e91dc30a Piece derives Copy 2023-03-07 19:10:16 -05:00
tali 111ca1a7bb move eval/mod.rs to eval.rs 2023-03-07 17:48:49 -05:00
tali 58ae5a67f3 Add script for testing move suggestions 2023-03-05 12:45:04 -05:00
tali 3e52b6fb71 Fix clippy lints
- format strings
2023-03-05 12:45:04 -05:00
tali c3d144f730 Use tracing crate for logging 2023-03-05 12:45:04 -05:00
tali 7ddc748d35 Guide AI by heuristic evaluation; "best first search" 2023-03-05 12:45:04 -05:00
tali 5313580b2e Implement some basic downstacking heuristics 2023-03-05 12:44:57 -05:00
tali b6e6a00164 Add IndexMut impls for MatBuf 2022-12-21 20:56:38 -05:00
tali 13f5d0c2eb fixup! fix Mat impl Index<Range> 2022-12-21 20:56:36 -05:00
tali e6bf7ec12b Implement a couple straightforward heuristics 2022-12-21 16:31:52 -05:00
tali f76cc06bc9 Add "best" subcommand to CLI to invoke AI core 2022-12-20 11:19:31 -05:00
tali 90dcc2555a Create initial AI engine core 2022-12-20 11:19:31 -05:00
tali dfd8d9f399 Add node script for calling into fish-cli with fumens 2022-12-20 11:19:31 -05:00
tali 2f80606eb7 Create fish cli, "list" command 2022-12-20 11:19:31 -05:00
tali 370a0329b9 Add some types to be serialized over IO 2022-12-20 11:12:05 -05:00
tali d30f413949 Index operator overloads for Mat 2022-12-20 11:09:42 -05:00
tali 4240c91a34 Add MatBuf::fill_row(), Piece::fill() 2022-12-18 19:18:19 -05:00
tali 21f6b25de0 Create MatBuf abstraction for mutable matrix types 2022-12-18 18:57:10 -05:00
tali aade234881 Create DFS find_locations algorithm 2022-12-16 10:22:27 -05:00
tali 0190bdce66 Initialize "fish" crate 2022-12-16 10:22:27 -05:00
tali aee42c7ddf impl Debug for Mat 2022-12-16 10:22:27 -05:00
tali 1eee852191 Add conversions between srs::PieceType and char,str 2022-12-16 10:22:18 -05:00
tali b5e20e14a2 Clean up code in mino-code-gen and make sure it is deterministic 2022-12-15 15:12:33 -05:00
tali 0d52d6b1b5 Rename a lot of stuff related to piece types
- srs::Shape => srs::PieceType

- Piece.shape => Piece.ty

- Piece<S> => Piece<T>
2022-12-15 14:53:06 -05:00
tali 41df73bafc Export Movement and some useful Movement aliases 2022-12-14 15:55:27 -05:00
tali af682d88ff Custom Loc debug formatter 2022-12-14 15:55:27 -05:00
tali 8291a07ee4 Derive Hash for many data types 2022-12-14 15:55:27 -05:00
tali 096189373c impl From<(x,y,r)> for Loc 2022-12-14 15:55:27 -05:00
tali b3d9e3c476 Add test that cells() can be equal for different rotation states 2022-12-14 15:55:27 -05:00
tali 1dcf36ef6f impl Debug for Cells 2022-12-14 15:55:27 -05:00
tali 583b6b64f8 Code gen SRS spawn location constant 2022-12-14 15:03:37 -05:00
tali aefa1deb6a Add Piece::spawn() function, Spawn trait 2022-12-14 13:36:13 -05:00
tali 614c183234 Add input::Movement enum 2022-12-14 13:34:46 -05:00
tali 4b9d10699f Implement SRS kicks code gen 2022-12-14 13:34:46 -05:00
tali 6726326ec8 Add input::rotate(), Kicks trait 2022-12-14 13:34:46 -05:00
tali c5f7d9d622 Add input::drop(), shift() operations 2022-12-14 13:34:46 -05:00
tali eebbde71b9 Make Cells::translate a pure function 2022-12-14 13:34:46 -05:00
tali 1075546dd8 Add back Spin type in new submodule 'input' 2022-12-14 13:34:46 -05:00
tali 2dc972c756 Move Loc, Rot types to inside piece.rs 2022-12-14 12:59:45 -05:00
tali c5ca155ad2 Add SRS shape implementations via build time code-gen 2022-12-14 12:59:45 -05:00
tali 04484b38da Check in SRS specification file 2022-12-14 12:58:43 -05:00
tali f33a60d24d Make extern crate alloc centralized 2022-12-14 12:58:43 -05:00