こんばんは
久しぶりに一日中曇り空でした
アーチェリーランドは少し標高が高いので少し肌寒く、薄手でもヤッケを持って行ったので助かりました
さて迷路のプログラムですが、動かしているとなんとなくなんですが同じパターンが出てきているんじゃないかと思うようになりました
コンピュータの乱数は特に指定しない限りは同じ乱数が出てくるのが普通なんですが、このことをすっかり忘れていました
「乱数なのにいつも同じになるとは」と思うんですがロジックが同じである以上仕方のないことで、そんなときに違う乱数を出すために乱数のタネを設定できるようになっています
種に整数の値を設定するとその値を元にして乱数を計算するので、その値が違えば乱数も違うものになります
逆に種が同じなら毎回同じ乱数が出ると言うことです
そこでプログラムを起動した時刻の分と秒を合わせた4桁の整数を作って種と与えることにしました
それでやってみるとやはり今までとは違ったパターンで迷路が出てくるようになりました
よしよしと満足してしばらく眺めていたんですが、またどうも気に入らないところが出てきました
迷路に分岐が少ないので探索が一本調子で面白くないのです
迷路を作るアルゴリズムとしては乱数を使ってどんどん道を作って行ってどっちにも進めなくなったときに後戻りして新しい道が作れるところで分岐しています
これだとあまり分岐点ができないので一本調子もしかたがないです
そこで迷路が出来上がった後に、ランダムに壁を壊してみようかと思っています
壁を壊すとループする道ができる可能性がありますが、これをどう進むかはランダムで面白くなりそうです
ただ一度進んだ道は通らないことになっているので、ループがあることで結局通り抜けられないと言ったことも考えられます
やってみないとわからないですね
変なことになるのも面白いのでちょっと考えてみましょう