Skip to main content

Python PNG Maze Generator

Project description

python-maze

Generates a PNG maze. Thanks to Orestis Zekai for the original algorithm.

Included Maze Types

Line maze

  • Grid with separate wall segments
  • Generates 2 PNGs -- one solved, one unsolved
  • Every grid square is usable as a maze cell
  • Can make more interesting maze generation by adding iterations
    • Iteration is currently very simple -- it's set to maximize the length of the solved path
  • Smart Mode: Turn on for generating smarter mazes, that make up more of the area
  • Usage:
usage: line_maze.py [-h] [-H HEIGHT] [-W WIDTH] [-S] [-I ITERATIONS]

optional arguments:
  -h, --help            show this help message and exit
  -H HEIGHT, --height HEIGHT
                        how high to make the maze
  -W WIDTH, --width WIDTH
                        how wide to make the maze
  -S, --smart           optimize the maze by being smart
  -I ITERATIONS, --iterations ITERATIONS
                        how many times to try

Multithreaded Line Maze Generator

  • Generates line mazes, using smart mode
  • May melt CPU's
  • Defaults are:
    • 50 by 50 maze
    • iterated 100 times
    • 10 threads
  • Currently the best maze generator in this repo.
  • Usage:
usage: multithreaded_maze.py [-h] [-H HEIGHT] [-W WIDTH] [-I ITERATIONS] [-T THREADS]

optional arguments:
 -h, --help            show this help message and exit
 -H HEIGHT, --height HEIGHT
                       how high to make the maze
 -W WIDTH, --width WIDTH
                       how wide to make the maze
 -I ITERATIONS, --iterations ITERATIONS
                       how many times to try
 -T THREADS, --threads THREADS
                       how many threads to spawn

Line Maze Example:

A Line Maze generated using multithreading

Line Maze Example:

The solution of the line maze above

Square maze

  • Kept for historical purposes only. Don't use this. It probably doesn't even work.
  • Grid
  • Solving/Optimization isn't working yet
  • Uses grid squares for walls
  • Usage: python square_maze.py <maze_height> <maze_width>

Fair warning:

This code is horribly inefficient, and large mazes take quite a long time to generate, especially if they are run through many iterations

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_maze_generator-1.0.3.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

python_maze_generator-1.0.3-py3-none-any.whl (9.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page