Files
Maze/include/maze.hpp
ParkSuMin d905c1a3f9 Refactoring and updating
Fix bug, when steps = 0, but player didn't lose
2025-04-30 19:36:14 +03:00

35 lines
641 B
C++

#ifndef MAZE_HPP
#define MAZE_HPP
#include <vector>
#include <unordered_map>
#include <ctime>
#include <climits>
#include <random>
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<int, std::vector<bool>> 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