Hengband  2.1.4
データ構造 | マクロ定義 | 型定義 | 変数
generate.h ファイル

ダンジョン生成処理のヘッダーファイル [詳解]

被依存関係図:

[ソースコード]

データ構造

struct  dun_data
 

マクロ定義

#define ALLOW_CAVERNS_AND_LAKES
 
#define SAFE_MAX_ATTEMPTS   5000
 生成処理基本試行回数 [詳解]
 
#define DUN_UNUSUAL   250
 通常ではない部屋が生成される基本確率(レベル/定数) / Level/chance of unusual room (was 200) [詳解]
 
#define DUN_DEST   18
 破壊地形がフロアに発生する基本確率(1/定数) / 1/chance of having a destroyed level [詳解]
 
#define SMALL_LEVEL   3
 小さいフロアの生成される基本確率(1/定数) / 1/chance of smaller size (3) [詳解]
 
#define EMPTY_LEVEL   24
 アリーナレベル(外壁のないフロア)の生成される基本確率(1/定数) / 1/chance of being 'empty' (15) [詳解]
 
#define LAKE_LEVEL   24
 川や湖のあるフロアの生成される確率(1/定数) / 1/chance of being a lake on the level [詳解]
 
#define DARK_EMPTY   5
 フロア全体が暗い可能性の基本確率(1/定数) / 1/chance of arena level NOT being lit (2) [詳解]
 
#define DUN_CAVERN   20
 洞窟状のダンジョンが生成される基本確率(1/定数) / 1/chance of having a cavern level [詳解]
 
#define DUN_TUN_RND_MIN   5 /* Chance of random direction (was 10) */
 
#define DUN_TUN_RND_MAX   20
 
#define DUN_TUN_CHG_MIN   20 /* Chance of changing direction (was 30) */
 
#define DUN_TUN_CHG_MAX   60
 
#define DUN_TUN_CON_MIN   10 /* Chance of extra tunneling (was 15) */
 
#define DUN_TUN_CON_MAX   40
 
#define DUN_TUN_PEN_MIN   30 /* Chance of doors at room entrances (was 25) */
 
#define DUN_TUN_PEN_MAX   70
 
#define DUN_TUN_JCT_MIN   60 /* Chance of doors at tunnel junctions (was 90) */
 
#define DUN_TUN_JCT_MAX   90
 
#define DUN_STR_DEN   5 /* Density of streamers */
 
#define DUN_STR_RNG   5 /* Width of streamers */
 
#define DUN_STR_MAG   6 /* Number of magma streamers */
 
#define DUN_STR_MC   30 /* 1/chance of treasure per magma */
 
#define DUN_STR_QUA   4 /* Number of quartz streamers */
 
#define DUN_STR_QC   15 /* 1/chance of treasure per quartz */
 
#define DUN_STR_WLW   1 /* Width of lava & water streamers -KMW- */
 
#define DUN_STR_DWLW   8 /* Density of water & lava streams -KMW- */
 
#define DUN_MOS_DEN   2 /* Density of moss streamers */
 
#define DUN_MOS_RNG   10 /* Width of moss streamers */
 
#define DUN_STR_MOS   2 /* Number of moss streamers */
 
#define DUN_WAT_DEN   15 /* Density of rivers */
 
#define DUN_WAT_RNG   2 /* Width of rivers */
 
#define DUN_STR_WAT   3 /* Max number of rivers */
 
#define DUN_WAT_CHG   50 /* 1 in 50 chance of junction in river */
 
#define DUN_AMT_ROOM   9 /* Amount of objects for rooms */
 
#define DUN_AMT_ITEM   3 /* Amount of objects for rooms/corridors */
 
#define DUN_AMT_GOLD   3 /* Amount of treasure for rooms/corridors */
 
#define DUN_AMT_INVIS   3 /* Amount of invisible walls for rooms/corridors */
 
#define ALLOC_SET_CORR   1 /* Hallway */
 
#define ALLOC_SET_ROOM   2 /* Room */
 
#define ALLOC_SET_BOTH   3 /* Anywhere */
 
#define ALLOC_TYP_RUBBLE   1 /* Rubble */
 
#define ALLOC_TYP_TRAP   3 /* Trap */
 
#define ALLOC_TYP_GOLD   4 /* Gold */
 
#define ALLOC_TYP_OBJECT   5 /* Object */
 
#define ALLOC_TYP_INVIS   6 /* Invisible wall */
 
#define BLOCK_HGT   11
 
#define BLOCK_WID   11
 
#define MAX_ROOMS_ROW   (MAX_HGT / BLOCK_HGT)
 
#define MAX_ROOMS_COL   (MAX_WID / BLOCK_WID)
 
#define CENT_MAX   100
 
#define DOOR_MAX   200
 
#define WALL_MAX   500
 
#define TUNN_MAX   900
 

型定義

typedef struct dun_data dun_data
 

変数

int dun_tun_rnd
 ダンジョンの通路方向を掻き回す頻度(一回の試行ごとにで判定している) [詳解]
 
int dun_tun_chg
 ダンジョンの通路をクランクさせる頻度(一回の試行ごとにで判定している) [詳解]
 
int dun_tun_con
 ダンジョンの通路を継続して引き延ばす頻度(一回の試行ごとにで判定している) [詳解]
 
int dun_tun_pen
 ダンジョンの部屋入口にドアを設置する頻度(一回の試行ごとにで判定している) [詳解]
 
int dun_tun_jct
 ダンジョンの通路交差地点付近にドアを設置する頻度(一回の試行ごとにで判定している) [詳解]
 
dun_datadun
 Dungeon generation data – see "cave_gen()" [詳解]
 

詳解

ダンジョン生成処理のヘッダーファイル

日付
2014/08/08
著者
不明(変愚蛮怒スタッフ?)

マクロ定義詳解

◆ ALLOC_SET_BOTH

#define ALLOC_SET_BOTH   3 /* Anywhere */

◆ ALLOC_SET_CORR

#define ALLOC_SET_CORR   1 /* Hallway */

◆ ALLOC_SET_ROOM

#define ALLOC_SET_ROOM   2 /* Room */

◆ ALLOC_TYP_GOLD

#define ALLOC_TYP_GOLD   4 /* Gold */

◆ ALLOC_TYP_INVIS

#define ALLOC_TYP_INVIS   6 /* Invisible wall */

◆ ALLOC_TYP_OBJECT

#define ALLOC_TYP_OBJECT   5 /* Object */

◆ ALLOC_TYP_RUBBLE

#define ALLOC_TYP_RUBBLE   1 /* Rubble */

◆ ALLOC_TYP_TRAP

#define ALLOC_TYP_TRAP   3 /* Trap */

◆ ALLOW_CAVERNS_AND_LAKES

#define ALLOW_CAVERNS_AND_LAKES

◆ BLOCK_HGT

#define BLOCK_HGT   11

◆ BLOCK_WID

#define BLOCK_WID   11

◆ CENT_MAX

#define CENT_MAX   100

◆ DARK_EMPTY

#define DARK_EMPTY   5

フロア全体が暗い可能性の基本確率(1/定数) / 1/chance of arena level NOT being lit (2)

◆ DOOR_MAX

#define DOOR_MAX   200

◆ DUN_AMT_GOLD

#define DUN_AMT_GOLD   3 /* Amount of treasure for rooms/corridors */

◆ DUN_AMT_INVIS

#define DUN_AMT_INVIS   3 /* Amount of invisible walls for rooms/corridors */

◆ DUN_AMT_ITEM

#define DUN_AMT_ITEM   3 /* Amount of objects for rooms/corridors */

◆ DUN_AMT_ROOM

#define DUN_AMT_ROOM   9 /* Amount of objects for rooms */

◆ DUN_CAVERN

#define DUN_CAVERN   20

洞窟状のダンジョンが生成される基本確率(1/定数) / 1/chance of having a cavern level

◆ DUN_DEST

#define DUN_DEST   18

破壊地形がフロアに発生する基本確率(1/定数) / 1/chance of having a destroyed level

◆ DUN_MOS_DEN

#define DUN_MOS_DEN   2 /* Density of moss streamers */

◆ DUN_MOS_RNG

#define DUN_MOS_RNG   10 /* Width of moss streamers */

◆ DUN_STR_DEN

#define DUN_STR_DEN   5 /* Density of streamers */

◆ DUN_STR_DWLW

#define DUN_STR_DWLW   8 /* Density of water & lava streams -KMW- */

◆ DUN_STR_MAG

#define DUN_STR_MAG   6 /* Number of magma streamers */

◆ DUN_STR_MC

#define DUN_STR_MC   30 /* 1/chance of treasure per magma */

◆ DUN_STR_MOS

#define DUN_STR_MOS   2 /* Number of moss streamers */

◆ DUN_STR_QC

#define DUN_STR_QC   15 /* 1/chance of treasure per quartz */

◆ DUN_STR_QUA

#define DUN_STR_QUA   4 /* Number of quartz streamers */

◆ DUN_STR_RNG

#define DUN_STR_RNG   5 /* Width of streamers */

◆ DUN_STR_WAT

#define DUN_STR_WAT   3 /* Max number of rivers */

◆ DUN_STR_WLW

#define DUN_STR_WLW   1 /* Width of lava & water streamers -KMW- */

◆ DUN_TUN_CHG_MAX

#define DUN_TUN_CHG_MAX   60

◆ DUN_TUN_CHG_MIN

#define DUN_TUN_CHG_MIN   20 /* Chance of changing direction (was 30) */

◆ DUN_TUN_CON_MAX

#define DUN_TUN_CON_MAX   40

◆ DUN_TUN_CON_MIN

#define DUN_TUN_CON_MIN   10 /* Chance of extra tunneling (was 15) */

◆ DUN_TUN_JCT_MAX

#define DUN_TUN_JCT_MAX   90

◆ DUN_TUN_JCT_MIN

#define DUN_TUN_JCT_MIN   60 /* Chance of doors at tunnel junctions (was 90) */

◆ DUN_TUN_PEN_MAX

#define DUN_TUN_PEN_MAX   70

◆ DUN_TUN_PEN_MIN

#define DUN_TUN_PEN_MIN   30 /* Chance of doors at room entrances (was 25) */

◆ DUN_TUN_RND_MAX

#define DUN_TUN_RND_MAX   20

◆ DUN_TUN_RND_MIN

#define DUN_TUN_RND_MIN   5 /* Chance of random direction (was 10) */

◆ DUN_UNUSUAL

#define DUN_UNUSUAL   250

通常ではない部屋が生成される基本確率(レベル/定数) / Level/chance of unusual room (was 200)

◆ DUN_WAT_CHG

#define DUN_WAT_CHG   50 /* 1 in 50 chance of junction in river */

◆ DUN_WAT_DEN

#define DUN_WAT_DEN   15 /* Density of rivers */

◆ DUN_WAT_RNG

#define DUN_WAT_RNG   2 /* Width of rivers */

◆ EMPTY_LEVEL

#define EMPTY_LEVEL   24

アリーナレベル(外壁のないフロア)の生成される基本確率(1/定数) / 1/chance of being 'empty' (15)

◆ LAKE_LEVEL

#define LAKE_LEVEL   24

川や湖のあるフロアの生成される確率(1/定数) / 1/chance of being a lake on the level

◆ MAX_ROOMS_COL

#define MAX_ROOMS_COL   (MAX_WID / BLOCK_WID)

◆ MAX_ROOMS_ROW

#define MAX_ROOMS_ROW   (MAX_HGT / BLOCK_HGT)

◆ SAFE_MAX_ATTEMPTS

#define SAFE_MAX_ATTEMPTS   5000

生成処理基本試行回数

◆ SMALL_LEVEL

#define SMALL_LEVEL   3

小さいフロアの生成される基本確率(1/定数) / 1/chance of smaller size (3)

◆ TUNN_MAX

#define TUNN_MAX   900

◆ WALL_MAX

#define WALL_MAX   500

型定義詳解

◆ dun_data

typedef struct dun_data dun_data

変数詳解

◆ dun

dun_data* dun

Dungeon generation data – see "cave_gen()"

◆ dun_tun_chg

int dun_tun_chg

ダンジョンの通路をクランクさせる頻度(一回の試行ごとにで判定している)

◆ dun_tun_con

int dun_tun_con

ダンジョンの通路を継続して引き延ばす頻度(一回の試行ごとにで判定している)

◆ dun_tun_jct

int dun_tun_jct

ダンジョンの通路交差地点付近にドアを設置する頻度(一回の試行ごとにで判定している)

◆ dun_tun_pen

int dun_tun_pen

ダンジョンの部屋入口にドアを設置する頻度(一回の試行ごとにで判定している)

◆ dun_tun_rnd

int dun_tun_rnd

ダンジョンの通路方向を掻き回す頻度(一回の試行ごとにで判定している)