diff options
Diffstat (limited to 'src/ChessArbiter.cpp')
| -rw-r--r-- | src/ChessArbiter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ChessArbiter.cpp b/src/ChessArbiter.cpp index 21d0bfa..18e1e1c 100644 --- a/src/ChessArbiter.cpp +++ b/src/ChessArbiter.cpp @@ -110,6 +110,13 @@ bool ChessArbiter::Play(std::string move) { } else if (!fen.player && (dst[1] - src[1] == 2)) { newFen.en_passant = src[0] + std::string() + (char)(src[1] + 1); } + if (dst == fen.en_passant) { + if (fen.player) { + board.RemovePiece(dst[0] + std::string() + (char)(dst[1] + 1)); + } else { + board.RemovePiece(dst[0] + std::string() + (char)(dst[1] - 1)); + } + } newFen.halfmove = 0; // Pawn moves reset half moves } // Captures reset half moves |
