create BitBoard::DIRECTIONS

This commit is contained in:
2025-03-04 14:13:37 -05:00
parent 2dc9bbd822
commit 3341b1b411
2 changed files with 13 additions and 13 deletions

View File

@@ -79,6 +79,18 @@ impl BitBoard {
self.south().west() self.south().west()
} }
/// All direction methods
pub const DIRECTIONS: [fn(&Self) -> Self; 8] = [
BitBoard::east,
BitBoard::west,
BitBoard::north,
BitBoard::south,
BitBoard::northeast,
BitBoard::northwest,
BitBoard::southeast,
BitBoard::southwest,
];
// Mask for a specific column (e.g., col_mask(7) = 0x8080808080808080) // Mask for a specific column (e.g., col_mask(7) = 0x8080808080808080)
const fn col_mask(col: CoordAxis) -> Self { const fn col_mask(col: CoordAxis) -> Self {
let mut mask = 0; let mut mask = 0;

View File

@@ -277,19 +277,7 @@ impl Board {
let mut flip_mask = BitBoard::new(); let mut flip_mask = BitBoard::new();
let seed = BitBoard::from_coord(coords); let seed = BitBoard::from_coord(coords);
// Directions to check: east, west, north, south, and diagonals for dir in BitBoard::DIRECTIONS {
let directions = [
BitBoard::east,
BitBoard::west,
BitBoard::north,
BitBoard::south,
BitBoard::northeast,
BitBoard::northwest,
BitBoard::southeast,
BitBoard::southwest,
];
for dir in directions {
let mut current = seed; let mut current = seed;
let mut temp_flips = BitBoard::new(); let mut temp_flips = BitBoard::new();