バックグラウンド
Mu Torereは、ヨーロッパの影響を受ける前にニュージーランドのマオリの人々によってプレイされることが知られているたった2つのゲームの1つです。これにより、他のほとんどのゲームとは異なる「客観的な勝利基準」とプレイのルールがあるという点で非常にユニークなゲームになります。
ゲームプレイ:
ボードは八角形です。隣接する各頂点間に接続があり、すべての頂点に接続された中央ノードがあります。任意の時点で、9つのノードのうち8つが石で占められています。開始時には、4つの白い石と4つの黒い石があり、それぞれが八角形の半分を占めており、中央のノードは空です。黒が先に動きます。
各ターンで、プレイヤーは自分の石の1つを16のエッジの1つに沿って1つのノードから空のノードに移動できます。石は、相手の石の隣にある場合にのみ、外側のノードから中央のノードに移動できます。
プレーヤーは、石を空のノードに接続するエッジがないときに発生する合法的な移動ができない場合に負けます。
以下は、ルールを説明する(図を使用して)いくつかの分析を提供するWebサイトです。
チャレンジ
あなたの課題は、人間の対戦相手に対してMu Torereの完璧なゲームをプレイできる最短のプログラムを書くことです。プログラムは、ゲームボードの表示と更新、移動、および人間の対戦相手からの移動を受信できる必要があります。最も重要なことは、完璧なゲームをプレイすることです。
完璧なゲーム?
はい、完璧なゲーム。私はいくつかのゲーム分析を行ってきましたが、両方で完全にプレイした場合、ゲームは無限の時間続くことがわかりました。これは、プログラムが決して失われないことを意味します。また、プログラムは、人間の対戦相手がミスを犯してプログラムに勝つことを許可するたびに、勝つことを強制できる必要があります。あなたのプログラムが完璧な動きを見つける方法に関しては、これはあなた次第です。
詳細
各移動後(およびゲームの開始時)、プログラムはゲームボードを印刷する必要があります。ただし、ボードの表示を選択した場合、すべてのノードが表示され、完全に接続されている必要があります(16本の接続線はすべて、交差線なしで描画する必要があります)。開始時には、ボードの開始位置が正しいはずです。これを達成する1つの方法は、ゲームボードを正方形にすることです。
w-w-w
|\|/|
b-o-w
|/|\|
b-b-b
2つの色は黒と白、または暗い/明るいです。ボードは、「b」または「w」でマークするなど、どのノードがどのプレーヤーの駒で占められているか、どのノードが空いているかを示す必要があります。参加者は、ゲームボードをプレーンテキストではなくグラフィカルにすることをお勧めします(ただし必須ではありません)。
ゲームボードには、各ノードに一意の番号を付与する番号システムが必要です。好きなようにボードに番号を付けることもできますが、回答またはプログラムで説明する必要があります。正方形のボードには、次のように番号を付けることができます。
1-2-3
|\|/|
4-5-6
|/|\|
7-8-9
人間が最初に動く。彼の入力は単一の数字になります。これは、移動した石が現在あるノードの番号になります。ノード4から空のノード5に石を移動したい場合は、と入力し4
ます。5は唯一の空のノードであるため、暗示されています。
人間は常に合法的な動きをすると仮定します。
人間が移動した後、更新されたボードを印刷する必要があります。プログラムが合法的な動きを決定したら、更新された別のボードを印刷し、人間が別の動きを入力するのを待つ必要があります。
プログラムは勝ったら終了するはずです。
ノート
標準コードのゴルフ規則が適用され、外部ファイルへのアクセスなどは行われません。また、プログラムが各移動を行うための15秒の柔軟な制限時間(妥当なマシン上)を課します。述べたように、このゲームには無限ループを形成する可能性があり、深さ優先の検索が無限ループに入るのは望ましくありません。