Algos directory is setup.
This commit is contained in:
parent
0064664556
commit
b91e9ffaf6
38 changed files with 46 additions and 47 deletions
29
src/algos/maze.hpp
Normal file
29
src/algos/maze.hpp
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#pragma once
|
||||
#include "algos/matrix.hpp"
|
||||
#include "map.hpp"
|
||||
|
||||
namespace maze {
|
||||
|
||||
|
||||
struct Builder {
|
||||
Matrix& $walls;
|
||||
std::vector<Room>& $rooms;
|
||||
std::vector<Point>& $dead_ends;
|
||||
|
||||
Builder(Map& map) :
|
||||
$walls(map.$walls), $rooms(map.$rooms), $dead_ends(map.$dead_ends)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
void hunt_and_kill(Point on={1,1});
|
||||
|
||||
void init();
|
||||
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);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue