迷路作成を自動化

スポンサードリンク

迷路作成の自動化に挑戦しました。

とりあえずエクセル上で迷路のように罫線を引くマクロを作りました。

 

簡単すぎる小さな迷路も

f:id:arshii:20161229002843p:plain

 

少し小さめな迷路も

f:id:arshii:20161229002851p:plain

 

普通の迷路も

f:id:arshii:20161229002905p:plain

 

大きな迷路も

f:id:arshii:20161229002919p:plain

 

自分で作ろうとするとめんどくさくなる大きさでも

f:id:arshii:20161229002939p:plain

 

マクロを作成するのに5時間くらいかかりましたが、迷路の大きさを指定して自動的に迷路を作成できるようになりました。

ランダム要素を取り入れているので作成するたびに違う迷路が出現します。

 

これでサブブログの迷路のネタ切れには困らない!!

という訳にもいかず、まだまだ改良の余地はあるのですけどね。

 

今回の迷路自動作成マクロの最大の失敗点は迷路作成のアルゴリズムです。

左から順番に迷路が分断されないよう道を作るアルゴリズムにしてしまったため、攻略ルートが左上のSから左下を経由して右下のGへ向かうパターンの迷路が多く作成されてしまうという欠点があります。

迷路の規模が大きくなるほどその影響は顕著で、試しに50×50のサイズの迷路を15個ほど作成して全部自力で解いてみましたが、15個全ての迷路で右上4分の1のスペースは全く正解手順に関わらないエリアとなってしまいました。

30×30程度ならたまに右上を通るような迷路も作成されるのですが・・・

 

今後の改良ポイントとしては全ルートを平等に通るようランダム性を上げて、、、と思いましたが、迷路に大事なことってランダム性でしたっけ?

 

ゴールまで平等に数多くの分岐があるのが優秀な迷路?

迷路内をZやN型に走り回らせて迷路のほぼすべてのエリアを堪能させるのが優秀な迷路?

そもそも解法は1つだけしかない迷路が優秀な迷路?

 

迷路に関する疑問がいっぱい産まれてきてしまいました。

迷路作成の迷路にはまりましたが、きっと色々な考え方があるのが正しいのです。

 

そんな私が毎日迷路を公開しているブログはこちら

arshii-maze.hatenablog.com

普通じゃない迷路もあります。

f:id:arshii:20161224125416p:plain

サブブログの方はアクセス数が少なくてとても寂しいです。

一緒に迷路で頭を悩ませましょう。