Maze gen can now more efficiently produce an interesting map that is fully pathable.
This commit is contained in:
parent
f85ae8a6c6
commit
e6fcbd8dcf
3 changed files with 75 additions and 8 deletions
|
|
@ -7,7 +7,7 @@
|
|||
#include "algos/maze.hpp"
|
||||
#include "algos/stats.hpp"
|
||||
|
||||
#define DUMP 1
|
||||
#define DUMP 0
|
||||
|
||||
using std::string;
|
||||
using matrix::Matrix;
|
||||
|
|
@ -106,7 +106,7 @@ TEST_CASE("hunt-and-kill validator", "[mazes]") {
|
|||
bool valid = true;
|
||||
Stats mofm;
|
||||
|
||||
for(int i = 0; i < 100; i++) {
|
||||
for(int i = 0; i < 10; i++) {
|
||||
Stats door_prob;
|
||||
|
||||
do {
|
||||
|
|
@ -123,16 +123,24 @@ TEST_CASE("hunt-and-kill validator", "[mazes]") {
|
|||
maze.enclose();
|
||||
|
||||
valid = maze.validate();
|
||||
if(valid && i == 99) {
|
||||
maze.dump("VALIDATED");
|
||||
if(!valid) valid = maze.repair();
|
||||
|
||||
if(i == 9) {
|
||||
if(valid) {
|
||||
maze.dump("VALIDATED");
|
||||
} else {
|
||||
matrix::dump("PATHING", maze.$paths.$paths);
|
||||
}
|
||||
}
|
||||
|
||||
door_prob.sample(valid);
|
||||
} while(!valid);
|
||||
|
||||
door_prob.dump();
|
||||
mofm.sample(door_prob.mean());
|
||||
}
|
||||
|
||||
fmt::println("FINAL m-of-m");
|
||||
mofm.dump();
|
||||
REQUIRE(mofm.mean() > 0.20);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue