ナンプレ
1〜9の数字を縦・横・3×3ブロックに1つずつ入れよう。
毎回異なる問題を自動生成します。
📚 脳トレ・パズルグッズ
数独をもっと楽しむためのアイテムをAmazonでチェック
遊び方とルール
9×9のマスに1〜9の数字を入れます。縦の列・横の行・3×3のブロックそれぞれに、同じ数字が重複しないように配置してください。
マスを選んで数字ボタンを押すと入力できます。キーボードの数字キー・矢印キーも使えます。
もどす:直前の操作を取り消し(Zキー)
けす:選択中のマスを消去(Delete/Backspace)
メモ:候補数字を書き込むメモモード(Nキー)
ヒント:1マスだけ正解を表示(3回まで)
初級(36マス空き)・中級(45マス空き)・上級(51マス空き)・最難(55マス空き)の4段階。すべての問題は一意解になるよう生成されます(最難を除く)。
①まず確定できるマス(候補が1つだけのマス:ネイキッドシングル)から埋める②行・列・ブロックで特定の数字が入れる場所が1ヵ所しかないマスを探す(ヒドゥンシングル)——この2つの基本テクニックで多くの問題が解けます。
マスに入る可能性のある候補数字をメモとして書き込んでおくと、消去法で答えを絞り込みやすくなります。上級・難問レベルではメモ機能の活用が欠かせません。メモはヒントボタンで自動入力することもできます。
かんたん→基本テクニックのみで完成。ふつう→少し高度な推理が必要。むずかしい→複数の仮定と検証が必要です。まずかんたんで数独に慣れてから、徐々に難易度を上げていくのが上達の近道です。
🙋 作った人のひとりごと
遊ぶぶんには一瞬のナンプレですが、「問題を自動で作る」側に回ると話が別で。何度も詰まりました。生成まわりでハマった話を置いておきます。
🌀 「自分で作った問題が、自分で解けない」事件
最初は完成した盤面から適当にマスを消して問題にしていました。ところが出来上がった問題を解こうとしたら…解けない。よく見ると答えが2通りあったり、そもそも論理で確定できないマスがあったり。「作った本人が解けない問題」を平気で出していたわけです。今は1マス消すたびに「まだ答えが1通りか」を毎回チェックして、崩れる手前で止めています。
🐢 「最難」だけ、押した瞬間に画面が固まった
マスを空ければ空けるほど、さっきの「答えは1通りか」の確認がどんどん重くなります。最難レベルを生成した瞬間、数秒フリーズして「あ、これ壊れた」と何度思ったことか。解決策は、候補がいちばん少ないマスから先に埋めていくという探し方の工夫。人間が「ここはもう1しか入らない」から埋めるのと同じ発想で、これだけで体感一瞬になりました。
🔁 いつも似た盤面が出てくる問題
完成盤を作る手順が毎回同じだと、生成される問題もどこか既視感のあるものばかりに。「新問題」ボタンの意味がない…と。数字の割り当てと埋める順番を毎回シャッフルするようにして、ようやく「お、今度は全然違う」と思える問題が出るようになりました。地味ですが、飽きずに遊べるかを左右する大事な部分でした。
— MyTool Studio 中の人
🧩 このナンプレ、作り方を全部公開しています
上のこぼれ話で出てきた「唯一解のチェック」や「候補が少ないマスから埋める高速化」を、実際のコードでどう書いているか。全ソースにコメント+解説をつけて note にまとめました。買うと完成品(HTML1ファイル)+全ソース+作り方がまるごと手に入ります。
- バックトラッキングで完成盤面を作る仕組み
- 「正解は1通り」を保証する解の数え方(唯一解判定)
- 探索を一気に速くするMRVの工夫
- コピペで動く・サーバー不要・自分好みに改造OK
シリーズ「まるっとアプリ」#05/買って動く完成アプリ+全コード解説