OSDN Git Service

Merge pull request #2122 from sikabane-works/release/3.0.0Alpha52
[hengbandforosx/hengbandosx.git] / src / room / room-types.h
1 #pragma once
2
3 #include "util/enum-converter.h"
4 #include "util/enum-range.h"
5
6 /* 部屋型ID / Room types for room_build() */
7 enum class RoomType {
8     NORMAL = 0, /*!<部屋型ID:基本長方形 / Simple (33x11) */
9     OVERLAP = 1, /*!<部屋型ID:長方形二つ重ね / Overlapping (33x11) */
10     CROSS = 2, /*!<部屋型ID:十字 / Crossed (33x11) */
11     INNER_FEAT = 3, /*!<部屋型ID:二重壁 / Large (33x11) */
12     NEST = 4, /*!<部屋型ID:モンスターNEST / Monster nest (33x11) */
13     PIT = 5, /*!<部屋型ID:モンスターPIT / Monster pit (33x11) */
14     LESSER_VAULT = 6, /*!<部屋型ID:小型VAULT / Lesser vault (33x22) */
15     GREATER_VAULT = 7, /*!<部屋型ID:大型VAULT / Greater vault (66x44) */
16     FRACAVE = 8, /*!<部屋型ID:フラクタル地形 / Fractal room (42x24) */
17     RANDOM_VAULT = 9, /*!<部屋型ID:ランダムVAULT / Random vault (44x22) */
18     OVAL = 10, /*!<部屋型ID:円形部屋 / Circular rooms (22x22) */
19     CRYPT = 11, /*!<部屋型ID:聖堂 / Crypts (22x22) */
20     TRAP_PIT = 12, /*!<部屋型ID:トラップつきモンスターPIT / Trapped monster pit */
21     TRAP = 13, /*!<部屋型ID:トラップ部屋 / Piranha/Armageddon trap room */
22     GLASS = 14, /*!<部屋型ID:ガラス部屋 / Glass room */
23     ARCADE = 15, /*!<部屋型ID:商店 / Arcade */
24     FIXED = 16, /*!<部屋型ID:固定部屋 / Fixed room */
25     MAX = 17, /*!<部屋型ID最大数 */
26 };
27
28 constexpr int ROOM_TYPE_MAX = enum2i(RoomType::MAX);
29
30 constexpr auto ROOM_TYPE_LIST = EnumRange(RoomType::NORMAL, RoomType::FIXED);