Design Patterns
standard_maze_builder.h
Go to the documentation of this file.
1 // Based on "Design Patterns: Elements of Reusable Object-Oriented Software"
2 // book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
3 //
4 // Created by Bartosz Rachwal. The National Institute of Advanced Industrial Science and Technology, Japan.
5 
6 #ifndef CREATIONAL_BUILDER_STANDARD_MAZE_BUILDER_H_
7 #define CREATIONAL_BUILDER_STANDARD_MAZE_BUILDER_H_
8 
10 
11 namespace creational
12 {
13 namespace builder
14 {
16 {
17  public:
19  ~StandardMazeBuilder() override;
20 
21  virtual void BuildMaze() override;
22  virtual void BuildRoom(const int& room_number) override;
23  virtual void BuildDoor(const int& first_room_number, const int& second_room_number) override;
24 
25  virtual commons::Maze *GetMaze() override;
26 
27  private:
28  virtual commons::Direction CommonWall(const commons::Room& first_room, const commons::Room& second_room) const;
29  commons::Maze* current_maze_;
30 };
31 }
32 }
33 
34 #endif
35 
Direction
Definition: direction.h:13
Definition: maze_builder_interface.h:15
Definition: bombed_maze_factory.cc:11
StandardMazeBuilder()
Definition: standard_maze_builder.cc:15
Definition: room.h:16
virtual void BuildRoom(const int &room_number) override
Definition: standard_maze_builder.cc:27
~StandardMazeBuilder() override
Definition: standard_maze_builder.cc:17
virtual void BuildDoor(const int &first_room_number, const int &second_room_number) override
Definition: standard_maze_builder.cc:38
virtual commons::Maze * GetMaze() override
Definition: standard_maze_builder.cc:48
Definition: standard_maze_builder.h:15
virtual void BuildMaze() override
Definition: standard_maze_builder.cc:22
Definition: maze.h:17