04/06/14 23:18 HxZhdP5q
>>200の続き。
部屋と部屋をつなぐ処理・・・は>>203ですが、ちょっと補足。
1つの小領域につき1度、右とその右、下とその下の4箇所の
小領域(にある部屋)に対して通路を作成する。
connect_rooms();
まず、向かい合わせになっているそれぞれの部屋の壁に対して、
ランダムな位置に扉を作成する。そこから通路を延ばす。
draw_simple_passage();
通路は2回曲がるように作成される。スタート地点の扉から
ランダムな長さまで直線をひいて、進行方向を変えて、そこからゴールの扉の
縦座標(or横座標)まで直線をひいて、進行方向を扉の方にして、
そこからゴールの扉まで直線をひくだけ。進行方向を変えるとかいうのは90度向きを...
とかではなく、部屋の位置関係が上下であれば、下にひいて、右か左にひいて、また下ひく
という、ただの条件分岐と線をひくためのfor()ループ三回。