Map is now cleaned out of anything not directly related to the map, and there's a new WorldBuilder class that will turn into a more sophisticated random world generator.

This commit is contained in:
Zed A. Shaw 2024-12-02 06:32:00 -05:00
parent 3f7a9cc124
commit 68d8bdce12
8 changed files with 296 additions and 266 deletions

18
worldbuilder.hpp Normal file
View file

@ -0,0 +1,18 @@
#pragma once
#include "map.hpp"
class WorldBuilder {
public:
Map& $map;
WorldBuilder(Map &map) : $map(map) { }
void partition_map(Room &cur, int depth);
void make_room(size_t origin_y, size_t origin_x, size_t width, size_t height);
void add_door(Room &room);
void generate();
void set_door(Room &room, int value);
void place_rooms(Room &root);
bool dig_tunnel(Point &src, Point &target);
};