배경
Mu Torere는 유럽의 영향을 받기 전에 뉴질랜드의 마오리 사람들이 플레이하는 것으로 알려진 두 가지 게임 중 하나입니다. 이것은 "객관적인 승리 기준"과 기존의 다른 게임과는 다른 규칙을 가지고 있다는 점에서 매우 독특한 게임입니다.
게임 플레이 :
보드는 팔각형입니다. 인접한 각 정점 사이에는 연결이 있으며 모든 정점에 연결된 중앙 노드가 있습니다. 어느 시점에서든 9 개의 노드 중 8 개가 돌로 채워져 있습니다. 처음에는 4 개의 흰 돌과 4 개의 검은 돌이 있는데, 각 돌은 팔각형의 절반을 차지하며 중앙 노드는 비어 있습니다. 검은 색이 먼저 움직입니다.
플레이어는 매 턴마다 16 개의 가장자리 중 하나를 따라 자신의 돌 중 하나를 한 노드에서 빈 노드로 옮길 수 있습니다. 스톤이 상대방의 스톤 옆에있는 경우 스톤은 외부 노드에서 중앙 노드로만 이동할 수 있습니다.
돌을 빈 노드에 연결하는 가장자리가 없으면 합법적으로 움직일 수 없으면 플레이어가 패배합니다.
다음 은 규칙 (다이어그램 포함)을 설명하고 분석을 제공하는 웹 사이트입니다.
도전
당신의 도전은 인간 상대에 대한 완벽한 Mu Torere 게임을 할 수있는 가장 짧은 프로그램을 작성하는 것입니다. 귀하의 프로그램은 게임 보드를 표시 및 업데이트하고, 이동하고, 인간의 상대로부터 이동을 수신 할 수 있어야합니다. 가장 중요한 것은 완벽한 게임을해야한다는 것입니다.
완벽한 게임?
예, 완벽한 게임입니다. 나는 약간의 게임 분석을 해왔고, 양측이 완벽하게 플레이하면 게임이 무한한 시간 동안 지속된다는 것을 알았습니다. 이것은 당신의 프로그램이 절대 잃어 버려서는 안된다는 것을 의미합니다. 또한, 상대방이 실수를 할 때마다 프로그램이 강제로 승리 할 수 있도록 프로그램에서 승리를 강제 할 수 있어야합니다. 당신의 프로그램이 완벽한 움직임을 찾는 방법은 당신에게 달려 있습니다.
세부
각각의 이동 후 (그리고 게임 시작시), 프로그램은 게임 보드를 인쇄해야합니다. 그러나 보드를 표시하도록 선택하면 모든 노드가 표시되고 완전히 연결되어 있어야합니다 (16 개의 연결선은 모두 교차 선없이 그려야합니다). 시작할 때 보드는 올바른 시작 위치를 가져야합니다. 이를 달성하는 한 가지 방법은 게임 보드를 사각형으로 만드는 것입니다.
w-w-w
|\|/|
b-o-w
|/|\|
b-b-b
두 가지 색상은 흑백 또는 어둡거나 밝습니다. 보드에는 "b"또는 "w"로 표시하고 비어있는 노드와 같이 어떤 플레이어가 어떤 노드를 점유하고 있는지 표시해야합니다. 참가자는 게임 보드를 일반 텍스트가 아닌 그래픽으로 만드는 것이 좋습니다 (필수는 아님).
게임 보드에는 각 노드에 고유 번호를 부여하는 번호 매기기 시스템이 있어야합니다. 원하는 방식으로 보드 번호를 선택할 수 있지만 답이나 프로그램에서 설명해야합니다. 사각형 보드는 다음과 같이 번호를 매길 수 있습니다.
1-2-3
|\|/|
4-5-6
|/|\|
7-8-9
인간이 가장 먼저 움직입니다. 그의 입력은 단일 숫자입니다. 이동 한 석재가 현재있는 노드의 번호입니다. 노드 4에서 빈 노드 5로 스톤을 이동하려면 다음을 입력합니다.4
. 5는 유일한 빈 노드이므로 암시됩니다.
인간이 항상 합법적으로 움직일 것이라고 가정하십시오.
사람이 움직 인 후 업데이트 된 보드를 인쇄해야합니다. 프로그램이 합법적 인 이동을 결정한 후에는 업데이트 된 다른 보드를 인쇄 한 다음 사람이 다른 이동을 시작할 때까지 기다려야합니다.
일단 승리하면 프로그램을 종료해야합니다.
노트
표준 코드 골프 규칙이 적용되고 외부 파일에 액세스하지 않는 것 등도 있습니다. 또한 프로그램이 각각의 동작을 수행 할 수 있도록 유연한 시간 제한을 15 초 (적절한 기계에서)로 부과합니다. 언급 했듯이이 게임은 무한 루프를 형성 할 수 있으며 깊이 우선 검색이 무한 루프에 들어가기를 원하지 않습니다.