summaryrefslogtreecommitdiff
path: root/ai/src
diff options
context:
space:
mode:
Diffstat (limited to 'ai/src')
-rw-r--r--ai/src/lib.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/ai/src/lib.rs b/ai/src/lib.rs
index 426ee47..21fcf1e 100644
--- a/ai/src/lib.rs
+++ b/ai/src/lib.rs
@@ -142,9 +142,11 @@ pub fn best_move(depth: usize, board: CheckersBitBoard) -> Move {
let mut best_eval = 0.0;
let mut best_move = MaybeUninit::uninit();
for current_move in PossibleMoves::moves(board) {
- let current_eval = eval_multithreaded(depth - 1, best_eval, 1.0, unsafe {
- current_move.apply_to(board)
- });
+ let new_board = unsafe { current_move.apply_to(board) };
+ let mut current_eval = eval_multithreaded(depth - 1, best_eval, 1.0, new_board);
+ if new_board.turn() != board.turn() {
+ current_eval = 1.0 - current_eval;
+ }
if current_eval > best_eval {
best_eval = current_eval;
best_move = MaybeUninit::new(current_move);