0abe9b6c19
[board, position] Add a color argument to opposing_sight
...
New convention: active_color_ methods operate on the active color of the Board.
Methods without that prefix take a color parameter and operate on that.
Refactor opposing_sight to do this.
2025-05-23 09:56:47 -07:00
dbca7b4f88
[position, board] Move castle, movement, and sight modules to the board crate
...
Nothing about this code depends on Position, so push it down to a lower layer.
2025-05-21 10:08:59 -07:00
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