feat: NCS-9 En passant implementation #8

Merged
Janis merged 7 commits from feat/NCS-9 into main 2026-03-29 17:06:50 +02:00

7 Commits

Author SHA1 Message Date
LQ63 9ab1317ece revert(docs): Removed created docs from claude for en passant
Build & Test (NowChessSystems) TeamCity build finished
Removed created docs from claude for en passant and added them in the correct repo
2026-03-29 16:23:49 +02:00
LQ63 61203a9ec4 feat: NCS-9 apply en passant board mutation in GameController
Implement explicit removal of the captured pawn in en passant captures.
The pawn is located at a different square than the destination (same file
but one rank closer to the player). Use EnPassantCalculator to compute
the capture square and remove it from the board after withMove.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:23:49 +02:00
LQ63 9a308945a2 test: NCS-9 cover case _ branch in legalTargets with history 2026-03-29 16:23:49 +02:00
LQ63 008881741e feat: NCS-9 include en passant square in pawn legal targets 2026-03-29 16:23:49 +02:00
LQ63 f63b449947 feat: NCS-9 add EnPassantCalculator with target derivation and capture logic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:23:49 +02:00
LQ63 cce84cf781 docs: add en passant implementation plan for NCS-9
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:23:49 +02:00
LQ63 280154e4d8 docs: add en passant design spec for NCS-9
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:23:49 +02:00