diff --git a/board/src/board.rs b/board/src/board.rs index 036d4ee..b602237 100644 --- a/board/src/board.rs +++ b/board/src/board.rs @@ -135,17 +135,10 @@ impl Board { } #[must_use] - pub fn piece_on_square(&self, sq: Square) -> Option { - for color in Color::iter() { - for shape in Shape::iter() { - let piece = Piece::new(*color, *shape); - if self.pieces.bitboard_for_piece(&piece).is_set(sq) { - return Some(PlacedPiece::new(piece, sq)); - } - } - } - - None + pub fn piece_on_square(&self, square: Square) -> Option { + self.pieces + .get(square) + .map(|piece| PlacedPiece::new(piece, square)) } #[must_use]