Misèretic-tac-toeのゲームをプレイするプログラムを作成します。つまり、目標は、対戦相手に強制的に3連発させることです。
標準入力で「X」または「O」(ゼロではなく文字)を受け入れて、プログラムの再生側を決定します。次に、自分のターンでの動きに1桁を出力し、ゲームオーバーになるまで相手のターンで1桁を読み取ります(Xが常に最初になります)。勝者が決定したら、勝った人にはXまたはO、引き分けにはDを出力します。たとえば、Oが連続して3を獲得した場合、Xが勝ちます。
ボードには次のような番号が付けられていると仮定します。
0|1|2
-----
3|4|5
-----
6|7|8
理想的には、ソリューションは最適であり、決して失われないことです。三目並べのように、完璧なプレーは常に引き分けになるはずです。上記のプロトコルが順守されている場合、さまざまな可能な戦略に対して自動的に送信をテストできます。
勝者は最短のコードです。同様に良い動きからランダムに選んで、もう少し予測不能にする場合のボーナスポイント。