/maze

Maze generator using a randomized Prim's algorithm

Primary LanguagePythonMIT LicenseMIT

maze

Maze generator using a randomized Prim's algorithm.
Can output to a command line interface, or can be included in other projects.
Written in Python 3.

Usage

If using directly from terminal, call: python maze.py [-h] --height HEIGHT --width WIDTH [--seed SEED | --random]
Seed defaults to 0 if --seed or --random not supplied. --random generates a maze with a random seed.

Otherwise, use getMaze(xlength, ylength, random_seed)

Example input:

With seed supplied:

me@my-computer:~/Folder$ python maze.py --height 21 --width 21 --seed 10
[][][][][][][][][][][][][][][][][][][][][]
[]      []      []          []  []  []  []
[]  [][][][][]  []  [][][][][]  []  []  []
[]                              []  []  []
[]  [][][]  []  [][][]  [][][][][]  []  []
[]      []  []      []                  []
[]  [][][]  []  []  []  []  [][][]  []  []
[]  []      []  []  []  []  []      []  []
[]  []  [][][]  [][][][][]  [][][]  []  []
[]  []  []              []  []      []  []
[]  [][][][][]  []  [][][][][]  []  [][][]
[]      []      []      []      []      []
[]  [][][][][]  []  [][][][][]  [][][][][]
[]      []  []  []          []      []  []
[]  [][][]  [][][]  []  []  [][][][][]  []
[]              []  []  []              []
[][][]  []  []  [][][]  [][][][][][][][][]
[]      []  []      []                  []
[]  []  [][][][][][][]  []  [][][]  []  []
[]  []      []          []      []  []  []
[][][][][][][][][][][][][][][][][][][][][]

Seed defaulted to 0:

me@my-computer:~/Folder$ python maze.py --height 21 --width 31
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]                  []      []  []              []      []  []
[]  []  [][][]  [][][][][]  []  []  []  []  []  []  [][][]  []
[]  []      []      []              []  []  []      []  []  []
[]  []  [][][]  []  []  [][][]  [][][][][]  [][][][][]  []  []
[]  []      []  []          []      []  []          []      []
[]  [][][][][][][][][]  []  [][][]  []  [][][][][]  []  [][][]
[]                  []  []      []      []  []  []          []
[]  []  []  [][][]  [][][][][]  [][][][][]  []  []  [][][]  []
[]  []  []      []          []          []      []  []      []
[]  [][][]  [][][][][]  []  [][][][][]  []  [][][][][][][][][]
[]      []  []  []  []  []  []                  []  []      []
[]  []  [][][]  []  [][][]  [][][][][]  []  [][][]  []  []  []
[]  []                  []      []  []  []  []          []  []
[][][]  []  []  []  [][][][][]  []  [][][]  [][][]  []  [][][]
[]  []  []  []  []          []          []          []  []  []
[]  []  [][][][][][][][][]  []  [][][]  [][][][][][][][][]  []
[]              []  []      []      []                  []  []
[][][]  [][][]  []  [][][][][]  []  []  [][][][][]  []  []  []
[]          []          []      []  []          []  []      []
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]

Random seed:

me@my-computer:~/Folder$ python maze.py --height 21 --width 21 --random
maze - INFO - Random seed for generation: 6044846455320802939
[][][][][][][][][][][][][][][][][][][][][]
[]      []          []  []              []
[]  [][][]  [][][][][]  []  [][][][][][][]
[]      []              []          []  []
[]  []  []  [][][]  [][][]  [][][][][]  []
[]  []          []                      []
[][][]  []  []  [][][]  [][][][][]  [][][]
[]      []  []      []  []              []
[]  [][][]  []  [][][][][][][][][]  [][][]
[]      []  []                  []      []
[]  [][][][][][][]  []  [][][]  []  []  []
[]              []  []      []  []  []  []
[]  []  []  []  [][][][][]  [][][][][]  []
[]  []  []  []      []  []  []      []  []
[]  []  [][][][][][][]  [][][][][]  [][][]
[]  []                                  []
[]  [][][]  []  []  [][][][][]  []  []  []
[]  []      []  []      []      []  []  []
[]  []  []  [][][]  []  [][][][][]  []  []
[]  []  []  []      []          []  []  []
[][][][][][][][][][][][][][][][][][][][][]