Initial fix for large center rooms not having entry exit.

This commit is contained in:
Zed A. Shaw 2026-03-07 00:10:42 -05:00
parent da7f24c126
commit 47c0d4a5f0
8 changed files with 130 additions and 85 deletions

View file

@ -1,10 +1,10 @@
#pragma once
#include "algos/matrix.hpp"
#include "game/map.hpp"
#include <functional>
namespace maze {
struct Builder {
Matrix& $walls;
std::vector<Room>& $rooms;
@ -16,14 +16,18 @@ namespace maze {
init();
}
void hunt_and_kill(Point on={1,1});
void init();
void hunt_and_kill(Point on={1,1});
void place_rooms();
void ensure_doors();
void enclose();
void randomize_rooms();
void inner_donut(float outer_rad, float inner_rad);
void inner_box(size_t outer_size, size_t inner_size);
void divide(Point start, Point end);
void remove_dead_ends();
void dump(const std::string& msg);
void perimeter(size_t x, size_t y, size_t width, size_t height, std::function<void(size_t x, size_t y)> cb);
void open_box(size_t outer_size, size_t inner_size);
};
}