diff options
Diffstat (limited to 'src/board')
| -rw-r--r-- | src/board/board.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/board/board.cpp b/src/board/board.cpp index 28183a2..ab00e4a 100644 --- a/src/board/board.cpp +++ b/src/board/board.cpp @@ -92,8 +92,7 @@ UndoMove MakeMove(Move move, Game *g) { } // Promotions - if (piece.type == PAWN && move.To.rank == (piece.color ? 0 : 7)) { - // TODO parse the promote type from uci isntead of ignoreting it + if (piece.type == PAWN && move.To.rank == (piece.color ? 7 : 0)) { piece.type = move.promotion == NONEPIECE ? QUEEN : move.promotion; } @@ -168,34 +167,37 @@ UndoMove MakeMove(Move move, Game *g) { // this part was written by ai if (piece.type == ROOK) { - if (piece.color) { // White - if (move.From.rank == 7 && move.From.file == 0) // a1 + if (piece.color) { // White + if (move.From.rank == 0 && move.From.file == 0) { // a1 g->whiteCastleQueen = false; - - if (move.From.rank == 7 && move.From.file == 7) // h1 + } + if (move.From.rank == 0 && move.From.file == 7) { // h1 g->whiteCastleKing = false; - } else { // Black - if (move.From.rank == 0 && move.From.file == 0) // a8 + } + } else { // Black + if (move.From.rank == 7 && move.From.file == 0) { // a8 g->blackCastleQueen = false; + } - if (move.From.rank == 0 && move.From.file == 7) // h8 + if (move.From.rank == 7 && move.From.file == 7) { // h8 g->blackCastleKing = false; + } } } // this part is also written with ai if (piece2.type == ROOK) { if (piece2.color) { // White rook captured - if (move.To.rank == 7 && move.To.file == 0) // a1 + if (move.To.rank == 0 && move.To.file == 0) // a1 g->whiteCastleQueen = false; - if (move.To.rank == 7 && move.To.file == 7) // h1 + if (move.To.rank == 0 && move.To.file == 7) // h1 g->whiteCastleKing = false; } else { // Black rook captured - if (move.To.rank == 0 && move.To.file == 0) // a8 + if (move.To.rank == 7 && move.To.file == 0) // a8 g->blackCastleQueen = false; - if (move.To.rank == 0 && move.To.file == 7) // h8 + if (move.To.rank == 7 && move.To.file == 7) // h8 g->blackCastleKing = false; } } |
