難易度を指定して自動生成 応援する  難易度が初期状態のまま問題作成をおこなったら、
難易度が5〜7の問題ができた。
どんな難易度の問題ができるかは、
乱数を利用して作っているので毎回変るのであるが。
さて、もっとやさしい問題を作ることを考えよう。
そのためには、作る前([問題自動生成]ボタンを押す前)に、
難易度範囲を次のように設定した。
念のため[数消去]ボタンを押して、盤面上の数字をきちんと消してから
[問題自動生成]ボタンを押した。
さて、どうなったであろうか。
なかなか問題ができず、
右上に赤のエラーメッセージが出る。
たとえば、次のメッセージがでる。
盤面を見る限り完成しているようにみえる。
しかし、エラーメッセージは、「第4ステージ異常終了」である。
これは、最終ステージまで到達したのだが、
難易度が指定範囲(1〜4)でなかったことを示す。
エラーが発生すると、盤面を最初の状態に戻してやり直すようだ。
また、次のように、もうちょっとで全部の青マスが決まるときに
エラーが出ることもある。
「第3ステージ異常終了」で、難易度以前に、
完成まで至らなかったことを示す。
まあ、この配置は、空色マス24個にしては作りにくいのでやむを得ない。
また、次のようにもっと早い段階でエラーが出ることもある。
「第2ステージ異常終了」である。
空色マスに、まだ適当に数字を入れているあいだに発生してしまったエラーである。
絶対に問題ができない配置になってしまって発生することと、
計算時間がかかり過ぎたので発生する場合がある。
計算時間は指定できるのだが、標準では次の手を探すのに
20秒以上かかったら諦めてエラーにすることにしている。
このあたりの対処方法は、そのうち書く。
上記のようなエラーを何度かくり返すのだが、
そのまま放置しておくと、次のような画面になり、
問題ができあがる。
右上には、「問題作成完了 408秒」と出ている。
難易度レベルは4であり、指定範囲になんとか入っている。
下左側の情報から、解総数3800から4個のユニーク解が見つかり、
右側のスライダー横の数字 1/1 より、
範囲内の問題は1つしか残らなかったことがわかる。
このように、難易度範囲を絞りこむと、
なかなか条件に合うのを作りづらくなる。
| |
|