[board] Implement a couple handy piece getters
Board::find_pieces returns a BitBoard for all the pieces matching the given Piece. Board::enemies returns a BitBoard of all the enemy pieces of a given Color. Board::pawns returns a BitBoard of all the pawns of a given Color.
This commit is contained in:
parent
c02f0170b9
commit
1da08df430
1 changed files with 13 additions and 0 deletions
|
@ -63,6 +63,10 @@ impl Board {
|
||||||
self.pieces.get(square)
|
self.pieces.get(square)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn find_pieces(&self, piece: Piece) -> BitBoard {
|
||||||
|
self.pieces.find_pieces(piece)
|
||||||
|
}
|
||||||
|
|
||||||
/// Place a piece on the board.
|
/// Place a piece on the board.
|
||||||
///
|
///
|
||||||
/// ## Errors
|
/// ## Errors
|
||||||
|
@ -102,6 +106,15 @@ impl Board {
|
||||||
pub fn opposing_occupancy(&self, color: Color) -> BitBoard {
|
pub fn opposing_occupancy(&self, color: Color) -> BitBoard {
|
||||||
self.pieces.opposing_occupancy(color)
|
self.pieces.opposing_occupancy(color)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn enemies(&self, color: Color) -> BitBoard {
|
||||||
|
self.pieces.opposing_occupancy(color)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Return a [`BitBoard`] of all pawns of a given color.
|
||||||
|
pub fn pawns(&self, color: Color) -> BitBoard {
|
||||||
|
self.pieces.find_pieces(Piece::pawn(color))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Board {
|
impl Board {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue