Gave up on adding a buffer and I'll just let rooms be near eachother. Seems to produce interesting results anyway.

This commit is contained in:
Zed A. Shaw 2026-03-09 11:12:26 -04:00
parent 8b129aea6b
commit 74f92dfe2c
5 changed files with 45 additions and 32 deletions

View file

@ -6,6 +6,8 @@
#include "constants.hpp"
#include "algos/maze.hpp"
#define DUMP 0
using std::string;
using matrix::Matrix;
@ -14,12 +16,12 @@ TEST_CASE("hunt-and-kill", "[mazes]") {
maze::Builder maze(map);
maze.hunt_and_kill();
// maze.dump("BASIC MAZE");
if(DUMP) maze.dump("BASIC MAZE");
maze.randomize_rooms(ROOM_SIZE);
maze.hunt_and_kill();
maze.make_doors();
// maze.dump("ROOM MAZE");
if(DUMP) maze.dump("ROOM MAZE");
REQUIRE(map.$dead_ends.size() > 0);
REQUIRE(map.$rooms.size() > 0);
@ -39,7 +41,7 @@ TEST_CASE("hunt-and-kill box", "[mazes]") {
maze.open_box(6);
maze.make_doors();
if(i == 42) {
if(i == 41 && DUMP) {
maze.dump("INNER BOX");
}
}
@ -52,7 +54,7 @@ TEST_CASE("hunt-and-kill ring", "[mazes]") {
maze.inner_donut(5.5, 3.5);
maze.hunt_and_kill();
// maze.dump("INNER RING");
if(DUMP) maze.dump("INNER RING");
REQUIRE(maze.$rooms.size() == 0);
}
@ -64,7 +66,7 @@ TEST_CASE("hunt-and-kill fissure", "[mazes]") {
maze.divide({3,3}, {19,18});
maze.hunt_and_kill();
// maze.dump("FISSURE MAZE");
if(DUMP) maze.dump("FISSURE MAZE");
REQUIRE(maze.$rooms.size() == 0);
}
@ -77,7 +79,7 @@ TEST_CASE("hunt-and-kill no-dead-ends", "[mazes]") {
maze.remove_dead_ends();
maze.enclose();
// maze.dump("NO DEAD ENDS");
if(DUMP) maze.dump("NO DEAD ENDS");
}
TEST_CASE("hunt-and-kill too much", "[mazes]") {
@ -93,8 +95,8 @@ TEST_CASE("hunt-and-kill too much", "[mazes]") {
maze.hunt_and_kill();
maze.make_doors();
// if(i == 41) {
// maze.dump("COMBINED");
// }
if(i == 41 && DUMP) {
maze.dump("COMBINED");
}
}
}