-
Notifications
You must be signed in to change notification settings - Fork 0
Description
I was originally planning on wholly ignoring en Passant:
En Passant is a complicated move, thus rendering the marginal increased AI performance not worth the extra implementation effort.
Why, then am I doing En Passant, rendering my Non-AI slightly more complicated?
Ah, but it isn't "Can It (the AI) En Passant"? It's "Can It (the chessboard) En Passant"?
The Chessboard doesn't have the AI's constraint to be as cheap and easy-to-implement as possible.
My First suggestion for allowing the CHESSBOARD to En Passant is via ghosts: When a Pawn double-moves, it leaves behind a ghost.
Pawns can only move diagonally when capturing. What the Ghost is there for is to log a tile as "Capturable" according to the "captureMandatory" Enum.
This requires adding something like "can Capture Ghosts" to a move generator's properties.
https://youtu.be/qi0IZrycsMs?si=jFw_HzQr-BCfnfFe&t=173