無限ぽこぽこ
ボタンを交互に押し合い、最後の1個を押したら負け。数学的な必勝法が存在する対戦パズル。
- 1プレイ
- 約2分
- 難易度
- ふつう
- 料金
- 無料・登録不要
- 最終更新
🎮 ここでゲームをプレイ
どんなゲームか
盤面に並んだボタンを、交互に押し合います。1回のターンで押せる数には決まりがあり、最後の1個を押してしまった人が負けです。
見た目はかわいいですが、中身はミゼール・ニムと呼ばれる数学的なゲームです。運の要素は一切なく、正しく打てば必ず勝てる手順が存在します。しかもこのゲームのCOMは常に最善手を打つので、こちらが1手でも間違えたら、そこで負けが確定します。
逆に言えば、必勝法さえ知っていればCOM相手に負けることはありません。このページではその必勝法を全部書きます。
遊び方
- vs COM(コンピュータ対戦)か vs Player(同じ端末で2人対戦)を選びます
- 先攻か後攻かを選びます ← これが極めて重要です
- 自分のターンにボタンを押します。押せる個数はステージごとに決まっています
- 押し間違えたら、もう一度タップすれば取り消せます
- 最後の1個を押した人の負けです
ステージごとの設定
| ステージ | ボタンの数 | 1ターンに押せる数 |
|---|---|---|
| 1 | 6個 | 1〜2個 |
| 2 | 9個 | 1〜2個 |
| 3 | 12個 | 1〜3個 |
| 4 | 16個 | 1〜3個 |
| 5 | 20個 | 1〜3個 |
| 6 | 24個 | 1〜3個 |
| 7 | 28個 | 2〜4個 |
| 8 | 32個 | 2〜4個 |
| 9 | 36個 | 2〜4個 |
| 10 | 40個 | 2〜4個 |
| 11以降 | 44個から4個ずつ増加(最大100個) | 2〜5個 |
ステージ7から最低2個押さなければならないようになります。「1個だけ押して様子を見る」ができなくなるので、ここで戦い方が大きく変わります。
必勝法
まず大前提:どのボタンを押すかは関係ありません
盤面の形はステージごとに違いますし、5以降はランダムな形になります。ですが、どの位置のボタンを押しても勝敗にはまったく影響しません。隣接している必要もありません。
このゲームで意味を持つのは**「何個押したか」だけ**です。形は完全に飾りです。ここを理解すると、一気に見通しがよくなります。
相手を「負けの数」で迎えること
自分のターンが終わったとき、残りが次の数になっていれば相手の負けが確定します。逆に、自分のターンが回ってきたときにこの数だったら、こちらの負けです。
| 押せる数 | 相手に渡すべき残り数 | 規則 |
|---|---|---|
| 1〜2個 | 1, 4, 7, 10, 13, 16… | 3で割って1余る数 |
| 1〜3個 | 1, 5, 9, 13, 17, 21… | 4で割って1余る数 |
| 2〜4個 | 1, 2, 7, 8, 13, 14, 19, 20… | 6で割って1か2余る数 |
| 2〜5個 | 1, 2, 8, 9, 15, 16, 22, 23… | 7で割って1か2余る数 |
これはゲーム内のCOMが使っている計算そのものです。COMは全ての残り数について勝ち負けを事前に計算し、必ず相手を上の数で迎えるように打ってきます。
押せる数が「1個から」のとき
いちばん単純です。自分と相手の押した数の合計が、いつも(最大数+1)になるように合わせるだけです。
1〜3個押せるなら、相手が1個押したら自分は3個、相手が2個なら自分は2個、相手が3個なら自分は1個。合計を必ず4に揃えます。こうすれば残り数は4ずつ減っていくので、最初に「4で割って1余る数」を渡せていれば、最後まで維持できます。
押せる数が「2個から」のとき
ステージ7以降は最低2個なので、上の合わせ技が使えません。残りを6(または7)で割った余りを1か2にすることを目標にします。
たとえば2〜4個押せる場面で残りが20個なら、20は「6で割って2余る」ので、この時点で自分の手番なら負けています。逆に相手の手番でこの状態を作れれば勝ちです。
いちばん大事なこと:先攻か後攻かを正しく選ぶ
このゲームは、最初の選択でほぼ決まります。
開始時のボタン数が「負けの数」なら、先攻を選んだ時点で負けが確定します。その場合は後攻を選べば必勝です。逆に「負けの数」でなければ、先攻を選んで必勝手を打ち続ければ勝てます。
各ステージで選ぶべき手番は次のとおりです。
| ステージ | 開始数 | 選ぶべき手番 |
|---|---|---|
| 1〜7 | 6〜28 | 先攻 |
| 8 | 32 | 後攻 ← 先攻だと必敗 |
| 9〜10 | 36・40 | 先攻 |
| 11 | 44 | 後攻 ← 先攻だと必敗 |
| 12〜14 | 48〜56 | 先攻 |
ステージ8とステージ11だけ、後攻を選ばないと勝てません。COMは最善手しか打たないので、ここで先攻を選ぶとどれだけ正しく打っても必ず負けます。理不尽に感じたら、手番を疑ってみてください。
具体例:ステージ3(12個・1〜3個)
12個スタート、1〜3個押せるので、目標は「4で割って1余る数」で相手を迎えることです。
- 12は4で割って0余り → 負けの数ではないので先攻を選ぶ
- 自分が3個押す → 残り9個(4で割って1余る)で相手に渡す
- 相手が1個押したら自分は3個、2個なら2個、3個なら1個。合計4を維持
- 残り5 → 残り1 と減っていき、最後の1個は必ず相手が押す
これで100%勝てます。
開発ノート
COMの強さを「最強」だけにした理由
当初は弱いCOMも用意するつもりでした。ですがこの手のゲームで「たまに間違えるCOM」を作ると、プレイヤーは自分が上手くなったのか、相手がミスしただけなのか分からなくなります。
このゲームには明確な必勝法があります。だとすれば、COMの役割は「壁」であるべきだと考えました。負けたら必ず自分のミスという状態にすることで、負けた瞬間に「どこで間違えたのか」を考えられます。
そのかわり、先攻・後攻を選ばせることで公平性を担保しました。正しい手番を選べば必ず勝てる。つまり、このゲームで本当に問われているのは「最初の選択」です。
勝敗表を毎回計算している
COMの思考は、事前に用意した公式ではなく、ゲーム開始時に動的計算しています。残り0個から始めて、「この残り数のとき、手番の人は勝てるか」を1つずつ積み上げていく方法です。
やり方は単純で、ある残り数から打てる全ての手を試し、ひとつでも相手を負けの状態にできる手があれば、その残り数は勝ちとします。どう打っても相手が勝ちの状態にしかならなければ、負けです。
「押せる数は1〜3個」といった条件が変わっても、この計算はそのまま使えます。余りの規則(4で割って1余る、など)を公式として書き込んでしまうと、条件を変えるたびに公式を導き直す必要がありますが、積み上げ計算なら条件を渡すだけで正しい答えが出ます。
なお最初に書いたとおり、この計算結果を人間向けに読み解いたものが、上の必勝法の表です。
「最後を取ったら負け」の落とし穴
普通のニムは「最後を取った人が勝ち」ですが、このゲームは逆のミゼール・ニムです。この2つは似ているようで、終盤の扱いがまったく違います。
実装で気をつけたのは、「全部取ってしまう手」を候補から必ず除外することです。残り3個で3個取れる場面では、取れば自分が最後を取ることになり負けます。普通のニムならそれが勝ち手なので、ここを間違えると挙動が正反対になります。
もうひとつ、残りが最低押下数より少なくなったときの処理も必要でした。2個以上押さねばならないのに残り1個、という状況では、その人は強制的に最後の1個を取ることになり負けが確定します。この判定を忘れると、ゲームが進行不能になります。
盤面の形を毎回変えている理由
勝敗にまったく影響しないのに、盤面の形は毎回ランダムに生成しています。
理由は、同じ形が続くと「作業」に見えてしまうからです。ステージ1〜4はきれいな長方形にして、ルールを理解することに集中してもらいます。5以降は、中央の2×2から外側へランダムに growing させた不定形の島になります。
形が毎回違うと、同じ32個でも別のステージに見えます。中身が数学的に同じでも、見た目が変われば人は違うものとして受け取る。意味のない変化にも意味があるというのが、作ってみて分かったことでした。
押し間違いを取り消せるようにした
ターンを終える前なら、押したボタンをもう一度タップして取り消せます。
必勝法があるゲームで、指が滑っただけで敗北が確定するのは理不尽です。考えて間違えたなら納得できますが、押し間違いで負けるのは面白くありません。「決定」するまでは何度でもやり直せるようにしています。
更新履歴
- 2026-07-26 ─ 必勝法と手番選択の解説を全面追加。存在しない「難易度3段階」の記述を削除
- 2026-04-12 ─ 公開