220da08727
Directly rename board -> position
2024-01-28 09:56:57 -08:00
66d03d3514
[board] Clean up a bunch of imports
2024-01-28 09:46:38 -08:00
164fe94bc0
[board] Implement danger squares for the current player
...
This concept comes from [1]. Danger squares are the squares a king cannot move to
because it would permit the opposing player to capture the king on their next
turn.
[1]: https://peterellisjones.com/posts/generating-legal-chess-moves-efficiently/
2024-01-28 09:08:22 -08:00
8b2a3926b3
[core,board] Move board::piece to core
...
Break up types in core into finer grained modules.
Update all the imports.
2024-01-24 17:08:27 -08:00
6f85305912
[board] Clean up a bunch of build errors
...
Fix imports to refer to core and bitboard crates.
Fix some API use errors.
2024-01-24 09:18:12 -08:00
b0b22048a8
[core] Rename (once again) chess_core → chessfriend_core
2024-01-24 08:48:19 -08:00
106800bcb3
[core,board] Update all use imports referring to Square, Rank, and File
2024-01-24 08:32:09 -08:00
704ee2f425
[board] Implement a test_position macro that prints a Position after it builds it
...
Update the sight tests to use test_position!
Remove a stray leftover mut.
Clean up the test imports.
2024-01-21 13:06:44 -08:00
8835d8b40e
[board] Add position::tests::rook_for_castle
2024-01-21 10:39:24 -08:00
32ee25539d
[board] Fix some en passant related stuff in the the sight module
2024-01-21 09:21:27 -08:00
3ba6722697
[board] Implement a bunch of sight tests
2024-01-17 08:44:27 -08:00
3ecc263701
[board] Implement piece sight algorithms
...
Add a new Sight trait, implemented by PlacedPiece. The implementation of this
trait produces a BitBoard representing the squares visible to the placed piece.
2024-01-15 16:03:06 -08:00