Maze Generator and Solver using DFS
Project description
About Project
Maze Generator and Solver built with Python
Install
pip install CamsMazes
How to use Maze and MazeVisualizer
Use Maze and MazeVisulizer to open a GUI to view maze generation
from CamsMazes.maze import Maze
from CamsMazes.maze_visaulizer import MazeVisualizer
# How to use Maze
# Create Maze with minimum arguments
maze = Maze(num_rows=40, num_cols=40)
# Starts generatring maze at (5, 10). End cell is set to (25, 15)
maze_2 = Maze(num_rows=60, num_cols=40, start_row=5, start_col=10, end_row=25, end_col=15)
# If seed is provided, the seed is used to generate the maze
maze_3 = Maze(num_rows=20, num_cols=20, seed="test seed")
# How to use MazeVisualizer
# Create MazeVisualizer with minimum arguments
maze_visualizer = Maze(maze) # Opens GUI and the maze generation can be viewed
maze_visualizer2 = Maze(maze_2, cell_size=10) # Each cell in maze is cell_size pixels by cell_size pixels
maze_visualizer3 = Maze(maze_3, cell_size=10, delay_ms=2) # Delay (in milliseconds) between each maze update during maze generation
Exporting maze to image
Use Maze.to_image to export maze to png
from CamsMazes.maze import Maze
maze = Maze(num_rows=40, num_cols=40)
maze.to_img(file_name="maze") # Creates maze.png
maze.to_img(file_name="maze_solution", solution=True) # Creates maze_solution.png (Image contains solution)
maze.to_img(file_name="maze_2", cell_size=10) # Creates maze_2.png where each cell is 10 pixels by 10 pixels
Exporting maze generation to gif
Use Maze.to_gif to export maze generation to gif
from CamsMazes.maze import Maze
maze = Maze(num_rows=40, num_cols=40)
maze.to_gif(file_name="maze") # Creates maze.gif
maze.to_gif(file_name="maze_2", cell_size=10) # Creates maze_2.gif where each cell is 10 pixels by 10 pixels
Exporting maze to txt file
Use Maze.to_txt to export maze to txt
from CamsMazes.maze import Maze
maze = Maze(num_rows=40, num_cols=40)
maze.to_txt() # Creates maze.txt
maze.to_txt(file_name="maze_2") # file_name can be supplied (maze_2.txt is created)
maze.to_txt(solution=True) # Populates txt with solution
Exporting maze to JSON
Use Maze.to_json to export maze to JSON.
See to_json() for JSON format
from CamsMazes.maze import Maze
maze = Maze(num_rows=40, num_cols=40)
json = maze.to_json()
Printing maze to console
Use Maze.print to print maze to console
from CamsMazes.maze import Maze
maze = Maze(num_rows=40, num_cols=40)
maze.print()
maze.print(show_solution=True) # Maze Text will include solution path
Maze
Exhaustive documentation for Maze
MazeVisualizer
Exhaustive documentation for MazeVisualizer
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file CamsMazes-1.0.10.tar.gz.
File metadata
- Download URL: CamsMazes-1.0.10.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fd22093c36bd930d3bd3ddc3b5d5e844885e8e463ec693fdb68b0ce3baad40a
|
|
| MD5 |
4fae895208d7a96260133d4e17bdc8f0
|
|
| BLAKE2b-256 |
aa08dd046c8b7471611fdf2dc75b85e627e315ce437fd5b3fc64f3985c1afd81
|
File details
Details for the file CamsMazes-1.0.10-py3-none-any.whl.
File metadata
- Download URL: CamsMazes-1.0.10-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a2a9b38067e441c78af321936ef9087bf4f62b276031d676bb675d12e2295dd
|
|
| MD5 |
06a1f91a7b3e3dce2c8ab4d4c19959c1
|
|
| BLAKE2b-256 |
a4308749272386755074d656d74df621b7f2b32753f1f1e4c55456d2a03872a5
|