Closed john-science closed 5 years ago
I have decided not to implement this. Instead, I will remove all maze solving algorithms that can not solve imperfect mazes.
The idea here is that I want this library to support the creation of ALL kinds of mazes, but only support maze-solving algorithms that are universal.
It will not be possible 100% of the time to warn users. BUT if the user tries to run a solver like
WallFollower
that only works on perfect mazes against a maze generated byCellularAutomaton
that generates mazes that have loops sometimes, the user should get a warning.This will not always be possible, since the user can manually create a maze and dump it into any solver. BUT there should be some control logic to determine if we have a mismatch between generator and solver.
To start, perhaps we can just have a Generator declare if it creates perfect mazes.