Estou tentando escrever um programa simples de xadrez e, como parte disso, estou escrevendo métodos para encontrar todos os movimentos válidos. Consigo detectar pinos e não tenho problemas em deixar de fora os movimentos que resultariam no jogador em movimento sob controle, exceto em uma situação que não tenho certeza.
Após uma captura en passant, não apenas o quadrado anteriormente ocupado pelo peão de captura agora está vago, mas também o quadrado do peão capturado. Existe alguma posição em que capturar en passant resulta em um cheque descoberto no rei do jogador que está capturando en passant , não porque o peão capturado foi fixado, mas porque o teste foi interrompido anteriormente pelo peão capturado?
Eu acho que essa situação simplesmente não é possível, pelo menos não consigo pensar em uma posição e uma série de movimentos que resultem nessa situação; o fato de você ter que capturar en passant na primeira oportunidade significa que o peão que deve ser capturado posteriormente está preso e não pode avançar para o quinto posto, ou o cheque é bloqueado por uma peça diferente. Infelizmente, estou tendo problemas para descartar que há alguma posição contra-intuitiva onde isso pode acontecer. Alguém poderia confirmar minhas suspeitas (ou fornecer um contra-exemplo)?