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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file python_maze_generator-1.0.3.tar.gz.

File metadata

  • Download URL: python_maze_generator-1.0.3.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.7

File hashes

Hashes for python_maze_generator-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b80c96a7061df1f94d694b71e981ffc90b0d72c547ee2adf16fa55d7e3c4fced
MD5 4802cc8c657c8f25cdfdfbcb9bcf2b3d
BLAKE2b-256 eb9e99720a14cfd696c38d6805964809089739a12061c30a57c6f1868ee10403

See more details on using hashes here.

File details

Details for the file python_maze_generator-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for python_maze_generator-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0e9d611008daf579ae22059aead1645250ad7b13dd8420de451351d61018ebfc
MD5 ffa186758677f6a55af033d506ff71a2
BLAKE2b-256 171a2bf4bfd27fe06bc4bebb57ccc61504bacead2c535c743fd9aedd4cfc2a55

See more details on using hashes here.

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