Commit graph

12 commits

Author SHA1 Message Date
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