Alakは数学者AK Dewdneyによって発明され、1984年の本Planiverseに記載されています。アラクのルールは簡単です:
Alakは、11スロットの1次元ボードでプレイする2人用のゲームです。各スロットは一度に最大で1つの部品を保持できます。「x」と「o」の2種類のピースがあります。xは1つのプレーヤーに属し、oはもう1つのプレーヤーに属します。ボードの初期構成は次のとおりです。
xxxx___oooo
プレイヤーは順番に移動します。各ターンで、各プレイヤーは一度に1つの駒のみを移動できます。プレーヤーは自分のターンに追い越すことはできません。プレーヤーは自分の駒のいずれか1つを次の空いているスロットの右または左に移動できます。これには、空いているスロットを飛び越える必要がある場合があります。プレーヤーは、駒をボードの側面から移動することはできません。
移動によって、対戦相手の駒が両側に2つの駒の可動子の色で囲まれているパターンが作成された場合(空いている空白のスロットが介在しない)、それらの囲まれた駒はボードから削除されます。
ゲームの目的は、対戦相手の駒をすべて取り除くことです。この時点でゲームは終了します。all-but-oneを削除すると、ゲームも終了します。これは、対戦相手が1つの駒であなたを囲むことができないため、とにかく数回の移動で常に負けるからです。
私はこのゲームをオンラインで見つけ、疑問に思っていました:ゴルフはできますか?
ゴルフのルール
- コードは、ゲーム内のすべてのルール、キャプチャの処理、適切な移動などに従う必要があります(ボットを追加する必要はありませんが、両方のプレイヤーを何らかの方法で制御し、一方のプレイヤーを人間にする必要があります)。
- 入力は、タイルXのタイルをYに移動するか、終了する必要があります。たとえば、
1 4
「この作品をタイル1からタイル4に移動」と言うことができます。- をquit
使用しても、プログラムは終了します。また、移動が無効であるかどうかを確認する必要があります(ボードの外に出るか、空いているスペースを横切ってタイルのペアでないメッセージを送信または送信する必要がある場所に移動するか、)。ControlCquit
- 優勝選手と無効なため出力がでなければならない
P1 WINS
、P2 WINS
とINVALID
それぞれ。(これらはすべて7文字です。) - 出力はボードを示す必要があります。それだけで十分です。
- 番号付きのタイルやその他のピースなどの補助具を使用するかどうかは関係ありません。
チャレンジは次の場合に終了します。
- 1つの回答で50票を獲得
- 3週間、1つの回答が上位投票されたままになり、その期間に他の回答は投稿されませんでした
チャレンジには少なくとも3つの答えがあります(そのため、実際の競争があります)。
ゲームのルール
- 左側のプレーヤーが最初にスタートする必要があります。
- 一度に正方形を占めるのは1個だけです。それが空いているスペースにぶつかるまで、ピースを左または右に移動します。ボードは折り返されず、占有されていない領域を移動することはできません。例えば:
xoo__o
。ここで、x
移動権はボードをに変更し_oox_o
ます。xxooo_
。ここで、左端x
はyield_xooox
に移動し、o
s をキャプチャしてを残し_x___x
ます。x__oox
。ここでは、o
sはキャプチャされていません(まだギャップがあります)。空いているスペースを移動できないため、キャプチャはできません。x
間には他の部分(残しがないので、左側のは、1つのスペースを移動することができます_x_oox
)。
- グループが対戦相手の駒に囲まれている場合、複数の隣接する駒を一度にキャプチャできます。例えば
x_oox
には_xoox
、両方のキャプチャしますo
秒とにつながります_x__x
。 - 移動後の場合は、最初に相手の駒をキャプチャしてから、自分の駒を削除する必要があるかどうかを確認します。2つの例を見てみましょう。
o_oxx
にoxox_
。1つ目o
は2つ目がキャプチャされるox_x_
ため、1 つ目はx
ボードに残ります。o_oox
にoxoo_
。今回は、o
sはキャプチャされないため、x
代わりにがキャプチャされます。- ピースが1つしかない場合は、1つではキャプチャできないため、ゲームは終了します。
ゲームを始めよう!あなたが思いつくものを見るのを楽しみにしています。