情報学部 菅沼ホーム パズル目次

ナンプレ(数独)

ナンプレ(数独)の実行

  1. ナンプレ(数独)とは?

      ナンプレ(数独)は,下の図に示すように,3 × 3 のマス目からなるブロックが,3 × 3 の状態に並べられており,空白部分に数字を埋めていくゲームです.通常,下の図の左に示すように,初期状態ではいくつかの数字が既に設定されており(これが問題になる),残りの空白に数字を埋めていくことになります(下の図の右が解答結果になる).数字を埋めるルールは非常に簡単です.「各ブロック,各行( 9 マスからなる),及び,各列( 9 マスからなる)に 1 ~ 9 までの数字が 1 回だけ出現しなければならない」ということだけです.

  2. 遊び方

      ナンプレのページに入ると下の左図に示すようなゲームパネルが表示されます.パネルの空白部分に,ナンプレの規則に基づいて 1 ~ 9 の数字を半角で入力し(下の右図,問題の入力に相当),「実行」ボタンをクリックすれば,実行画面に移動します.なお,「 Clear 」ボタンをクリックすると,入力した全てのデータが消去されます.

      問題を入力するのが面倒な場合は,「問題」ボタンをクリックすると,下の図に示すような問題パネルがゲームパネルの上に表示されます.パネルに表示されている数字は,解の一つの例になっています.

      このままでは問題になりませんので,「空白」の右側の空欄に空白にしたい数( 1 ~ 80 )を入力して,「 Go 」ボタンをクリックします.その際,作成した問題が,一意の解を持つか否かのチェックを行います.一意の解を持たない場合は,空白となっている適当な場所に,1 つ,または,2 つの数値を設定し(空白の数が,1 つ,または,2 つ減ることになる),一意の解を持つか否かのチェックを行います.以上の結果,解が一意となった場合は,それが問題となりますが,一意の解とならなかった場合は,下記のような警告メッセージが出力されます.解が一意となる問題を必要とする場合は,「次の解候補」ボタンをクリックした後,再度,「 Go 」ボタンをクリックしてください.解が一意となる必要が無い場合は,そのまま実行可能です.一般に,空白の数が 40 程度以下の場合は新たに数値を設定することなく,また,45 程度の場合は,1 つの数値の設定で一意の解を持つようになる場合が多いと思います.さらに,空白の数が 50 程度以上になると,警告メッセージが出力される頻度が増加し,60 程度以上になると一意の解を持つ問題を生成することが難しくなります.

      下の図は,50 個の空白を作成した場合の例です.この図では,実際に作成された問題における空白の数は 48 個になっています.なお,問題パネル上の数字を一つずつ消去することによっても,空白を作成することが可能ですが,その際は,解の一意性のチェックを行いません.問題が作成された後,「設定」ボタンをクリックすると,問題パネルに表示された状態がゲームパネルに設定されます.

      また,過去の問題が記憶されている場合は,「過去の問題」ボタンをクリックすると,ゲームパネルの下に,以下に示すようなパネルが表示されます.問題名を入力し,「設定」ボタンをクリックすると,その名前で記憶されている問題がゲームパネルに設定されます.「件数」,または,「問題リストの出力」ボタンによって,記憶されている問題の数,または,記憶されている問題リストが,一番下のテキストエリアに出力されます.「削除」,または,「全削除」ボタンは,記憶されている特定の問題,または,全問題を削除するためのボタンです.なお,過去の問題に関する情報はローカルエリアに記憶されるため,過去の問題に関するボタンは,同じパソコン(機器)で同じブラウザを使用している場合にだけ有効となります.

      ゲームパネルに問題を設定した後,「実行」ボタンをクリックすると,下に示すようなメッセージボックスが表示されます(ブラウザによって形は異なる).ここに,問題名を入力して「 OK 」ボタンをクリックすると,これから実行しようとする問題がローカルエリアに記憶され(ブラウザによって,記憶される場所は異なる),パズルの実行画面に移動します.また,「キャンセル」ボタンをクリックした場合,または,空欄に何も入力せずにいずれかのボタンをクリックした場合は,何も記憶せず実行画面に移動します.

      実行画面は下図のようになっています.問題として設定した数字の背景色は薄い緑色になり,これらの数字を変更することはできません.以後,すべての空白を,ナンプレの規則に基づいた 1 ~ 9 の数字(半角)で埋めていきます.空白の部分に対して,キーボードを使用して直接数字を設定することも可能ですし,また,画面の右側にある 1 ~ 9 までの数字をマウスでクリックし(数字の色が変化),次に,その数字を設定したい場所をマウスでクリックすることによっても可能です.

      数字を設定する際,ナンプレの規則に反した数字を設定すると,下図のように,その数字が赤くなります.なお,{「記憶」,「次の問題」,「ゲーム終了」}ボタンの上の数字は,1 ~ 9 の各数字が使用されている個数を表しています.個数が 9 になると,その背景色が赤になります.従って,パズルが解けた段階では,全ての数字の背景色が赤になります.

      その上にある 1 ~ 9 までの数字ボタンをクリックすると,その数字を設定可能な場所の背景色が変化します.例えば,下の図は,「 7 」ボタンをクリックした場合の例です.

      「記憶」ボタンをクリックすると,右図に示すようなメッセージボックスが出力され(ブラウザによって形は異なる),その時点におけるパネルの状態が記憶されます(最初に述べた問題の記憶とは異なる).記憶された状態が存在するときは,実行パネルのボタン群に,以下に示すように,「戻る」ボタンが追加されます.「戻る」ボタンをクリックすると,一番最後に記憶された状態に移動した後,その記憶が削除されます.

情報学部 菅沼ホーム パズル目次