Connect Four

7×6の盤面にディスクを落とし、CPUより先に4つ並べます。戻すは無制限・無料で、何かを振り直すことは一切ありません。同じ局面に戻して同じ列に落とせば、同じ応手が返ってきます。

ブラウザで遊ぶ Simple Games について

盤面と勝利条件

盤面は7列×6段、42マスです。あなたとCPUが交互に1枚ずつディスクを落としていきます。ディスクは指さした場所にとどまることはなく、選んだ列のいちばん下の空きマスまで落ちます。

自分のディスクが縦・横・斜めのいずれかに4つ並んだ瞬間に勝ちです。CPUの勝ち方も同じです。42マスすべてが埋まってもどちらも4つ並べられなければ、その対局は引き分けです。

このゲームにスコアという数値はなく、画面に時計も出ません。対局の結果は勝ち・負け・引き分けのいずれかで、プレイ時間は静かに記録され、統計にだけ使われます。

ディスクの落とし方

一手は列を選ぶことなので、押すのは列そのものです。盤面は42個の別々のマスではなく、7本の縦長のボタンでできています。

落下先のプレビューはありません。指を列に置いている間も、落ちる先に影が出ることはありません。列の落下先はつねに1つ(いちばん下の空きマス)だけなので、プレビューがあっても列がすでに示している以上のことは分からず、ドラッグしている間じゅう、低速な端末では描画コストがかかるだけになります。

戻すと、「ヒント」を作っていない理由

戻す(Undo)は無制限・無料で、初回起動から使えます。このゲームのどの機能も、広告や課金の対価になることはありません。強さは解放して手に入れるものではなく、3つの対戦相手は最初からすべて選べます。

1回押すと、盤面は直前の決定点まで戻ります。つまり、自分の一手とそれに対するCPUの応手がまとめて取り消されます。CPUの手番の途中で止まることは決してありません。そこはあなたが何かを決めた局面ではないからです。

3つの対戦相手

やさしい・ふつう・つよいは同じプログラムで、盤面の評価もまったく同じです。違うのは、手を決める前にどれだけ先まで読むかだけです。

対戦相手読みの深さ盤面でどうなるか
やさしい1手読み今すぐ勝てる手があれば打ちますが、あなたのリーチはまったく見ていません。
ふつう4手読み目の前のリーチには対応しますが、二重のリーチには気づきません。
つよい最大8手読み探索の上限まで深く読み、そこで完了していた深さの中でいちばん良い手を打ちます。

対局をやめて別の対局を始めても、負けとしては記録されません。開始した瞬間に「プレイ回数」には数えられていて、実際に終局した対局だけが戦績を変えます。統計はプレイヤーを脅かすものであってはなりません。

どちらが先に落とすか、そして中断した対局

対局の前に、先攻後攻かを選びます。既定は先攻です。先に打つ側のほうが親切だからですが、既定は決まりごとではありません。手強いほうを選びたい人は、後攻を選べます。

この選択は次の対局に適用されます。対局中のゲームには触れません。対局は始めた側のまま終わります。

盤面の読み方

ここでの勝敗の多くは、2つのことで決まります。中央列と、自分が1回落とすたびに相手に渡してしまうマスです。

よくある質問

ほかの人と対戦したり、オンラインで遊んだりできますか?

できません。対局はすべて自分の端末上のCPUが相手です。オンライン対戦も2人プレイモードもありません。レーティングやランキングもなく、戦績はそれが作られた端末の中だけにあります。

戻すと、CPUは違う手を打つようになりますか?

いいえ。CPUは目の前の局面に応手を返すだけで、同じくらい良い列が並んだときの決着は、対局のシードと打った手数から決まります。揺さぶれる運の要素はありません。盤面を戻して同じ列に落とせば、同じ応手が返ってきます。戻すは待ったであって、振り直しではありません。

なぜ「ヒント」がないのですか?

隠れている情報がなく、ヒントが明かすべきものが何もないからです。盤面はすべて見えているので、ヒントにできることがあるとすれば、CPU自身が打つはずの列を教えることだけです。それではCPUがあなたの側まで打ってしまいます。代わりの助けが戻すで、無制限・無料です。

「つよい」はコンピューターが打てる最強なのですか?

いいえ、それは意図的なものです。Connect Fourは解析し尽くされたゲームなので、最後まで読み切る相手は絶対に勝てない相手になってしまいます。「つよい」は最大8手先まで読み、決まった探索の上限で止まり、完了できた深さの中でいちばん良い手を打ちます。

対局の途中で離れても大丈夫ですか?

大丈夫です。盤面はプレイ中ずっと保存され、どちらの手番だったかも含めて、離れたときとまったく同じ状態で戻ってきます。保存されないのは戻すの履歴だけで、再開した対局は手順のリストではなく局面そのものから始まります。

インターネット接続は必要ですか?

Androidアプリは初回起動から通信なしで遊べ、対局はすべて自分の端末上で決まります。ブラウザ版はページの読み込みに1度だけ通信が必要で、その後のゲームはブラウザの中で動きます。

ここに書いたことはすべて公開されたコードで確認できます:GitHub のソースコード