Commit graph

22 commits

Author SHA1 Message Date
eba64a98d4 Add 'Direction::slide_{square,board}' 2024-04-01 12:21:33 +01:00
5ef6e545f3 Add 'Bitboard::{ANTI_,}DIAGONAL' 2024-04-01 12:21:33 +01:00
21eecbdac9 Add 'Direction::move_square' 2024-04-01 12:21:33 +01:00
be3a8030a7 Add 'Direction::iter_{rook,bishop,royalty,knight}' 2024-04-01 12:21:33 +01:00
d03e251050 Add 'Direction::move_board'
Encapsulates the way to move a piece on a board, avoiding the need to
mask and shift by hand.
2024-04-01 12:21:33 +01:00
c95d7f078a Add 'board::Direction' enum 2024-04-01 12:21:33 +01:00
8e2b7c1714 Use 'Square::index' in 'Square::{file,rank}_index' 2024-04-01 12:21:33 +01:00
be5d2831bd Add 'Square::index' 2024-04-01 12:21:33 +01:00
93d5fe97ed Add 'Bitboard::count' 2024-04-01 12:21:33 +01:00
e48994e7be Add 'Rank::{up,down}' 2024-04-01 12:21:33 +01:00
1c4a093837 Add 'File::{left,right}' 2024-04-01 12:21:33 +01:00
f873b64f15 Add 'Square' constructor from 'File', 'Rank' 2024-04-01 12:21:33 +01:00
47e4e77f6c Don't return 'Bitboard' from 'Square::{file,rank}' 2024-04-01 12:21:33 +01:00
9678180c75 Add 'File' enum 2024-04-01 12:21:33 +01:00
5a35c55091 Add 'Rank' enum 2024-04-01 12:21:33 +01:00
1c78574882 Add GDB pretty-printers 2024-04-01 12:21:33 +01:00
d8f4057a8c Introduce 'Bitboard::ALL' 2024-03-29 01:06:14 +00:00
1235e4a51c Add bitboard iteration
Introduce 'BitboardIterator', use it to implement 'IntoIterator' for
'Bitboard'.
2024-03-29 01:06:14 +00:00
afec72d646 Move 'board::bitboard' into folder module
I will be adding a 'BitboardIterator' type, and it makes more sense to
use a folder for this module at this point.
2024-03-29 01:06:14 +00:00
98efd390a6 Add 'Bitboard' and 'Square' definitions 2024-03-29 01:06:14 +00:00
0d94438b46 Move binary crate into 'bin' folder 2024-03-28 20:31:45 +00:00
65a0939d53 Bootstrap project 2024-03-28 20:30:43 +00:00