迷路にハマった!

最近、迷路にハマっている。特に迷路のアルゴリズムが面白い。何か、アルゴリズムを活用できる分野があると思うのだが。。。

Illustratorで迷路作成用テンプレートを作った!

迷路考察のために

迷路の作成法について色々と考察したくなったので、Illustratorで迷路作成用のファイルを作ってみた。

 

単に正方形を並べただけのものであるが、簡単に解説しておこう。

 

正方形のセル

プログラミングで迷路を作成する場合(特にゲームのマップを作成する場合)、正方形のセルの白黒(0と1)で、迷路の経路をつくりことが多い。

 

このブログでは、ソースコードを考察するわけではないが、正方形のグリッドがあると、迷路の作成法の考察が楽になると思い、Illustratorで、正方形のグリッドを作成することにした。

 

イラストレーターというソフトは、正方形が面と線で構成されている。

 

f:id:sasatarokun:20141031133939p:plain

 

上の図だと、薄い黄色の箇所が「面」、灰色の部分が「線」。

 

これをクリックして選択肢、色を選べば簡単に面を黒く塗りつぶすことができる。

 

だから、一度、グリッドを作ってしまえば、何度でも面の「塗り」の色を変更することで、迷路の経路について考察することができるのだ。

 

正方形を並べてみた

正方形を並べると以下のようになった。

 

f:id:sasatarokun:20141031134253p:plain

ヨコ方向に29個、タテ方向に19個の正方形を並べた。

 

中途半端な数字のように思えるが、迷路について考察する場合、セルの個数は奇数である必要が有る。

 

行列(奇数、奇数)が壁になる

なぜ、セルの個数が奇数でなければならないのか。

 

たとえば、日本で何故か有名な棒倒し法という迷路作成法がある。

 

これを作る時、左上のセル(X、Y)を(0、0)とすると、奇数、奇数のセルをまず、壁に設定する。(一般的な考え方では、左上は1,1と設定するのかもしれないが、このブログではプログラミングの世界での慣習に従い、0,0と設定して議論を進める。)

 

f:id:sasatarokun:20141031135004p:plain

上の図のように、外周に白セルができるようにするには、X軸方向と、Y軸方向のセルの数は奇数に設定する必要があるのだ。

 

セルの線は消す

実際、迷路について考える場合、上のように正方形の線があると目がチカチカするので、下の図のように線を消して表示することになると思う。

 

f:id:sasatarokun:20141031135244p:plain

 

それでは、次回から、このテンプレートで迷路を描き、解説を加えようと思う。