Implementation of maze-related algorithms
Project description
mazely
An API for solving and generating mazes, written in Python.
Documentation
A library reference can be found here.
Usage examples
Run the Python scripts below from the repository directory.
Also, see the examples folder.
Load and display a maze
Create an instance of Maze
and pass a path to a maze file to load an existing maze. Use the show_grid()
method from Utilities
to display a grid of the maze.
from mazely import Maze, Utilities
maze = Maze(path="resources/2015apec.maze")
utils = Utilities()
utils.show_grid(maze.grid)
Solve a maze and display its solution
A solution is always made when you create an instance of Maze
. To display the solution, use the show_solution()
method from Utilities
.
from mazely import Maze, Utilities
maze = Maze(path="resources/2019japan.maze")
utils = Utilities()
utils.show_solution()
Generate a maze and display its solution
To generate a maze, pass the row and column counts as you create a Maze
instance. Refer to the previous section to display its solution.
from mazely import Maze, Utilities
maze = Maze(32, 32)
utils = Utilities()
utils.show_solution()
Maze files
The library only supports a single maze format, as specified below.
File format
Each cell is 3 characters wide and 3 characters tall.
+---+
| |
+---+
To specify the goal cell, replace the center with G
.
+---+
| G |
+---+
And replace with S
for the start cell.
+---+
| S |
+---+
Here is an example of a 3x3 maze.
+---+---+---+
| |
+ +---+ +
| G | |
+---+---+ +
| S |
+---+---+---+
Links
Here are a couple links to collections of maze files (format may not be supported):
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.