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; } }