Java迷路(道編)
最終更新日:08.12.31



迷路を作った後、その回答を求めます。設定による、傾向の変化をお楽しみください。


ブラウザがJava未対応です。
Java対応のブラウザで御覧になると、設定の変更で迷路の回答の傾向がどの様に変化するかを、見ることができます。


| HOME | MAZE・迷路 |

設定についての説明
REDRAWボタンそのままの設定条件で再描画させる時に押します。
下記設定変更をしても、必要に応じて再描画させています。

まず、どちらのタイプの迷路かを選びます
迷路の作り方 道を延ばすJava迷路(道編)による迷路です
壁を延ばすJava迷路(壁編)による迷路です

迷路の大きさ、描画速度の設定です
ドットサイズ 1ドットのサイズを大きくします。実質的には、小さな迷路になります。速度的に遅すぎるときなどに設定してください。
中間サイズです
1ドットのサイズを最小にします。中間サイズで描画速度に問題無い様なら、この設定にしても良いかも。自分で回答を求める気にはならないくらい、細かな迷路です。
描く早さ 一気に描くゴールの形を見るだけのときは、この設定で。余計なウェイトを省いています
適度にゆっくり迷路の作成や、回答の導く過程の雰囲気がわかる程度に、ウェイトを入れています
ゆっくり描くさらに、細かな描画の様子を見るときに設定します

ここからが、回答に変化が出てくる設定になります。解説の方も参照してください。
起点の取り方 縦→横まず下方向に起点を動かし、これを右方向に広げていきます
横→縦まず右方向に起点を動かし、これを下方向に広げていきます
NG時の進行方向 左回転例えば右に延ばせなければ、上→左→下の様に、伸ばす方向を左に回転させて決めています
右回転例えば右に延ばせなければ、下→左→上の様に、伸ばす方向を右に回転させて決めています
ランダム回転右回転にするか、左回転にするかを、ランダムに選択します
本当のランダム回転ではなく、新たにランダムに方向を選びます(既に試みた方向は除いて、ランダムに選ぶ)
再帰 再帰なし一個の起点からは、一本の道や壁が延びるだけです
完全に近い再帰※壁を延ばす迷路では、大抵、途中ではまります。設定変更をして再描画するか、気長にお待ちください(たぶん、待てません)。
延ばした先から、新たな道や壁を延ばしていきます。起点の取り方の影響を受けにくくなります(ただし、現状は、スタックの問題で完全な再帰になっていません。途中で強制的に、再帰させない様にしている)。このため、完全再帰での問題が、見えにくくなっているかもしれません。
工夫1完全な再帰で出てくる問題を解決するための試みを加えたものです。道を延ばす迷路では、再帰するかしないかをランダムに選びます。壁を延ばす迷路では、作りかけの道が途中ではまってしまったときの考慮をしています
工夫2工夫1を更に強化したものです。調整の問題なので、工夫1の方がよかったりすることもあります。

| HOME | MAZE・迷路 |
E-MAIL:aanda@nifty.com(AKIO HOSOKAWA)