mazelib icon indicating copy to clipboard operation
mazelib copied to clipboard

A Python library for creating and solving mazes.

Results 13 mazelib issues
Sort by recently updated
recently updated
newest added

This is a research topic. I think it is doable... if you're willing for the algorithm to be painfully slow. Can it be done smartly? https://stackoverflow.com/questions/7369945/algorithm-for-maze-generation-with-no-dead-ends http://www.michaelchaney.com/2014/03/unicursal-mazes/ http://people.cs.aau.dk/~normark/prog3-03/html/notes/fu-intr-2_themes-hilbert-sec.html https://en.wikipedia.org/wiki/Space-filling_curve

research

Notice how this project has a really great front page on PyPI: https://pypi.org/project/openpyxl/ But mazelib's is really short and dull https://pypi.org/project/mazelib/ This is because the `openpyxl` project tries to copy/paste...

enhancement

The generator unit tests are pretty good. But they need one more test feature for each generator type: test if the maze is solvable? One way to solve this would...

test
help wanted
good first issue

All of the maze solvers in `mazelib` are supposed to work with imperfect mazes. But I recently found that the `Collision` solver fails against DungeonRooms and imperfect mazes (with loops)....

enhancement
research

When I originally developed this library I was able to prove (mathematically) that there was no difference between a maze with thick or thing walls when it came to generating...

documentation

Right now the .pxd files work, and the Cythonized version is certainly faster than the pure Python code. But I haven't done any optimization for performance. I bet there are...

enhancement

Here is a small update I find to be useful for people who want to test their algorithms.

documentation

The variety of wheels built for this repo, and deployed on pypi.org, is low. We could use GitHub Actions "Artifacts" to build a wheel for: * [ ] various Windows...

enhancement
help wanted

This project (for the obvious historical reasons) uses `setup.py`. And I have not been bothered to change that because, "It works, so who cares." But it looks like future versions...

enhancement
help wanted
good first issue

Setting `np.random.seed` is alright, but IMO it would be better to add a seed + RNG to each generator using [np.random.default_rng(seed)](https://numpy.org/doc/stable/reference/random/index.html) so that their RNG is self contained. This is...

enhancement