[board] Implement a PositionBuilder; refactor piece bitboards into a PieceBitBoards struct
This makes Position immutable, even if declared mut. I think this will also make it easier to build positions going forward. Moving to a PieceBitBoards struct also required a lot of places that return owned BitBoards to return refs. This is basically fine except for adding a few more & here and there. This was a huge refactoring project. All the move generators and a bunch of BitBoard stuff needed to be updated.
This commit is contained in:
parent
939fac80d7
commit
24cce95a88
17 changed files with 472 additions and 381 deletions
|
@ -13,8 +13,9 @@ pub mod position;
|
|||
mod sight;
|
||||
mod square;
|
||||
|
||||
pub use position::Position;
|
||||
pub use r#move::{Move, MoveBuilder};
|
||||
pub use piece::{Color, Piece};
|
||||
pub use position::{Position, PositionBuilder};
|
||||
pub use r#move::{MakeMoveError, Move, MoveBuilder};
|
||||
pub use square::{File, Rank, Square};
|
||||
|
||||
pub(crate) use bitboard::BitBoard;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue