aboutsummaryrefslogtreecommitdiff
path: root/src/board/board.cpp
diff options
context:
space:
mode:
authorAdam <adammegarules1@gmail.com>2026-07-31 19:07:24 +0200
committerAdam <adammegarules1@gmail.com>2026-07-31 19:07:24 +0200
commitc437220aab7b908995a87cf958d9a67e54d478cb (patch)
treeb87f0ce44bc91d6cef834b4e94e01548a7306826 /src/board/board.cpp
parenta90ba2e3ef8010692d9b94f51ba03d19e7bcb457 (diff)
keeping track of were all the pieces are
Diffstat (limited to 'src/board/board.cpp')
-rw-r--r--src/board/board.cpp13
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);
+ }
+}