From 6b935296b7f29f59f584d97eff64f75251528b59 Mon Sep 17 00:00:00 2001 From: Mark Bluemer Date: Tue, 2 May 2017 11:54:13 -0400 Subject: [PATCH] fixed alpha beta --- src/MinimaxSearch.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/MinimaxSearch.cpp b/src/MinimaxSearch.cpp index 0869ee2..9acaeff 100644 --- a/src/MinimaxSearch.cpp +++ b/src/MinimaxSearch.cpp @@ -40,21 +40,19 @@ double MinimaxSearch::alphaBeta(bup &board, double alpha, double beta, int depth // // black is max player here double v; - if (board->player() == "black") { + if (board->getIsBlacksTurn()) { v = std::numeric_limits::lowest(); for (mup &move : board->actions()) { bup result = board->result(move); - v = std::max(v, alphaBeta(result, alpha, beta, depth + 1)); - if (v >= beta) return v; - alpha = std::max(alpha, v); + alpha = std::max(alpha, alphaBeta(result, alpha, beta, depth + 1)); + if (beta <= alpha) return beta; } } else { v = std::numeric_limits::max(); for (mup &move : board->actions()) { bup result = board->result(move); - v = std::min(v, alphaBeta(result, alpha, beta, depth + 1)); - if (v <= alpha) return v; - beta = std::min(beta, v); + beta = std::min(beta, alphaBeta(result, alpha, beta, depth + 1)); + if (beta <= alpha) return alpha; } }