diff options
| author | Adam <adammegarules1@gmail.com> | 2026-07-31 19:07:24 +0200 |
|---|---|---|
| committer | Adam <adammegarules1@gmail.com> | 2026-07-31 19:07:24 +0200 |
| commit | c437220aab7b908995a87cf958d9a67e54d478cb (patch) | |
| tree | b87f0ce44bc91d6cef834b4e94e01548a7306826 /src/board/board.cpp | |
| parent | a90ba2e3ef8010692d9b94f51ba03d19e7bcb457 (diff) | |
keeping track of were all the pieces are
Diffstat (limited to 'src/board/board.cpp')
| -rw-r--r-- | src/board/board.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/board/board.cpp b/src/board/board.cpp index 92d448d..cb9254e 100644 --- a/src/board/board.cpp +++ b/src/board/board.cpp @@ -195,7 +195,7 @@ UndoMove MakeMove(Move move, Game *g) { if (g->halfMoveClock >= 50) { g->state = DRAW; } - + UpdateBitboards(g); return undo; }; void UnMakeMove(UndoMove undo, Game *g) { @@ -251,4 +251,15 @@ void UnMakeMove(UndoMove undo, Game *g) { if (g->ThreeFoldMap[undo.ZobristKey] <= 0) { g->ThreeFoldMap.erase(undo.ZobristKey); }; + UpdateBitboards(g); }; +void UpdateBitboards(Game *g) { + g->PieceBitboard = 0; + for (int i = 0; i < 64; i++) { + Piece piece = g->pieces[i]; + if (piece.type == NONEPIECE) { + continue; + } + g->PieceBitboard |= (1ULL << i); + } +} |
