create BitBoard::DIRECTIONS
This commit is contained in:
@@ -79,6 +79,18 @@ impl BitBoard {
|
||||
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)
|
||||
const fn col_mask(col: CoordAxis) -> Self {
|
||||
let mut mask = 0;
|
||||
|
||||
@@ -277,19 +277,7 @@ impl Board {
|
||||
let mut flip_mask = BitBoard::new();
|
||||
let seed = BitBoard::from_coord(coords);
|
||||
|
||||
// Directions to check: east, west, north, south, and diagonals
|
||||
let directions = [
|
||||
BitBoard::east,
|
||||
BitBoard::west,
|
||||
BitBoard::north,
|
||||
BitBoard::south,
|
||||
BitBoard::northeast,
|
||||
BitBoard::northwest,
|
||||
BitBoard::southeast,
|
||||
BitBoard::southwest,
|
||||
];
|
||||
|
||||
for dir in directions {
|
||||
for dir in BitBoard::DIRECTIONS {
|
||||
let mut current = seed;
|
||||
let mut temp_flips = BitBoard::new();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user