子供の為に迷路を作りましたので、記事にしたいと思います。
意外と子供達には人気だったので、ぜひ作ってみてください。
まずは簡単な迷路を作ります。
迷路を作るために迷路の作り方を知る
迷路の作り方を説明できますか?
迷路の作り方は、3種類あります。
●棒倒し法 ●壁伸ばし法 ●穴掘り法
では、各々の方法を説明していきましょう。
迷路作成方法[棒倒し法]
まずは、外枠を作ります。今回は7x7で行きます。
壁、道、壁、道、壁の順番で、壁で始まり、壁で終わる為、
全体は、奇数x奇数のマス目になります。

気づいている人がいるかもしれませんが、座標(奇数、奇数)は、必ず壁になります。
座標(奇数、奇数)に壁を作ります。

壁を置いた場所に棒を立てます。(イメージです)

そして、棒を好きな方向に倒します!!

好き勝手 棒を倒した結果

最後に、入り口と出口を作ります。

無事にできました!!これが、【棒倒し法】です。
迷路作成方法[壁伸ばし法]
まずは、外枠を作ります。今回は7x7で行きます。
外枠は壁です。

棒倒し法で説明した通り、座標(奇数、奇数)は必ず壁になります。
1点壁を選択します。今回は、緑のマスを選択します。

壁を伸ばしていきます。(壁を伸ばして壁にぶつかったら、一旦終了です。)

これを繰り返します。


最後に、入り口と出口を作ります。

完成です。これが【壁伸ばし法】です。
迷路作成方法[穴掘り法]
最後に【穴掘り法】です。
今までの2つとは考えが逆で、壁を作るのではなく、道を作ります。
その為、最初はすべて壁です。

座標(偶数,偶数)は必ず道になるので、ランダムで座標を選びます。

ランダムの方向で、道を作ります。

ある程度道を作ったら、また、作った道の中からランダムに開始位置を変更し、道を再度作ります。

繰り返していきましょう!!

全部の(偶数,偶数)座標に道ができれば、最後に入り口と出口を作りましょう。

迷路の完成です。これが【穴掘り法】です。
まとめ
プログラムには関係ないような話でしたが、ロジックを知らない事には、プログラムを書く事ができない事を理解してください。
シンプルに作るなら、【棒倒し法】をオススメしますが、複雑な迷路を作りたいという人は【穴掘り法】をオススメします。
今回の迷路の作成方法は【穴掘り法】で作っていきたいと思いますので、次回をお楽しみにぃ~。

業務でプログラミング(C#/VB/Python)を作っている。
挫折を何回も繰り返し、幾度の壁を乗り越えてきた。
乗り越えてきた事を忘れないように記録に残す。
同じ思いをしている人への情報提供になれたらと思う。
基本は初心者に向けたプログラムの情報を提供する。
コメント