Hengband
2.1.4
src
rooms.h
[詳解]
1
/*!
2
* @file rooms.h
3
* @brief 部屋生成処理の定義ヘッダー / Header file for rooms.c, used only in generate.c
4
* @date 2014/09/07
5
* @author
6
* Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke<br>
7
* This software may be copied and distributed for educational, research,
8
* and not for profit purposes provided that this copyright and statement
9
* are included in all such copies. Other copyrights may also apply.<br
10
*/
11
12
#define DUN_ROOMS_MAX 40
/*!< 部屋生成処理の最大試行数 / Number of rooms to attempt (was 50) */
13
14
15
/* 池型地形の生成ID / Room types for generate_lake() */
16
#define LAKE_T_LAVA 1
/*!< 池型地形ID: 溶岩 */
17
#define LAKE_T_WATER 2
/*!< 池型地形ID: 池 */
18
#define LAKE_T_CAVE 3
/*!< 池型地形ID: 空洞 */
19
#define LAKE_T_EARTH_VAULT 4
/*!< 池型地形ID: 地属性VAULT */
20
#define LAKE_T_AIR_VAULT 5
/*!< 池型地形ID: 風属性VAULT */
21
#define LAKE_T_WATER_VAULT 6
/*!< 池型地形ID: 水属性VAULT */
22
#define LAKE_T_FIRE_VAULT 7
/*!< 池型地形ID: 火属性VAULT */
23
24
25
/* 部屋型ID / Room types for room_build() */
26
#define ROOM_T_NORMAL 0
/*!<部屋型ID:基本長方形 / Simple (33x11) */
27
#define ROOM_T_OVERLAP 1
/*!<部屋型ID:長方形二つ重ね / Overlapping (33x11) */
28
#define ROOM_T_CROSS 2
/*!<部屋型ID:十字 / Crossed (33x11) */
29
#define ROOM_T_INNER_FEAT 3
/*!<部屋型ID:二重壁 / Large (33x11) */
30
#define ROOM_T_NEST 4
/*!<部屋型ID:モンスターNEST / Monster nest (33x11) */
31
#define ROOM_T_PIT 5
/*!<部屋型ID:モンスターPIT / Monster pit (33x11) */
32
#define ROOM_T_LESSER_VAULT 6
/*!<部屋型ID:小型VAULT / Lesser vault (33x22) */
33
#define ROOM_T_GREATER_VAULT 7
/*!<部屋型ID:大型VAULT / Greater vault (66x44) */
34
#define ROOM_T_FRACAVE 8
/*!<部屋型ID:フラクタル地形 / Fractal cave (42x24) */
35
#define ROOM_T_RANDOM_VAULT 9
/*!<部屋型ID:ランダムVAULT / Random vault (44x22) */
36
#define ROOM_T_OVAL 10
/*!<部屋型ID:円形部屋 / Circular rooms (22x22) */
37
#define ROOM_T_CRYPT 11
/*!<部屋型ID:聖堂 / Crypts (22x22) */
38
#define ROOM_T_TRAP_PIT 12
/*!<部屋型ID:トラップつきモンスターPIT / Trapped monster pit */
39
#define ROOM_T_TRAP 13
/*!<部屋型ID:トラップ部屋 / Piranha/Armageddon trap room */
40
#define ROOM_T_GLASS 14
/*!<部屋型ID:ガラス部屋 / Glass room */
41
#define ROOM_T_ARCADE 15
/*!<部屋型ID:商店 / Arcade */
42
43
#define ROOM_T_MAX 16
/*!<部屋型ID最大数 */
44
45
46
/*
47
* Room type information
48
*/
49
typedef
struct
room_info_type
room_info_type
;
50
51
struct
room_info_type
52
{
53
/* Allocation information. */
54
s16b
prob
[
ROOM_T_MAX
];
55
56
/* Minimum level on which room can appear. */
57
byte
min_level
;
58
};
59
60
61
/* Externs */
62
#ifdef ALLOW_CAVERNS_AND_LAKES
63
extern
void
build_lake
(
int
type);
64
extern
void
build_cavern
(
void
);
65
#endif
/* ALLOW_CAVERNS_AND_LAKES */
66
67
extern
bool
generate_rooms
(
void
);
68
extern
void
build_maze_vault
(
int
x0,
int
y0,
int
xsize,
int
ysize,
bool
is_vault);
69
room_info_type
Definition:
rooms.h:51
ROOM_T_MAX
#define ROOM_T_MAX
部屋型ID最大数
Definition:
rooms.h:43
room_info_type::prob
s16b prob[ROOM_T_MAX]
Definition:
rooms.h:54
build_lake
void build_lake(int type)
Definition:
rooms.c:4061
build_maze_vault
void build_maze_vault(int x0, int y0, int xsize, int ysize, bool is_vault)
Definition:
rooms.c:4718
room_info_type::min_level
byte min_level
Definition:
rooms.h:57
build_cavern
void build_cavern(void)
Definition:
rooms.c:3877
s16b
signed short s16b
Definition:
h-type.h:92
generate_rooms
bool generate_rooms(void)
部屋生成処理のメインルーチン(Sangbandを経由してOangbandからの実装を引用) / Generate rooms in dungeon.
Definition:
rooms.c:6666
2019年12月07日(土) 22時41分24秒作成 - Hengband / 構成:
1.8.15