create BitBoard::DIRECTIONS
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user