Hengband  2.1.4
 全て データ構造 ファイル 関数 変数 型定義 マクロ定義 ページ
データ構造 | マクロ定義 | 型定義 | 関数
rooms.h

部屋生成処理の定義ヘッダー / Header file for rooms.c, used only in generate.c [詳細]

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

データ構造

struct  room_info_type
 

マクロ定義

#define DUN_ROOMS_MAX   40
 部屋生成処理の最大試行数 / Number of rooms to attempt (was 50) [詳細]
 
#define LAKE_T_LAVA   1
 池型地形ID: 溶岩 [詳細]
 
#define LAKE_T_WATER   2
 池型地形ID: 池 [詳細]
 
#define LAKE_T_CAVE   3
 池型地形ID: 空洞 [詳細]
 
#define LAKE_T_EARTH_VAULT   4
 池型地形ID: 地属性VAULT [詳細]
 
#define LAKE_T_AIR_VAULT   5
 池型地形ID: 風属性VAULT [詳細]
 
#define LAKE_T_WATER_VAULT   6
 池型地形ID: 水属性VAULT [詳細]
 
#define LAKE_T_FIRE_VAULT   7
 池型地形ID: 火属性VAULT [詳細]
 
#define ROOM_T_NORMAL   0
 部屋型ID:基本長方形 / Simple (33x11) [詳細]
 
#define ROOM_T_OVERLAP   1
 部屋型ID:長方形二つ重ね / Overlapping (33x11) [詳細]
 
#define ROOM_T_CROSS   2
 部屋型ID:十字 / Crossed (33x11) [詳細]
 
#define ROOM_T_INNER_FEAT   3
 部屋型ID:二重壁 / Large (33x11) [詳細]
 
#define ROOM_T_NEST   4
 部屋型ID:モンスターNEST / Monster nest (33x11) [詳細]
 
#define ROOM_T_PIT   5
 部屋型ID:モンスターPIT / Monster pit (33x11) [詳細]
 
#define ROOM_T_LESSER_VAULT   6
 部屋型ID:小型VAULT / Lesser vault (33x22) [詳細]
 
#define ROOM_T_GREATER_VAULT   7
 部屋型ID:大型VAULT / Greater vault (66x44) [詳細]
 
#define ROOM_T_FRACAVE   8
 部屋型ID:フラクタル地形 / Fractal cave (42x24) [詳細]
 
#define ROOM_T_RANDOM_VAULT   9
 部屋型ID:ランダムVAULT / Random vault (44x22) [詳細]
 
#define ROOM_T_OVAL   10
 部屋型ID:円形部屋 / Circular rooms (22x22) [詳細]
 
#define ROOM_T_CRYPT   11
 部屋型ID:聖堂 / Crypts (22x22) [詳細]
 
#define ROOM_T_TRAP_PIT   12
 部屋型ID:トラップつきモンスターPIT / Trapped monster pit [詳細]
 
#define ROOM_T_TRAP   13
 部屋型ID:トラップ部屋 / Piranha/Armageddon trap room [詳細]
 
#define ROOM_T_GLASS   14
 部屋型ID:ガラス部屋 / Glass room [詳細]
 
#define ROOM_T_ARCADE   15
 部屋型ID:商店 / Arcade [詳細]
 
#define ROOM_T_MAX   16
 部屋型ID最大数 [詳細]
 

型定義

typedef struct room_info_type room_info_type
 

関数

bool generate_rooms (void)
 部屋生成処理のメインルーチン(Sangbandを経由してOangbandからの実装を引用) / Generate rooms in dungeon. [詳細]
 
void build_maze_vault (int x0, int y0, int xsize, int ysize, bool is_vault)
 

説明

部屋生成処理の定義ヘッダー / Header file for rooms.c, used only in generate.c

日付
2014/09/07
作者
Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
This software may be copied and distributed for educational, research, and not for profit purposes provided that this copyright and statement are included in all such copies. Other copyrights may also apply.<br

マクロ定義

#define DUN_ROOMS_MAX   40

部屋生成処理の最大試行数 / Number of rooms to attempt (was 50)

#define LAKE_T_AIR_VAULT   5

池型地形ID: 風属性VAULT

#define LAKE_T_CAVE   3

池型地形ID: 空洞

#define LAKE_T_EARTH_VAULT   4

池型地形ID: 地属性VAULT

#define LAKE_T_FIRE_VAULT   7

池型地形ID: 火属性VAULT

#define LAKE_T_LAVA   1

池型地形ID: 溶岩

#define LAKE_T_WATER   2

池型地形ID: 池

#define LAKE_T_WATER_VAULT   6

池型地形ID: 水属性VAULT

#define ROOM_T_ARCADE   15

部屋型ID:商店 / Arcade

#define ROOM_T_CROSS   2

部屋型ID:十字 / Crossed (33x11)

#define ROOM_T_CRYPT   11

部屋型ID:聖堂 / Crypts (22x22)

#define ROOM_T_FRACAVE   8

部屋型ID:フラクタル地形 / Fractal cave (42x24)

#define ROOM_T_GLASS   14

部屋型ID:ガラス部屋 / Glass room

#define ROOM_T_GREATER_VAULT   7

部屋型ID:大型VAULT / Greater vault (66x44)

#define ROOM_T_INNER_FEAT   3

部屋型ID:二重壁 / Large (33x11)

#define ROOM_T_LESSER_VAULT   6

部屋型ID:小型VAULT / Lesser vault (33x22)

#define ROOM_T_MAX   16

部屋型ID最大数

#define ROOM_T_NEST   4

部屋型ID:モンスターNEST / Monster nest (33x11)

#define ROOM_T_NORMAL   0

部屋型ID:基本長方形 / Simple (33x11)

#define ROOM_T_OVAL   10

部屋型ID:円形部屋 / Circular rooms (22x22)

#define ROOM_T_OVERLAP   1

部屋型ID:長方形二つ重ね / Overlapping (33x11)

#define ROOM_T_PIT   5

部屋型ID:モンスターPIT / Monster pit (33x11)

#define ROOM_T_RANDOM_VAULT   9

部屋型ID:ランダムVAULT / Random vault (44x22)

#define ROOM_T_TRAP   13

部屋型ID:トラップ部屋 / Piranha/Armageddon trap room

#define ROOM_T_TRAP_PIT   12

部屋型ID:トラップつきモンスターPIT / Trapped monster pit

型定義

関数

void build_maze_vault ( int  x0,
int  y0,
int  xsize,
int  ysize,
bool  is_vault 
)

関数の呼び出しグラフ:

呼出しグラフ:

bool generate_rooms ( void  )

部屋生成処理のメインルーチン(Sangbandを経由してOangbandからの実装を引用) / Generate rooms in dungeon.

Build bigger rooms at first. [from SAngband (originally from OAngband)]

戻り値
部屋生成に成功した場合 TRUE を返す。

ダンジョンにBEGINNER、CHAMELEON、SMALLESTいずれのフラグもなく、かつ「常に通常でない部屋を生成する」フラグがONならば、GRATER_VAULTのみを生成対象とする。 / Ironman sees only Greater Vaults

ダンジョンにNO_VAULTフラグがあるならば、LESSER_VAULT / GREATER_VAULT/ RANDOM_VAULTを除外 / Forbidden vaults

ダンジョンにNO_CAVEフラグがある場合、FRACAVEの生成枠がNORMALに与えられる。CRIPT、OVALの生成枠がINNER_Fに与えられる。/ NO_CAVE dungeon (Castle)

ダンジョンにCAVEフラグがある場合、NORMALの生成枠がFRACAVEに与えられる。/ CAVE dungeon (Orc cave etc.)

ダンジョンの基本地形が最初から渓谷かアリーナ型の場合 FRACAVE は生成から除外。 / No caves when a (random) cavern exists: they look bad

ダンジョンに最初からGLASS_ROOMフラグがある場合、GLASS を生成から除外。/ Forbidden glass rooms

ARCADEは同フラグがダンジョンにないと生成されない。 / Forbidden glass rooms

部屋生成数が2未満の場合生成失敗を返す

関数の呼び出しグラフ:

呼出しグラフ: