From 164e52ffe3b4ea5e47a3c25cf2c7f082c03ba80e Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 30 Jul 2026 14:51:49 +0200 Subject: making bot better and 50 move rule aware --- src/moves.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/moves.cpp') diff --git a/src/moves.cpp b/src/moves.cpp index c5c5b85..d5ad989 100644 --- a/src/moves.cpp +++ b/src/moves.cpp @@ -164,16 +164,19 @@ std::vector GetLegalMoves(Game *g) { } } - return legalMoves; + return legalMoves; } GameState GetNewGameState(Game *g) { - auto legalMoves = GetLegalMoves(g); - // make sure we dont override game ending states if (g->state == DRAW || g->state == STALEMATE || g->state == WHITE_WON || g->state == BLACK_WON) { return g->state; } + if (g->halfMoveClock >= 50) { + g->state = DRAW; + } + + auto legalMoves = GetLegalMoves(g); if (legalMoves.empty()) { Position kingPosition = FindKing(g, g->turn); @@ -186,7 +189,7 @@ GameState GetNewGameState(Game *g) { g->state = STALEMATE; } } - return TURN; + return g->state; } bool IsSquareAttacked(Game *g, Position square, bool white) { int target = PositionToIndex(square); -- cgit v1.2.3