I checked the code and there was an issue with my "Is the player in check" code. I test whether the player is in check by looking at their king and finding out if any of the enemies pieces can attack it. It seems I forgot to check if the enemy king can attack your king. I added that check and have it working. I'll put an update out soon.
Sounds good. Thanks for fixing the bug.
I have identified another bug, in this case with the player not always being allowed to do the en passant move. Sometimes it works, and sometimes it doesn't; I don't know the conditions that prevent an en passant move from being permitted, but I have an example.
Image 1: The AI player moves a pawn two spaces forward.
Images 2 & 3: The human player's adjacent pawns that each are in a position to perform an en passant move are not given that move as an option.
