diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-24 16:42:35 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-24 16:42:35 +0100 |
| commit | 90050da015f3988ab3188eb19629aed262454fef (patch) | |
| tree | b63fadc9b4cf15cc4bc80f06c6e5102e24438f83 /src/ChessArbiter.cpp | |
| parent | 975ad849d1d1474e601ad2f4bf48ea0e4405251c (diff) | |
Debug pawns moves
Diffstat (limited to 'src/ChessArbiter.cpp')
| -rw-r--r-- | src/ChessArbiter.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/ChessArbiter.cpp b/src/ChessArbiter.cpp index 57f280f..fe83662 100644 --- a/src/ChessArbiter.cpp +++ b/src/ChessArbiter.cpp @@ -309,12 +309,16 @@ std::vector<std::string> ChessArbiter::ListLegalMoves(bool isBlack) { bool IsDstEmpty = board.IsEmpty(dst); // Pawns side moves - if ((srcp.piece == 'p' || srcp.piece == 'P') && (src[0] != dst[0])) { - if (!IsDstEmpty) { - Piece attacked = board.GetPieceAt(dst); - if (srcp.isBlack != attacked.isBlack) + if (srcp.piece == 'p' || srcp.piece == 'P') { + if ((src[0] != dst[0])) { + if (!IsDstEmpty) { + Piece attacked = board.GetPieceAt(dst); + if (srcp.isBlack != attacked.isBlack) + moves.push_back(move); + } else if (dst == fen.en_passant) { moves.push_back(move); - } else if (dst == fen.en_passant) { + } + } else if (IsDstEmpty) { moves.push_back(move); } } else { |
