Overview
This is a library for generating perfect mazes. The default tessellation is orthogonal. It supports ASCII output.
Tessellations
- Orthogonal - the standard rectangular grid with passages intersecting at right angles
- Sigma - composed of interlocking hexagons
Supported Output Formats
- ASCII
- PNG
Algorithms
- Recursive Backtracking
Examples
Generating an orthogonal maze with default parameters:
$ ruby -Ilib examples/orthogonal.rb
_ _ _ _ _ _ _ _ _ _
|_ _ _| _ | |
| _|_| _ _| |_ _| |
| _ _ _|_ _ | _|
|_ | _ _ |_| |_ |
| _| | |_ | |_|
|_ |_| | _|_ _| | |
| |_ _ _| _ _ |_ |
| _ _|_ | |_ _ _|
|_ |_ _ |_ _ | |
|_ _ _ _|_ _ _ _ _|_|
Generated with: examples/orthogonal.rb 10 10 4083063427
Written to output file: sample_orthogonal.png
Generating a sigma maze of dimensions 20x5
$ ruby -Ilib examples/sigma.rb 20 5
_ _ _ _ _ _ _ _ _ _
/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_
\_ \_ / _/ _ _/ \_ _/ _ \
/ _ \ / \_ _/ \_ \_/ \_/ / \_/
\_ \_ \ / \_/ _ \_/ \ / \ / _/ \ \
/ \ / \_/ \ \_ \_ _/ / \_ \_ \ /
\ \ \_ \_ _/ \_/ \_/ \ / \_ \_/ \
/ \_/ \_ \_/ \_/ _ _/ _/ _ _/ /
\_ \ \_/ _/ _/ \_ _/ _ \_/ _/ \
/ \_/ \ / _ \_ \ \_/ \_/ \_/ \ / \ /
\_ _/ _ \_ _ \_ _ _ _ \_ \
\_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/
Generated with: examples/sigma.rb 20 5 2645469508
Written to output file: sample_sigma.png