I can make a map with one room 'randomly' generated and calculate paths.

This commit is contained in:
Zed A. Shaw 2024-09-27 00:10:41 -04:00
parent 8b67a25732
commit 6cb3366912
5 changed files with 58 additions and 14 deletions

20
map.hpp
View file

@ -17,7 +17,7 @@ void add_neighbors(Matrix &closed, size_t j, size_t i);
class Map {
Matrix m_input_map;
Matrix m_walls_map;
Matrix m_walls;
Matrix m_paths;
int m_limit = 0;
public:
@ -26,13 +26,27 @@ public:
Matrix& paths() { return m_paths; }
Matrix& input_map() { return m_input_map; }
Matrix& walls() { return m_walls_map; }
Matrix& walls() { return m_walls; }
int limit() { return m_limit; }
size_t width() { return m_walls[0].size(); }
size_t height() { return m_walls.size(); }
void make_room(size_t origin_y, size_t origin_x, size_t width, size_t height);
void dump() {
dump_map("PATHS", m_paths);
dump_map("WALLS", m_walls);
dump_map("INPUT", m_input_map);
}
void generate();
Map(Matrix input_map, Matrix walls_map, int limit) :
m_input_map(input_map),
m_walls_map(walls_map), m_limit(limit) {
m_walls(walls_map), m_limit(limit) {
}
Map(size_t width, size_t height);
Map(Map &map) = delete;
};