aboutsummaryrefslogtreecommitdiff
path: root/src/board/board.cpp
diff options
context:
space:
mode:
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);
+ }
+}