diff --git a/src/repr/board.rs b/src/repr/board.rs index 0dcfc1d..673b3b0 100644 --- a/src/repr/board.rs +++ b/src/repr/board.rs @@ -286,8 +286,8 @@ impl Board { let seed = BitBoard::from_coord(coords); macro_rules! apply_dir { - ($base:expr, $sum_mask:expr, $dir:expr) => { - let mut current = $base; + ($dir:expr) => { + let mut current = seed; let mut temp_flips = BitBoard::new(); // Expand in direction until edge or non-opponent piece @@ -303,19 +303,19 @@ impl Board { // If terminated on a player piece, keep the flips if current.intersects(*player_board) { - $sum_mask.bitor_assign(temp_flips); + flip_mask.bitor_assign(temp_flips); } }; } - apply_dir!(seed, flip_mask, BitBoard::east); - apply_dir!(seed, flip_mask, BitBoard::west); - apply_dir!(seed, flip_mask, BitBoard::north); - apply_dir!(seed, flip_mask, BitBoard::south); - apply_dir!(seed, flip_mask, BitBoard::northeast); - apply_dir!(seed, flip_mask, BitBoard::northwest); - apply_dir!(seed, flip_mask, BitBoard::southeast); - apply_dir!(seed, flip_mask, BitBoard::southwest); + apply_dir!(BitBoard::east); + apply_dir!(BitBoard::west); + apply_dir!(BitBoard::north); + apply_dir!(BitBoard::south); + apply_dir!(BitBoard::northeast); + apply_dir!(BitBoard::northwest); + apply_dir!(BitBoard::southeast); + apply_dir!(BitBoard::southwest); flip_mask }