chess_console icon indicating copy to clipboard operation
chess_console copied to clipboard

bug regarding pawn captures

Open michelflatres opened this issue 1 year ago • 0 comments

When a white pawn is in row 5 (or row 4 for black) and an opponent pawn on a adjacent column is still in is starting position (row 2 or 7 for white or black), if the opponent move one square forward (instead of the 2 required for en passant), the game will say that capturing it is an illegal move, even though it's perfectly legal, it has nothing different than any other pawn capture. The issue is that the "else if" condition is met (the pawn is on the required row), but further conditions are not met (opponent pawn moving 2 square), meaning that the program consider true the condition for the else if, therefore skipping the following else if, where normal diagonal pawn capture is implemented. To fix this I separated these parts, so that en passant and pawn capture aren't anymore connected in the same else if chain.

michelflatres avatar Dec 17 '24 20:12 michelflatres