迷路との関わり(4)

この引っ越しで自分の部屋が持てたこともあって,念願のパソコンを購入した。AppleⅡがまともな最初のパソコンで,当時の日本製にはまだない色々なゲームをしばらくは楽しんでいたが,ある日パソコンに迷路を描かせてみたいという思いが突然湧き起こった。ところが,プログラミングは全くの初心者で,この勉強も簡単ではなかったが,パソコンに迷路を描かせるということはいったいどういうことで何をさせればいいのか,まったく見当も付かないことのほうが深刻な問題だった。
初めの内は,一目で答えが分かってしまうような幼稚な迷路を描かせることしか出来なくて,試行錯誤を随分繰り返した。そんな中で,壁に手を付けて離さずに移動すると道のりは長いが必ず出口が見つかるという迷路の脱出方法が制作に利用できることに気付いた。具体的には次のようになる。
迷路全体を囲む壁から,内側に向かって壁をジグザグに延ばしていく。次に,その壁の途中からも分岐した新しい壁を延ばし,これらのことを繰り返す。このとき,延ばした壁はどの壁にも突き当たらないようにする必要がある。すると,自動的に壁と壁に挟まれたところが通路になる。全体が壁で埋め尽くされると,後は適当な箇所に入口と出口を設けて迷路は完成する。
この方法で作ると,迷路内のあらゆる箇所は通路で繋がっていてどこからどこへでも行けるので,入口と出口はどこに設けても良いことになる。また,壁の曲がる方向や枝分かれする箇所は乱数で決めるので,出来上がった結果は偶然の産物になり,正解の道が,ものすごく単調なものから,これでもかというぐらい複雑なものまで何が生み出されるかの予測が付かない。このようにして,一応パソコンに迷路を描かせることができた。(続く)
| 「亜空間」の現象の周辺 | 2012.05.07(Mon)19:08 | Comments0 | Trackbacks0 | 編集 | ▲