1a7763e1f4
Add 'ChessBoard::at'
continuous-integration/drone/push Build is passing
2022-07-30 12:38:45 +02:00
87258c1084
Add 'ChessBoard::checkers'
2022-07-30 12:38:45 +02:00
168d9e69ab
Test for opponent being in check during validation
2022-07-30 12:38:45 +02:00
f13d44b8e3
Add 'Bitboard::has_more_than_one'
2022-07-30 12:38:45 +02:00
cb3b1ee745
Check kings' position in 'ChessBoard::is_valid'
2022-07-30 12:38:45 +02:00
934597d63d
Add 'Bitboard::try_into_square'
2022-07-30 12:38:45 +02:00
024a41fa18
Use unchecked conversion in 'BitboardIterator
2022-07-30 12:38:45 +02:00
eefa707c07
Silence useless clippy warnings
...
Those warnings are either explicitly accounted for in the code, or make
the code look worse if fixed.
2022-07-30 12:38:45 +02:00
2e410ba104
Make use of assignment operators for 'Bitboard'
2022-07-30 12:38:45 +02:00
a6e8ac06b6
Add dummy 'magic::moves' module for build script
...
Since I'm am doing something quite *weird*, by writing a build script
that makes use of the module I am generating code for, I need to ensure
that it compiles both without the generated code, and with it.
So this dummy implementation of the module ensures that the code will
keep compiling in both cases, and panics if any of the functions that
depend on generated code are called during the build script execution.
2022-07-30 12:38:45 +02:00
99129e453c
Make use of 'ChessBoard::default' in tests
2022-07-30 12:38:45 +02:00
9cddda7478
Implement 'Default' for 'ChessBoard'
2022-07-30 12:38:45 +02:00
b5bb613b5e
Test 'ChessBoard::{do,undo}_move' machinery
2022-07-30 12:38:45 +02:00
0cefb05017
Add FEN board parsing
2022-07-30 12:38:45 +02:00
fb0e289fa0
Add 'ChessBoard::is_valid'
2022-07-30 12:38:45 +02:00
384f361da2
Add 'ChessBoard'
2022-07-30 12:38:45 +02:00
f633c6e224
Mark'Error' as non-exhaustive
...
This simplifies semantic versionning constraints.
2022-07-30 12:38:45 +02:00
08ff8db0ac
Add 'Error::InvalidPosition' variant
2022-07-30 12:38:45 +02:00
76577718d8
Add FEN castling rights parsing
2022-07-30 12:38:45 +02:00
7df442e03c
Add FEN piece type parsing
2022-07-30 12:38:45 +02:00
dba4d94e35
Add FEN en-passant target square parsing
2022-07-28 20:28:45 +02:00
6f0e2f732b
Add FEN side to move parsing
2022-07-28 20:28:45 +02:00
611e12c033
Add 'Color::third_rank'
2022-07-28 20:28:45 +02:00
dde5b69f81
Add 'FromFen' trait
2022-07-28 20:28:45 +02:00
7e23cb8f77
Introduce 'Error' enum
2022-07-28 20:28:45 +02:00
8102b08cf0
Add 'CastleRights::with_{king,queen}_side'
2022-07-28 20:28:45 +02:00
e7e5927902
Add 'Move'
2022-07-28 20:28:45 +02:00
80e3ace8fc
Add '*Assign' operators to 'Bitboard'
2022-07-27 23:36:54 +02:00
02d48fe526
Remove all useless 'allow(unused)'
2022-07-27 23:36:54 +02:00
915244b238
Add 'rerun-if-changed' directives to build script
2022-07-27 23:36:54 +02:00
d2c61a81b5
Make use of generated move tables
2022-07-27 23:36:54 +02:00
bd43535192
Move naive move generation into sub-module
2022-07-27 23:36:53 +02:00
8289204e4b
Generate magic tables with build script
2022-07-27 23:36:53 +02:00
d2eda07036
Make all modules at least 'pub(crate)'
2022-07-27 23:36:53 +02:00
0222ec4c2d
Add 'Color::iter'
2022-07-27 23:36:53 +02:00
d97e7d646e
Move 'Magic' into 'seer::movegen::magic'
2022-07-27 23:36:53 +02:00
7dbe48ad23
Add '# Safety' section to 'unsafe fn' doc
2022-07-25 16:42:46 +02:00
2eb7e4c8ef
Allow some clippy warnings
2022-07-25 16:42:46 +02:00
1a0aa5fddb
Remove superfluous 'format!' call
2022-07-25 16:42:46 +02:00
a04b1f3a42
Add magic bitboard generation
2022-07-25 16:42:46 +02:00
3f00c6d1fc
Make 'Magic' fields 'pub(crate)'
2022-07-25 16:42:46 +02:00
5bee69c38e
Add 'flake check' stage to CI
...
Now that the 'pre-commit' is in another stage, add this one back in.
2022-07-25 16:42:46 +02:00
ae1c3322d5
Remove 'pre-commit' check from flake
...
Since trying to run it results into a failure due to 'clippy' trying to
fetch the network inside the build sandbox, remove it from the 'checks'
for now, but do keep it around for its 'shellHook'.
2022-07-25 16:41:27 +02:00
c8d7c17711
Fix pre-commit check in CI
...
Now that we have actual dependencies, we need to run 'pre-commit run'
outside of the build sandbox.
2022-07-25 16:36:44 +02:00
7a120cee83
Add 'random' dependency
2022-07-24 16:34:12 +02:00
acbbfc7c8b
Add magic mask generation
2022-07-24 16:34:12 +02:00
6b0563b1bd
Add 'Magic' type
2022-07-24 16:34:12 +02:00
847e18dac1
Add naive pawn move generation
2022-07-24 16:34:12 +02:00
dbe3539a66
Add naive rook move generation
2022-07-22 10:37:12 +02:00
5101d8c285
Add naive bishop move generation
2022-07-22 10:37:12 +02:00