I wrote a test for capturing en passant that revealed some bugs. Cool! Implement the missing part of move validation that checks for an en passant move. Implement PositionBuilder::to_move() to set player_to_move. The most difficult part of this fix was finding the logic error in Move::is_en_passant(). Instead of checking for non-zero, check for equality against the en passant flag value. Checking for non-zero was causing this method to return true in the double push case. |
||
---|---|---|
.. | ||
src | ||
Cargo.lock | ||
Cargo.toml |