作成日:2002-02-15

棒倒し法

はじめに

迷路作成アルゴリズムには、大きく分けて「棒倒し法」と「穴掘り法」の2種類がありますが、このページでは棒倒し法を紹介します。 また、迷路作成のための処理をいくつかのステップに分けて解説します。

⇒戻る
▽ STEP 1
まず、迷路の枠組み(周囲の壁)を作成します。

■図1


▽ STEP 2
次に、1ブロックおきに、基準となる点(壁)を作成します。 これを仮に基準点と呼びます。

■図2


▽ STEP 3
次に、一番左側の基準点(下図の赤い部分)に注目します。 この全ての列(縦)に対して、周囲(上、左、右、下)の一方向にランダムで壁を作成します。 このとき、壁を作ろうとしたところが既に壁になっている場合があります。 この対処法としては2通りあります。 1つはもう一度ランダムに方向を決定して、ぶつからないようにすることです。 この場合、ゴールまでの道のりが一通りしかない迷路ができあがります。 もう1つの方法は、壁を置くのをやめることです。 下図の例では2つ目の方法を採用しています。

■図3


▽ STEP 4
最後に、残った全ての基準点に対して、周囲の一方向にランダムで壁を作ります。 ですが、このときランダムに壁を作れる方向は(上、右、下)のみです。 左側に壁を作ってはいけません。 この方法で最後まで壁を作り終えたならば、迷路は完成です。

■図4


■図5:完成図


1