을 방지 할 때 검사로두고 이동 선택에서 플레이어를 방지하기 위해 다음과 같이 내가 알고리즘이 무한 재귀를 방지 : 보드를 복사하고 복사 작업에 의해 (체스 - 확인
- 가짜 이동을 게시판)
- 이동이 위조 된 후 모든 법적 상대 이동을 가져옵니다.
- 합법적 인 이동 중 하나가 플레이어의 왕을 공격 할 수있는 경우 원래 가짜 이동을 선택할 수 없습니다.
그러나 2 단계 (굵게 표시)에서 프로그램은 다른 플레이어가 수행하는 작업이 다른 플레이어를 확인하지 못하도록 확인해야합니다. 이것은 알고리즘 적으로 피할 방법이 확실하지 않은 무한 재귀를 만듭니다. 이 상황에 대해 사람들은 어떤 제안을합니까?
"프로그램에서 다른 플레이어가 수행하는 작업이 다른 플레이어를 확인하지 못하도록 확인해야합니다"프로그램에서이 상황에서이 조건을 검사해서는 안됩니다. [사례] (https://lichess.org/editor/8/8/8/8/8/7k/6r1/R3KQ2_w_KQkq_-) 1.Ke2는 흑인들이 그들의 루크를 움직일 수 없더라도 법적으로 적합하지 않습니다. –
왜 합법적이지 않습니까? 검찰은 왕을 데려 가기 위해 아무 것도 할 수 없으므로 확인하지 않겠습니까? – user7518095
아니요, FIDE가 발행 한 공식 체스 규칙은이 상황을 3.9 항에서 명시 적으로 다루고 있습니다. 체스 엔진을 구현하기 전에 규칙을 읽어야합니다. –