Generating and solving maze
Project description
MMaze
A python maze generator and solver.
Usage
Generating a maze with specific width and height. Print on screen directly.
import mmaze
m = mmaze.generate(width=3, height=3)
print(m)
"""
■■■■■■■
■ ■ ■
■ ■ ■■■
■ ■
■■■ ■■■
■ ■
■■■■■■■
"""
Plot the maze to image.
m = mmaze.generate(width=3, height=3)
m.plot()
Get solution and plot on screen:
m = mmaze.generate(width=3, height=3)
solutions = m.solve(start=(0, 0), end=(2, 2))
print(m.tostring(solution=solutions[0]))
"""
■■■■■■■
■S■ ■
■*■ ■■■
■*** ■
■■■*■■■
■ **E■
■■■■■■■
"""
Generate a solution and plot to an image.
m = mmaze.generate(width=10, height=10)
solutions = m.solve(start=(0, 0), end=(9, 9))
m.plot(solution=solutions[0])
To make a symmetric maze by passing a symmetry method. Note that width or height must be odd number when you want to solve the generated maze.
In this repo, only backtracking / growingtree / huntandkill / prims algorithms can generate symmetric maze.
start = (0, 0)
end = (10, 10)
m = mmaze.generate(width=11, height=11, symmetry="horizontal")
solutions = m.solve(start=start, end=end)
m.plot(solution=solutions[0], start=start, end=end)
Install
pip install mmaze
More demo use cases
Demo can be found in test file: tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mmaze-0.1.0.tar.gz
(16.9 kB
view hashes)
Built Distribution
mmaze-0.1.0-py3-none-any.whl
(23.0 kB
view hashes)