#ifndef MAZE_HPP #define MAZE_HPP #include #include #include #include #include const int MAZE_SIZE = 9; const int DIRECTIONS = 4; const int MIN_WALLS = 3; const int MAX_WALLS = 5; class Maze{ private: std::unordered_map> graph; int moves_left; bool is_path_exists(int start, int end); struct Edge { int node1, dir1; int node2, dir2; }; public: bool test_mode; Maze(bool flag, int steps); int get_moves_left() const; bool is_wall(int node, int direction) const; void set_moves_left(int _steps); }; #endif