aboutsummaryrefslogtreecommitdiff
path: root/src/board.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/board.cpp')
-rw-r--r--src/board.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/board.cpp b/src/board.cpp
index a74c5dc..724f8ca 100644
--- a/src/board.cpp
+++ b/src/board.cpp
@@ -90,6 +90,8 @@ void printBoard(Board *b) {
std::println("Can enpassant: {}", b->canEnpassant ? "Yes" : "No");
std::println("Where enpassant: {}{}", (char)((int)b->enPassant.file + 'A'),
8 - (int)b->enPassant.rank);
+ std::printf("Move clock: %d\n", b->MoveClock);
+ std::printf("Half move clock: %d\n", b->halfMoveClock);
}
void PlayMove(Move move, Board *b) {
@@ -102,7 +104,7 @@ void PlayMove(Move move, Board *b) {
}
}
piece.moved = true;
- if (piece.type == PAWN || piece2.type == NONE) {
+ if (piece.type == PAWN || piece2.type != NONE) {
b->halfMoveClock = 0;
} else {
b->halfMoveClock++;
@@ -125,10 +127,9 @@ void PlayMove(Move move, Board *b) {
target.rank += piece.color ? -1 : 1;
b->enPassant = target;
};
-
- b->pieces[PositionToIndex(move.To)] = piece;
- b->pieces[PositionToIndex(move.From)] = {false, NONE, false};
- return;
}
+
+ b->pieces[PositionToIndex(move.To)] = piece;
+ b->pieces[PositionToIndex(move.From)] = {false, NONE, false};
};
int PositionToIndex(Position i) { return i.rank * 8 + i.file; }