1.1. 概略

迷路を作るときには、以下に注意します。

アルゴリズムの方針は、こうなります。

  1. 区画わけをします。

  2. 各区画に1つずつ部屋を作ります。こうすることで、部屋が重なりません。

  3. 部屋を通路でつなぎます。

区画のことをrectと書きます。同様に、区画の分割線をcouple、部屋のことをroomと書きます。

  1. 図 1-2. まずは全体がrect[0]です。

  2. 図 1-3. rect[0]を、分割します。rect[0]とrect[1]ができました。

  3. 図 1-4. rect[0]を、分割します。rect[0]とrect[2]ができました。

  4. 図 1-5. rect[2]を、分割します。rect[2]とrect[3]ができました。

  5. 更に分割は進みますが、このへんでやめておきます。この分割の終了条件は、乱数による場合に加えて、区画の縦横のサイズが細かくなりすぎる場合です。

  6. 図 1-6. 各区画にひとつずつ部屋を作ります。

  7. 図 1-7. 各分割線ごとに部屋を通路でつなぎます。

    完成です。