A-Maze-ing Documentation¶
Welcome to the technical documentation for the A-Maze-ing project.
This documentation explains the internal systems used to generate, solve, render, and export mazes using Python and MiniLibX.
The project focuses on: - Maze generation algorithms - Pathfinding visualization - Real-time rendering - Interactive gameplay - Reusable maze generation systems
For more information about the maze project, visit the repository: https://github.com/SaraFreitas-dev/A-Maze-ing
๐ Documentation Overview¶
Each document focuses on a specific part of the project architecture.
๐ง Algorithms¶
Core maze generation and pathfinding systems.
Topics Covered¶
- DFS maze generation logic
- BFS shortest-path solving
- Path reconstruction
- Explored cells for animation
Main Files¶
mazegen/generator.pymazegen/solver.pymazegen/MazeGenerator.py
๐๏ธ Maze Generator¶
Documentation for the reusable maze generation module.
Topics Covered¶
MazeGeneratorclass structure- Maze object creation
- Generation pipeline
- Seed-based reproducibility
- Perfect and imperfect maze handling
- Integration between DFS, BFS, validation, and export
Main Files¶
mazegen/MazeGenerator.pymazegen/Maze.py
๐ผ๏ธ MLX Library¶
Overview of the MiniLibX integration used for graphical rendering.
Topics Covered¶
- Window creation
- Image rendering
- Event hooks
- Keyboard controls
- Player movement
- Real-time updates
- Basic animation systems
Main Files¶
render/mlx_renderer.pyrender/GameState.py
๐ Parsing System¶
Configuration parsing and validation systems.
Topics Covered¶
- KEY=VALUE parsing
- Required key validation
- Type conversion
- Duplicate key detection
- Error handling
- Maze configuration loading
Main Files¶
parsing/config_parser.py
๐จ Render System¶
Rendering and visual systems used in the project.
Topics Covered¶
- ASCII rendering
- Maze drawing
- Asset loading
- Theme systems
- Menu rendering
- Dynamic scaling
- Animation rendering
Main Files¶
render/draw_maze.pyrender/menu.pyrender/Assets.pyrender/converter.py
๐ฆ Export System¶
Maze export and utility systems.
Topics Covered¶
- Hexadecimal maze export
- NSEW path conversion
- Output file structure
- Coordinate conversion
- Path processing
- Maze serialization
Main Files¶
utils/export_utils.pyutils/hex_utils.pyutils/path_utils.py
๐๏ธ Project Architecture¶
A-Maze-ing
โ
โโโ ๐๏ธ Maze Generator System
โ โโโ Maze Object Structure
โ โโโ Generation Pipeline
โ โโโ Perfect / Imperfect Mazes
โ โโโ Seed Reproducibility
โ
โโโ ๐ง Algorithms
โ โโโ DFS Generation
โ โโโ BFS Solving
โ โโโ Pathfinding
โ โโโ Maze Validation
โ
โโโ ๐ผ๏ธ Rendering System
โ โโโ MLX Window
โ โโโ ASCII Renderer
โ โโโ Theme System
โ โโโ Asset Management
โ
โโโ ๐ Configuration System
โ โโโ Config Parsing
โ โโโ Validation
โ โโโ Error Handling
โ
โโโ ๐ฆ Export System
โ โโโ Hexadecimal Export
โ โโโ Path Conversion
โ โโโ File Output
โ
โโโ ๐ฎ Gameplay Systems
โโโ Player Movement
โโโ Menu Navigation
โโโ Interactive Rendering