diff options
| author | Adam <adammegarules1@gmail.com> | 2026-07-30 14:51:49 +0200 |
|---|---|---|
| committer | Adam <adammegarules1@gmail.com> | 2026-07-30 14:51:49 +0200 |
| commit | 164e52ffe3b4ea5e47a3c25cf2c7f082c03ba80e (patch) | |
| tree | a5a534e3fb53bd88b26feea3597a546d5bb08dc2 /src/moves.cpp | |
| parent | bdb770f7b678591a1516ee2b987d5ba22d5cdb23 (diff) | |
making bot better and 50 move rule aware
Diffstat (limited to 'src/moves.cpp')
| -rw-r--r-- | src/moves.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
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<Move> 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); |
