ダンジョン自動生成at GAMEDEVダンジョン自動生成 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト213:名前は開発中のものです。 04/06/14 23:46 HxZhdP5q 通路を一本作成したら、全ての部屋がつながっているかを調べる。 is_all_connected(); 9つの小領域分用意された、部屋訪問フラグをクリアする。同時に、部屋が あるかどうかを調べて、あれば、その部屋の番号を覚えておく。(starting_room) その部屋から訪問調査する。 visit_rooms(roomnum); roomnum部屋の訪問フラグをオンにする。 roomnum部屋にある4つの扉に対して・・・ 扉から接続されている別の部屋の扉を調べて、 その部屋に対してvisit_rooms()する。再帰呼び出しですよ。 ※先に書き忘れたけど、部屋に扉と通路を作成する時に、どこの部屋の 扉につながっているのかを記録してあるので、それを参照している。 また、一つの部屋には最大で4つの扉が設置される。上下左右の壁に一つずつ。 全部屋訪問フラグがONになっていれば、全部屋が接続されているとみなされる。 なぜか、 if ((rooms[i].is_room & (R_ROOM | R_MAZE)) && (!rooms_visited[i])) { 部屋だけでなく、迷路も部屋と同じ扱いになってる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch