Initial fix for large center rooms not having entry exit.
This commit is contained in:
parent
da7f24c126
commit
47c0d4a5f0
8 changed files with 130 additions and 85 deletions
|
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue