From 86273330cd6e09b1fe4b9c6efbfb9c56033e28bd Mon Sep 17 00:00:00 2001 From: Mike White Date: Sat, 18 Sep 2021 22:49:34 -0400 Subject: Created a transposition table and fixed some bugs --- model/src/possible_moves.rs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'model/src/possible_moves.rs') diff --git a/model/src/possible_moves.rs b/model/src/possible_moves.rs index 7d32a27..03950c2 100644 --- a/model/src/possible_moves.rs +++ b/model/src/possible_moves.rs @@ -370,18 +370,14 @@ impl PossibleMoves { let friendly_pieces = board.pieces_bits() & board.color_bits(); let friendly_kings = friendly_pieces & board.king_bits(); - let forward_left_movers = - not_occupied.rotate_right(7) & friendly_pieces & FORWARD_LEFT_MASK; - let forward_right_movers = - not_occupied.rotate_right(1) & friendly_pieces & FORWARD_RIGHT_MASK; + let forward_left_movers = not_occupied.rotate_right(7) & friendly_pieces; + let forward_right_movers = not_occupied.rotate_right(1) & friendly_pieces; let backward_left_movers; let backward_right_movers; if friendly_kings > 0 { - backward_left_movers = - not_occupied.rotate_left(1) & friendly_kings & BACKWARD_LEFT_MASK; - backward_right_movers = - not_occupied.rotate_left(7) & friendly_kings & BACKWARD_RIGHT_MASK; + backward_left_movers = not_occupied.rotate_left(1) & friendly_kings; + backward_right_movers = not_occupied.rotate_left(7) & friendly_kings; } else { backward_left_movers = 0; backward_right_movers = 0; @@ -405,17 +401,14 @@ impl PossibleMoves { let friendly_pieces = board.pieces_bits() & !board.color_bits(); let friendly_kings = friendly_pieces & board.king_bits(); - let backward_left_movers = - not_occupied.rotate_left(1) & friendly_pieces & BACKWARD_LEFT_MASK; - let backward_right_movers = - not_occupied.rotate_left(7) & friendly_pieces & BACKWARD_RIGHT_MASK; + let backward_left_movers = not_occupied.rotate_left(1) & friendly_pieces; + let backward_right_movers = not_occupied.rotate_left(7) & friendly_pieces; let forward_left_movers; let forward_right_movers; if friendly_kings > 0 { - forward_left_movers = not_occupied.rotate_right(7) & friendly_kings & FORWARD_LEFT_MASK; - forward_right_movers = - not_occupied.rotate_right(1) & friendly_kings & FORWARD_RIGHT_MASK; + forward_left_movers = not_occupied.rotate_right(7) & friendly_kings; + forward_right_movers = not_occupied.rotate_right(1) & friendly_kings; } else { forward_left_movers = 0; forward_right_movers = 0; -- cgit v1.2.3