このスネークゲームのルールと数値
盤面は20 x 20マス(幅300px、1マス15px)で、ヘビは120ミリ秒ごとに1マスずつ進みます。エサを食べても速度は上がらず、最初から最後まで同じペースです。 エサ1個につき10点が入り、体が1マス伸びます。開始時は盤面の中央付近に長さ1のヘビが止まっていて、最初に方向キーを押した瞬間から動き出します。 壁や自分の体にぶつかるとその場で終了し、400マスをすべて埋めると満点でクリアとなります。以下の数値はこの設定から計算したものです。
| ヘビの長さ | スコア | 盤面の占有率 | 残りの空きマス |
|---|---|---|---|
| 1 | 0 | 0.3% | 399 |
| 5 | 40 | 1.3% | 395 |
| 10 | 90 | 2.5% | 390 |
| 20 | 190 | 5.0% | 380 |
| 50 | 490 | 12.5% | 350 |
| 100 | 990 | 25.0% | 300 |
| 200 | 1990 | 50.0% | 200 |
| 300 | 2990 | 75.0% | 100 |
| 400 | 3990 | 100.0% | 0 |
長さは「スコア ÷ 10 + 1」で決まるので、最高スコアは3990点(エサ399個)です。スコアはエサを食べた回数だけで決まり、生き延びた時間は加点されません。
移動時間の目安
1マス120ミリ秒は、1秒あたり約8.33マスの速さです。移動距離ごとの所要時間は次のとおりです。
| 移動マス数 | 所要時間 | 備考 |
|---|---|---|
| 5マス | 0.60秒 | |
| 10マス | 1.20秒 | |
| 20マス | 2.40秒 | 盤面の一辺を横切る時間 |
| 40マス | 4.80秒 | 一辺を往復する時間 |
エサまでがマンハッタン距離(横の差と縦の差の合計)で13マスなら、最短でも1.56秒かかります。その間に自分の体が進路をふさがないよう経路を組み立てることが、このゲームの核心です。
操作と入力処理の細かな規則
- 方向転換は1マスにつき1回だけ反映されます。120ミリ秒の間に方向キーを何度押しても、次の移動に使われるのは最後の有効な入力ひとつです。
- 真逆の方向は無視されます。長さが2以上のとき、右へ進みながら左キーを押しても反応しません。Uターンは、いったん上(または下)へ1マス進んでから左を押す必要があります。同じ1マスの間に「上、左」と続けて押すと、左は捨てられます。
- しっぽがいたマスへ入っても衝突になります。移動の前に体全体と比較するため、同じ瞬間にしっぽが抜けるマスでも当たったものとして扱います。作品によっては許される仕様なので、他のスネークゲームとはルールが違うことがあります。
- 一時停止はSpaceキーまたはボタンで切り替えます。方向キーとSpaceはこのゲームが処理するため、プレイ中に画面はスクロールしません。別のタブに切り替えたときも自動で一時停止します。
- エサは、ヘビの体がないマスのどこかにランダムに出ます(Math.randomを使用。ゲーム用であり暗号用の乱数ではありません)。
計算例で確認する
例1 距離。頭が(10, 10)、エサが(3, 16)なら、横7マス+縦6マス=13マスが最短で、13 x 0.12秒 = 1.56秒です。経路上に体があれば遠回りになり、距離は延びます。
例2 体が作る行き止まり。長さ4のヘビが2 x 2の正方形に丸まり、頭がしっぽのマスの隣を向いている場合、頭はしっぽのマスに入れず、この実装ではその場で終了します。短くても丸まると出口がなくなるので、曲がる前に2マス先まで確認しましょう。
例3 満点の条件。全マスを埋めるにはエサを399個食べて長さ400にする必要があり、そのときのスコアは3,990点です。20 x 20は縦横とも偶数なので、全マスをちょうど一度ずつ通って元に戻る周回路(ハミルトン閉路)が存在します。その経路をなぞり続ければ、理論上は衝突せずに最後まで到達できます。ただしエサを最短で取る方法ではないため、時間はかなり長くなります。
攻略のコツとよくある失敗
- 壁沿いを走る癖を減らす。端は片側が壁なので選択肢が減ります。短いうちは中央付近を使いましょう。
- 長くなったら大きな円を描くように動く。狭い場所で細かく曲がると、しっぽと重なる危険が高まります。
- 隅のエサは焦らない。隅は入り口が1~2か所しかないので、出る道を先に確保してから入りましょう。
- キーを連打しない。1マスにつき方向がひとつしか反映されないため、連打は効果がなく、最後の入力が意図と違ってしまうことがあります。
- スマホではボタンの位置に慣れる。親指が盤面を隠さない持ち方を先に見つけておくと安定します。
制限事項と保存される情報
- 最高記録は、ページを開いている間だけ画面に保持されます。再読み込みや再訪問で0に戻り、ブラウザの保存領域やサーバーには記録されません。端末間で共有もされません。
- 速度の段階、障害物、壁の反対側へ抜けるモードはありません。もっとも基本的なルールの盤面です。
- ゲームはブラウザの描画タイミングで動くため、裏のタブでは止まります。タブを切り替えると自動で一時停止するのはそのためです。
結果の活かし方
スコアを長さ(スコア ÷ 10 + 1)に直して占有率の表と比べると、今の実力で盤面のどれくらいを埋められるかがつかめます。同じくらいの長さで終わることが続くなら、その段階で同じ種類のミスをしている可能性が高いので、最後の数マスの経路を振り返ってみましょう。
スネークゲームの背景
ヘビを操作してエサを食べ、長くなっていく遊びは、1970年代後半のアーケードゲーム「Blockade」などにさかのぼるといわれ、1990年代後半にノキアの携帯電話へ搭載されたことで世界中に広まりました。速度の変化、壁抜け、しっぽのマスの扱いなど細部は作品ごとに異なるため、同じ名前のゲームでも記録を単純には比べられません。
よくある質問
スマートフォンでも遊べますか?
はい。盤面の下にある4つの方向ボタンをタップして操作できます。方向キーとSpaceのショートカットはパソコン用です。
最高記録は保存されますか?
保存されません。開いているページの中だけで保持され、再読み込みすると消えます。
逆方向のキーが効かないのはなぜですか?
長さが2以上のとき、真逆に曲がると頭がすぐ自分の体に当たるため、入力を無視する仕様です。先に上か下へ曲がり、もう一度曲がればUターンできます。
壁を抜けて反対側に出られますか?
いいえ。壁に触れた時点でゲーム終了です。
最高で何点まで取れますか?
400マスをすべて埋めた3,990点です。エサを399個食べる必要があり、達成するとクリアのメッセージとともにゲームが終了します。