2013/01/26
■ [変愚蛮怒/スポイラー]generate_rooms()による部屋生成プロセスの流れ(変愚蛮怒 Ver2.1.1)
- area_sizeを 100 * フロアの縦サイズ * フロアの横サイズ / 66(縦最大サイズ) / 192(横最大サイズ)で定める。
- 部屋の生成回数は40 * area_size / 100 となる。
- 各部屋の生成率を定める。
- 部屋の生成回数を各部屋の生成率に基づいて割り振る。
- ROOM_T_NEST/ROOM_T_PIT/ROOM_T_LESSER_VAULT/ROOM_T_TRAP_PIT/ROOM_T_GLASSは大きな部屋とみなし、生成回数のカウントを2つ消費する。
- ROOM_T_GREATER_VAULT/ROOM_T_RANDOM_VAULTはさらに大きな部屋とみなし、生成回数のカウントを3つ消費する。
- 確定した各部屋の生成数分だけ、順に生成を試みていく。
- ROOM_T_PIT/ROOM_T_NEST/ROOM_T_TRAP_PITについては2つ以上の生成が成功したら、それ以降は生成をキャンセルする。(コメントによれば、モンスター生成数の限界を超えることで、フロアの生成が失敗することを避けるため)
- 生成できた部屋が1つもなければフロアの生成を失敗扱いにする。