エサを食べると体が一マス伸び、壁か自分の体に触れると終わりという定番のゲームです。盤は20×20 で、ヘビは長さ3 から始まります。エサ5個ごとに少しずつ速くなるので、終盤は「どこへ行くか」を先に決めておかないと手が追いつきません。壁抜けを onにすると、壁の代わりに反対側から出てきます。ベスト記録はこのブラウザだけに残り、インストールも登録もありません。
エサ5個ごとに一マスの移動時間が10ミリ秒短くなり、70ミリ秒で止まります。それより速いと、方向を変える余裕が人の反応時間より短くなります。
しっぽの先のマスには入れます。同じ手で空くからです。ただしエサを食べる手ではしっぽが残るので、その場合は衝突になります。
盤を全部埋めるとその一局は勝ちで終わります。400マスすべてという意味なので、実際に見るのは難しいです。
ベスト記録と「壁抜け」設定はこのブラウザ(localStorage)だけに保存され、サーバーには送られません。
スネークの規則は「ヘビは止まらない」の一点から出てきます。前に進み続け、決められるのは方向だけ。エサを食べると一マス伸び、壁か自分の体に触れると終わりです。
難しくなり方が独特です。ふつうのゲームは敵が強くなって難しくなりますが、スネークでは「上手くやって得た長さ」そのものが障害物になります。得点のたびに使えない盤面が一マス増えるわけです。
盤は20×20 = 400マス、ヘビは長さ3 から始まります。エサ1個が1点なので理論上の上限は397点で、それは盤が全部ヘビになった状態を意味します。
頭のすぐ後ろのマスは自分の首です。右へ進みながら左を押すとそこへ突っ込んで終わります。指の滑り一つで一局が終わるのはゲームではなく罰なので、ほとんどの実装がこの入力を無視します。
ここに古典的なバグが潜みます。「予約された方向」を基準に逆を止めると、一マス動く前に上→左→下と素早く押すことで体を貫通できてしまいます。どの入力も直前の逆ではないのに、結果として逆になるからです。
そこでこのページは「この手で実際に動いた方向」を基準に判定します。一マスの間に何度押しても、実際に進んだ向きの逆だけが弾かれるので、貫通は構造的に起こりません。
一マス動くのに最初は0.17秒かかり、エサ5個ごとに0.01秒短くなります。0.07秒で止まるのは、それより速いと一マスの間に方向を変える余裕が人の反応時間より短くなるからです。
点数は食べた個数そのままです。倍率もコンボもないのは、難易度の曲線がすでに点数に組み込まれているからです。20個目のエサは、3個目より体が十七マス長い状態で食べることになります。
だから記録は「何点」より「どこで死んだか」で読むほうが正確です。だいたい長さ20あたりで盤の中央が詰まり始め、長さ40を超えると道筋を決めずに追いかけると自分で自分を閉じ込めます。
最初に直す癖は「エサへ一直線」です。短いうちは通りますが、長くなると食べた場所で出口がなくなります。エサへの行き方より、食べたあとどこから抜けるかを先に見てください。
いちばん簡単な安全策は端に沿って回ることです。壁を片側に置いて大きく回れば体が一つのかたまりに保たれ、内側に広い空きが残ります。エサが内側に出たときだけ入って出ます。
しっぽを追うのも確実な逃げ道です。しっぽの先は到着と同時に空くので必ず入れて、道が見えないときの時間稼ぎになります。
理論上は絶対に死なない方法もあります。すべてのマスを一度ずつ通って元に戻る輪を作り、その上を回り続けるのです。数学ではこれをハミルトン閉路と呼び、20×20 のような偶数の格子には必ず存在します。実際にやると一局が退屈なほど長くなりますが、「完璧な打ち方が存在する」という事実はこのゲームの性格をよく表しています。
上手い人は二つを混ぜます。輪を保険にしつつ、エサが近く安全が確かめられるときだけ近道し、危なくなったら輪へ戻ります。
壁抜けを onにすると上下と左右がつながります。死に方が一つ消えるので、盤の外に出て終わることがなくなります。
ただし終盤は難しくなります。壁がないと「端に沿って回る」安全策が意味を失い、体が境界のない盤を横切る形になるので、どちらへ抜けるかを毎回考え直す必要があります。
二つのモードはベスト記録を分けていません。同じ盤・同じエサ規則なので一つの数字にまとめ、どちらで出したかは自分が知っていれば十分だという判断です。
エサは「空きマスの一覧から一つ選ぶ」方式で置きます。ヘビのいるマスが出たら引き直す一般的なやり方は、盤がほぼ埋まったときに試行回数が跳ね上がり、いちばん止まってほしくない終盤で画面が固まります。
しっぽの判定は一手の差まで合わせています。この手でしっぽが空くので先端には入れて、エサを食べる手ではしっぽが残るので衝突になります。ここを丸めると「明らかに通れたのに死んだ」という理不尽な判定が生まれます。
規則の計算は純粋関数に切り出し、状態は値として扱います。おかげで一手先を試しに計算でき、テストは盤をそのまま書いて検証できます。
移動は30ミリ秒ごとのタイマー一つが担当し、点数別の間隔はその中で時間をためて判定します。速度が変わるたびにタイマーを掛け直すと、加速するその瞬間に一マスが消えます。
ベスト記録と壁抜け設定はこのブラウザだけに残ります。送信する値がないので全体ランキングはなく、サイトデータを消すと記録も消えます。
ヘビは止まらずに進み、変えられるのは方向だけです。エサを食べると1点と一マスの長さが増え、壁か自分の体に触れると終わりです。規則はこれだけです。
頭のすぐ後ろは自分の首なので、逆に曲がると即座に衝突します。押し間違い一つで終わるのは規則ではなく罰なので、その入力は無視します。判定は「予約された方向」ではなく「この手で実際に動いた方向」で行います。そうしないと、一マスの間に三回押して体を通り抜けられてしまいます。
壁で死ななくなり、端から出て反対側に現れます。死に方が「自分の体」だけになるので序盤はかなり楽になり、代わりに終盤は難しくなります。壁がないと「端に沿って回る」安全策が意味を失うからです。
エサ1個につき1点だけです。長さと点数が同時に増えるので、点数はそのまま「何個食べたか」であり、20×20 の盤の上限は397点(開始の長さ3を引いた値)です。
はい。下の十字ボタンで操作するか、盤の上を進みたい方向へなぞってください。インストール不要で、オフラインでも動きます。
このツールが何を根拠に計算し、どこまで答えられるかを明示します。
盤は20×20 = 400マス、ヘビは長さ3 から始まります。エサ1個で1点と一マスの成長。移動間隔は170ミリ秒から始まり、エサ5個ごとに10ミリ秒縮み、70ミリ秒で止まります。エサを20個食べるとヘビの長さは 3 + 20 = 23マス、移動間隔は 170 − (20 ÷ 5) × 10 = 130ミリ秒になります。