Unityでナンプレ作ろう!ナンバープレイス SUDOKU 数独

Unity

パズル系を作っていこうかなと
ナンプレ作ろうかなと

「Number Place」というパズルだそうで
数独というのは、日本では商標登録されているそうで、ナンプレ、ナンバープレイスという商品名で出されていることが多いようです。
海外では商標登録されていないので SUDOKU で通じるそうで使用して良いようです。
Number Place , Figure Placeという元来の名称ではなく SUDOKU が主流のようです。
面白いですね^^

アプリを出すときは、日本ではナンプレ、日本以外では SUDOKU で良さそうです。


ルールは?

  • 9 x 9
  • 縦一列 1-9 の一意の数字
  • 横一列 1-9 の一意の数字
  • 9箇所に別れているブロック(3×3)の中も1-9の一意の数字

となるように数字を並べる。

問題としては、先の数字がいくつか隠されている状態で、その隠された部分を一意の条件から導き出すゲームということになります!

難易度、問題からいくつかの探索方法を使って答えにたどり着くまでの時間(ロジック数)で難易度を評価しているプログラムを書いている方がいますね
隠されているマスの数だけではなく、いろいろな条件(探索方法の組み合わせ、繰り返し)で変わるので一概には判断できないようです。

数字が簡単に埋まる(他8数字が出ている)などはともかく、それ以上となると、難易度評価も作らないと駄目かなと。。。
しかし、それも必要ですが、少し手間なので、ユーザーの解答時間で評価するのも良いかなと思います。(バックグラウンド、スリープ状態のとき、時間を評価しないよう一時停止が大事かもしれません。

9×9だけでなく、
12×12 ,16×16 , 25×25などもあるようです。
簡単な方では、6×6, 4×4 ちょっとした頭の体操に良さそうです^^

簡単に数字をランダムに並べて解答を生成してみたたら 9×9は簡単にたどり着けますが、16×16はランダムではなかなか時間がかかるようで
全体の再生成ではなく、マスが重複したらマスだけ再生成なら行けるかな?
あとは単純に、マスがある程度埋まったら、残りの数字をはめ込んで。と思うのですが、ちゃんと答えにならない可能性もあるので難しいところです?

9×9の81マスのうち、初期数は 24-38が一般的、20-25は難易度が高いそうです。
40抜くと41なので半分は消さないと簡単すぎるということですね。ランダムで
ちなみに一意解にならない場合もあるのでなんとも
今回は、答えから作るので大丈夫ですが、間違えて作ると答えが合わなかったりするのでその辺も難しそうです。
解答チェック自体は、縦横ブロックがそれぞれ一意かだけのチェックなので簡単ですが、他の回答があるかどうかはわかりませんね

ヒント!?ヒントマスの生成もゲームのポイントのようです。(脳トレ要素、アハ体験が出来そうですね

  • 可能な数字を小さく表示( 1, 2, 4 かな?可能性のあるマスを教える
  • 確定マスを教える(縦横ボックスでここはすぐわかる。というマス
  • 排他的、確定マスを教える(ボックスに跨る縦横をチェックするとわかる。というマス
  • 視覚、縦横を見やすく。

とりあえず次の段階でヒントは入れましょうか


アプリ広告、ゲーム中にポップアップされる広告もあるそうですが、自分の場合は、ゲーム終了時で良いかなと。もしくは一時停止時に表示するのも良いかと思います。
一時停止で終わると。続きを始める。も必要ですね。

だいたいゲームの全貌が見えてきました^^

お気軽にコメントください!

スパム対応のためコメント認証に数日かかることがありますが、お気軽にコメントいただけると嬉しいです^^

コメント

タイトルとURLをコピーしました