Commit Graph

45 Commits

Author SHA1 Message Date
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
tali 2c4afe54a0 Add Shape trait, Piece, Cells types 2022-12-14 12:58:43 -05:00
tali fa6aac86f6 Rename types in location.rs 2022-12-14 09:59:05 -05:00
tali 0597b3b538 Add Location, Orientation, Rotation types 2022-12-13 14:20:21 -05:00
tali 91ee995c71 Add ascii matrix macro 2022-12-13 14:20:21 -05:00
tali 908fa77d8a Add matrix datastructure 2022-12-13 14:19:32 -05:00
tali 58956c1983 Initialize `mino` crate 2022-12-13 14:15:39 -05:00