2017-10-22 16 views
-1

체스 변종을 만들고 있습니다. 규칙과 조각은 고전적인 체스와 동일합니다. 유일한 차이점은 보드 크기 (8x8 대신 12x12)입니다.체스는 8x8 보드보다 큰 보드에서 유효성 검사를 이동합니까?

제 목표는 동작을 확인하고 적용하는 것입니다. 처음부터 모든 것을 쓰지 않고 어떤 옵션을 사용할 수 있습니까?

가장 많이 사용되는 형식은 8x8 보드로만 제한됩니다.

나는 잘 알려진 프로그래밍 언어를 사용합니다.

+1

8 바이트의 비트, 그리고이 있다는 사실 같은 것들을 사용할 수있는 보통의 8 × 8 체스 64 비트 프로세서는 64를 처리 할 수 조금씩. 운이 좋은 경기! 기존 체스 프로그램을 패치하는 것뿐만 아니라 다른 일을해야 할 것입니다. –

답변

1

체스 엔진이 이동 생성에 사용하는 세 가지 일반적인 방법이 있습니다.

1)

2) 사서함 (패딩 배열 체스 용어)

3) 조각이

가장 일반적인 방법을 사용 오늘 나열을 Bitboards : 체스 프로그래밍 용어로이 일반적으로 알려져 있습니다 Bitboards입니다. 불행히도 큰 보드에서는 쉽게 수정할 수 없습니다. 그러나 이것은 당신에게 그렇게 나쁘지 않아야합니다. 비트 보드가 사실상 표준 인 이유는 구현이 가장 쉽기 때문 (실제로 가장 복잡합니다)이 아니라 이동 생성 (그리고 확장 유효성 검사)이 훨씬 빠르기 때문입니다. 그러나 이는 초당 수천만 번 이동을 검증해야하는 검색 기능에 사용하기 위해서만 해당됩니다. 이전의 단순한 이동 유효성 검사를 원한다면, 방법 2가 적절하고 더 큰 보드에 쉽게 적용될 수 있어야합니다. 이 방법을 사용하는 체스 엔진을보고 싶다면 우편함 또는 oX88 보드 표현을 사용하는 엔진을 찾으십시오. 나는 교훈적인 CPW 엔진이 사서함을 사용한다고 생각한다.

https://chessprogramming.wikispaces.com/CPW-Engine

여기가 이동 생성에 대한 기사입니다 : https://chessprogramming.wikispaces.com/Move+Generation