3b5b2f16a3
[board] Add occupancy methods that return BitBoards
2025-05-16 07:47:28 -07:00
091cc99cb3
WIP
2025-05-08 17:37:51 -07:00
867deafd13
[board] A ton of API refinements
2025-05-03 16:02:56 -07:00
b0c4039920
[board] Remove Board::new()
2025-05-02 15:42:06 -07:00
bb8d5a6aa3
[board] Replace Flags with castle::Rights
2025-05-02 15:41:45 -07:00
cd60a453aa
[board] Replace active player and move properties on Board with MoveCounter instance
2025-05-02 15:18:37 -07:00
30188d478e
[board] Convert &BitBoard to BitBoard for several Board methods
...
I don't think passing by reference buys much for BitBoard. So simplify the
logic and borrowing semantics to make these easier to work with.
2024-07-13 12:03:19 -07:00
7ec72035ae
[board] Remove en passant test helper method
2024-07-13 12:01:01 -07:00
d221de700d
[board] Copy edit and add new documentation to Board
2024-07-13 12:00:02 -07:00
c297e4cbfa
[board] Replace implementation of Board::piece_on_square with a simpler one
...
Now that board has a Mailbox, the implementation of this routine can be greatly
simplified. Instead of needing to iterate through all BitBoards to find the
occupied square, just consult the mailbox.
2024-07-13 11:57:57 -07:00
3785502ea0
[board] Declare Board::flags() pub(crate) instead of pub
2024-07-13 11:56:31 -07:00
26ae79e17d
[board] Remove explicit #[inline] from several Board methods
...
Trust the compiler to inline where appropriate, until I know otherwise.
2024-07-13 11:54:58 -07:00
da4e2f1d50
[core] Use Color::default() instead of Color::White in Board::default()
2024-07-13 11:52:25 -07:00
90e33d1202
[board] Replace Pieces iterator with Mailbox::iter()
...
Mailbox can use a standard iterator because it's just a slice. So nice!
2024-07-13 11:52:02 -07:00
51de32fa0a
[board] Update reference to PieceBitBoard → PieceSet
...
This isn't all of them...
2024-07-13 11:50:38 -07:00
1d82d27f84
Move a whole bunch of stuff to the new chessfriend_board package
2024-04-25 13:28:24 -07:00