Skip to content

Commit b4ad277

Browse files
Setup MkDocs documentation site
1 parent 50d3ee8 commit b4ad277

36 files changed

Lines changed: 13075 additions & 0 deletions
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
# A-Maze-ing Documentation
2+
3+
Welcome to the technical documentation for the **A-Maze-ing** project.
4+
5+
This documentation explains the internal systems used to generate, solve, render, and export mazes using Python and MiniLibX.
6+
7+
The project focuses on:
8+
- Maze generation algorithms
9+
- Pathfinding visualization
10+
- Real-time rendering
11+
- Interactive gameplay
12+
- Reusable maze generation systems
13+
14+
---
15+
16+
</div>
17+
18+
<div align="center">
19+
20+
![Menu](menu_background.png)
21+
22+
</div>
23+
24+
For more information about the maze project, visit the repository:
25+
https://github.com/SaraFreitas-dev/A-Maze-ing
26+
27+
---
28+
29+
# 📚 Documentation Overview
30+
31+
Each document focuses on a specific part of the project architecture.
32+
33+
---
34+
35+
## 🧠 [Algorithms](algorithms.md)
36+
37+
Core maze generation and pathfinding systems.
38+
39+
### Topics Covered
40+
- DFS maze generation logic
41+
- BFS shortest-path solving
42+
- Path reconstruction
43+
- Explored cells for animation
44+
45+
### Main Files
46+
- `mazegen/generator.py`
47+
- `mazegen/solver.py`
48+
- `mazegen/MazeGenerator.py`
49+
50+
---
51+
52+
## 🏗️ [Maze Generator](maze-generator.md)
53+
54+
Documentation for the reusable maze generation module.
55+
56+
### Topics Covered
57+
- `MazeGenerator` class structure
58+
- Maze object creation
59+
- Generation pipeline
60+
- Seed-based reproducibility
61+
- Perfect and imperfect maze handling
62+
- Integration between DFS, BFS, validation, and export
63+
64+
### Main Files
65+
- `mazegen/MazeGenerator.py`
66+
- `mazegen/Maze.py`
67+
68+
---
69+
70+
## 🖼️ [MLX Library](mlx-lib.md)
71+
72+
Overview of the MiniLibX integration used for graphical rendering.
73+
74+
### Topics Covered
75+
- Window creation
76+
- Image rendering
77+
- Event hooks
78+
- Keyboard controls
79+
- Player movement
80+
- Real-time updates
81+
- Basic animation systems
82+
83+
### Main Files
84+
- `render/mlx_renderer.py`
85+
- `render/GameState.py`
86+
87+
---
88+
89+
## 📝 [Parsing System](parsing.md)
90+
91+
Configuration parsing and validation systems.
92+
93+
### Topics Covered
94+
- KEY=VALUE parsing
95+
- Required key validation
96+
- Type conversion
97+
- Duplicate key detection
98+
- Error handling
99+
- Maze configuration loading
100+
101+
### Main Files
102+
- `parsing/config_parser.py`
103+
104+
---
105+
106+
## 🎨 [Render System](render.md)
107+
108+
Rendering and visual systems used in the project.
109+
110+
### Topics Covered
111+
- ASCII rendering
112+
- Maze drawing
113+
- Asset loading
114+
- Theme systems
115+
- Menu rendering
116+
- Dynamic scaling
117+
- Animation rendering
118+
119+
### Main Files
120+
- `render/draw_maze.py`
121+
- `render/menu.py`
122+
- `render/Assets.py`
123+
- `render/converter.py`
124+
125+
---
126+
127+
## 📦 [Export System](export-system.md)
128+
129+
Maze export and utility systems.
130+
131+
### Topics Covered
132+
- Hexadecimal maze export
133+
- NSEW path conversion
134+
- Output file structure
135+
- Coordinate conversion
136+
- Path processing
137+
- Maze serialization
138+
139+
### Main Files
140+
- `utils/export_utils.py`
141+
- `utils/hex_utils.py`
142+
- `utils/path_utils.py`
143+
144+
---
145+
146+
# 🏗️ Project Architecture
147+
148+
```text
149+
A-Maze-ing
150+
151+
├── 🏗️ Maze Generator System
152+
│ ├── Maze Object Structure
153+
│ ├── Generation Pipeline
154+
│ ├── Perfect / Imperfect Mazes
155+
│ └── Seed Reproducibility
156+
157+
├── 🧠 Algorithms
158+
│ ├── DFS Generation
159+
│ ├── BFS Solving
160+
│ ├── Pathfinding
161+
│ └── Maze Validation
162+
163+
├── 🖼️ Rendering System
164+
│ ├── MLX Window
165+
│ ├── ASCII Renderer
166+
│ ├── Theme System
167+
│ └── Asset Management
168+
169+
├── 📝 Configuration System
170+
│ ├── Config Parsing
171+
│ ├── Validation
172+
│ └── Error Handling
173+
174+
├── 📦 Export System
175+
│ ├── Hexadecimal Export
176+
│ ├── Path Conversion
177+
│ └── File Output
178+
179+
└── 🎮 Gameplay Systems
180+
├── Player Movement
181+
├── Menu Navigation
182+
└── Interactive Rendering

0 commit comments

Comments
 (0)