Roguelike
 All Classes Namespaces Functions Variables Typedefs Friends Pages
building.h
1 
23 #ifndef _BUILDING_H
24 #define _BUILDING_H
25 
26 #include <binary_space.h>
27 #include <room.h>
28 #include <stdlib.h>
29 #include <defs.h>
30 
31 typedef std::vector<std::vector<Tile> > TileMatrix;
32 typedef std::vector<std::vector<Tile*> > TilePointerMatrix;
33 
37 class Building
38 {
39  private:
44 
48  int height;
49 
53  int width;
54 
59 
66  //plan floor_plan;
67 
75  //shape building_shape;
76 
81 
86 
90  std::vector<Room> rooms;
91 
95  TileMatrix floor_plan;
96 
103  void house_from_bst();
104 
109  void rooms_from_tree(BSpaceTree& tree);
110 
114  void rooms_to_floor();
115 
119  bool add_doors(BSpaceTree& bst);
120 
124  void connect_nodes(BSpaceNode* node);
125 
129  void add_random_door(BSpaceNode* node);
130 
134  int surrounding_walls(int y, int x);
135 
136  public:
140  Building();
141 
154  Building(int x, int y, int _height, int _width);
155 
159  Tile get_floor();
160 
164  Tile get_wall();
165 
169  TileMatrix& get_floor_plan();
170 
174  int get_x();
175 
179  int get_y();
180 
184  int get_width();
185 
189  int get_height();
190 
194  Tile tile_at(int y, int x);
195 };
196 
197 #endif
Definition: binary_space.h:33
int get_width()
Definition: building.cpp:209
IntPoint tl
Definition: building.h:43
Definition: binary_space.h:51
void rooms_from_tree(BSpaceTree &tree)
Definition: building.cpp:60
void house_from_bst()
Definition: building.cpp:49
void rooms_to_floor()
Definition: building.cpp:69
std::vector< Room > rooms
Definition: building.h:90
Definition: building.h:37
void add_random_door(BSpaceNode *node)
Definition: building.cpp:132
void connect_nodes(BSpaceNode *node)
Definition: building.cpp:102
int height
Definition: building.h:48
TileMatrix & get_floor_plan()
Definition: building.cpp:194
int surrounding_walls(int y, int x)
Definition: building.cpp:162
Tile wall
Definition: building.h:80
Definition: defs.h:66
Definition: int_point.h:26
int get_x()
Definition: building.cpp:199
bool add_doors(BSpaceTree &bst)
Definition: building.cpp:95
TileMatrix floor_plan
Definition: building.h:95
Tile get_floor()
Definition: building.cpp:184
Building()
Definition: building.cpp:25
Tile get_wall()
Definition: building.cpp:189
int num_floors
Definition: building.h:58
int width
Definition: building.h:53
Tile floor
Definition: building.h:85
int get_height()
Definition: building.cpp:214
int get_y()
Definition: building.cpp:204
Tile tile_at(int y, int x)
Definition: building.cpp:219