How sadeenabukhadra/a_maze_ing works
A-Maze-ing turns a KEY=VALUE configuration into a generated maze, computes the entry-to-exit shortest path, exports the maze and path, and offers an interactive terminal view with regeneration and solution toggling. The graph preserves both perfect and looped generation, the reserved 42 pattern, and reusable package behavior. The main wiring is supported by sampled entry-point code; README documents the mode and pattern capabilities, while some implementation details are unsampled.
Main entry points: a_maze_ing.py Application entry · generator.py Generator · solver.py BFS solver · cell.py Cell walls
Components 15
Maze workflow
- Maze config
config.txt - Config parser
parser.py - Application entry
a_maze_ing.py
Maze engine
- Generator
mazegen/generator.py - Perfect mode
mazegen/generator.py - Playable mode
mazegen/generator.py - 42 reservation
mazegen/generator.py - Cell walls
mazegen/cell.py - BFS solver
mazegen/solver.py - Reusable package
mazegen/__init__.py
Terminal and output
- Maze exporter
mazegen/exporter.py - Maze file
- Terminal renderer
mazegen/renderer.py
Other components
- User
- Interactive terminal
Connections 25
- User → Application entry: runs
- User → Maze config: provides
- Application entry → Config parser: loads config
- Config parser → Maze config: reads
- Application entry → Perfect mode: selects mode
- Application entry → Playable mode: selects mode
- Perfect mode → Generator: builds maze
- Playable mode → Generator: builds maze
- Generator → 42 reservation: reserves cells
- Generator → Cell walls: creates grid
- Perfect mode → Cell walls: carves walls
- Playable mode → Cell walls: adds loops
- Application entry → BFS solver: solves maze
- BFS solver → Generator: reads passages
- BFS solver → Application entry: returns path
- Application entry → Maze exporter: exports result
- Maze exporter → Cell walls: reads walls
- Maze exporter → Maze file: writes format
- Application entry → Terminal renderer: creates view
- Terminal renderer → Generator: reads maze
- Terminal renderer → Interactive terminal: renders menu
- Interactive terminal → Application entry: chooses actions
- Application entry → Perfect mode: regenerates
- Reusable package → Generator: exports API
- Reusable package → BFS solver: exports API