パズル

無限ぽこぽこ

ボタンを交互に押し合い、最後の1個を押したら負け。数学的な必勝法が存在する対戦パズル。

1プレイ
約2分
難易度
ふつう
料金
無料・登録不要
最終更新

🎮 ここでゲームをプレイ

広告

どんなゲームか

盤面に並んだボタンを、交互に押し合います。1回のターンで押せる数には決まりがあり、最後の1個を押してしまった人が負けです。

見た目はかわいいですが、中身はミゼール・ニムと呼ばれる数学的なゲームです。運の要素は一切なく、正しく打てば必ず勝てる手順が存在します。しかもこのゲームのCOMは常に最善手を打つので、こちらが1手でも間違えたら、そこで負けが確定します。

逆に言えば、必勝法さえ知っていればCOM相手に負けることはありません。このページではその必勝法を全部書きます。

遊び方

  1. vs COM(コンピュータ対戦)か vs Player(同じ端末で2人対戦)を選びます
  2. 先攻か後攻かを選びます ← これが極めて重要です
  3. 自分のターンにボタンを押します。押せる個数はステージごとに決まっています
  4. 押し間違えたら、もう一度タップすれば取り消せます
  5. 最後の1個を押した人の負けです

ステージごとの設定

ステージボタンの数1ターンに押せる数
16個1〜2個
29個1〜2個
312個1〜3個
416個1〜3個
520個1〜3個
624個1〜3個
728個2〜4個
832個2〜4個
936個2〜4個
1040個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〜76〜28先攻
832後攻 ← 先攻だと必敗
9〜1036・40先攻
1144後攻 ← 先攻だと必敗
12〜1448〜56先攻

ステージ8とステージ11だけ、後攻を選ばないと勝てません。COMは最善手しか打たないので、ここで先攻を選ぶとどれだけ正しく打っても必ず負けます。理不尽に感じたら、手番を疑ってみてください。

具体例:ステージ3(12個・1〜3個)

12個スタート、1〜3個押せるので、目標は「4で割って1余る数」で相手を迎えることです。

  1. 12は4で割って0余り → 負けの数ではないので先攻を選ぶ
  2. 自分が3個押す → 残り9個(4で割って1余る)で相手に渡す
  3. 相手が1個押したら自分は3個、2個なら2個、3個なら1個。合計4を維持
  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 ─ 公開