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