2013/01/12
■ [変愚蛮怒/スポイラー]build_type1()の部屋生成プロセス(変愚蛮怒 Ver2.1.1)
- ダンジョンにCURTAINフラグがあるとNO_CAVESがある場合1/48の確率、そうでない場合1/512の確率でカーテンのある部屋になる。
- 横サイズ:xsize = 1d11 + 1d11 + 1 を設定
- 縦サイズ:ysize = 1d4 + 1d3 + 1 を設定
- xsize, ysizeに合うスペースを探す(find_space()関数)。スペースがなければ、xsize = 3, ysize = 3でもう一度find_space()で探るが、それでも見つからなかったら生成をキャンセルする。
- 生成階 <= randint1(25)かつダンジョンにDARKNESSフラグがないなら、部屋全体を最初から明るくする。
- これまでに固まった部屋を一旦床地形で埋め、その後外壁1マスを外壁地形で埋める。
- カーテンフラグが立っていれば、外壁からさらに1マスをカーテンで埋める。
- さもなくば1/20の確率で部屋全体の1マス毎に柱として内壁地形で埋める。
- さもなくば1/20の確率で四隅のみを柱として内壁地形で埋める。
- さらにさもなくば1/50の確率で外壁から内側1マスを1マスずつ埋める形で柱として内壁地形で埋める。
- さらにさもなくば1/50の確率で部屋を縦か横半々の確率で分割する。その際、ダンジョンにCURTAINフラグがあると、NO_CAVESがある場合1/2の確率、そうでない場合1/128の確率で部屋を分ける壁がカーテンになる。
- 以上までやっていずれかの処理に引っかからなければ、何の変哲もない長方形部屋が生成される。