How zakari-a/pac-man works
Pac-Man is a pygame game: the player selects a screen, plays through generated maze levels, and can submit scores to a persistent high-score list. The main loop in src/game.py coordinates configuration, level setup, entity updates, screens, and rendering. The README documents ghost pathfinding, scoring, collision, and multiple game states; those gameplay details are grouped where the available source supports them. Some runtime wiring is inferred only from the README because the relevant source excerpts are partial.
Main entry points: game.py Game loop · pac-man.py Game entry · ui.py Game screens · maze_adapter.py Maze adapter
Components 12
Startup and Config
- Game entry
pac-man.py - Config loader
src/config/config.py
Game Flow
- Game loop
src/game.py - Game screens
src/game_view/ui.py - Result banners
src/game_view/banners.py
Maze and Entities
- Maze adapter
src/maze/maze_adapter.py - Maze generator
libs/mazegenerator-00001-py3-none-any.whl - Pac-Man and ghosts
src/entities/entities.py
Display and Assets
- Game renderer
src/renderer/renderer.py - Asset manager
src/assets_manager/assetmanager.py
Scores
- High-score file
Other components
- Player
Connections 12
- Player → Game entry: starts game
- Game entry → Config loader: loads config
- Game entry → Game loop: starts loop
- Game loop → Maze adapter: generates levels
- Maze adapter → Maze generator: requests maze
- Game loop → Pac-Man and ghosts: creates and updates
- Game loop → Asset manager: loads assets
- Game loop → Game renderer: draws frame
- Game loop → Game screens: dispatches screens
- Game loop → Result banners: shows results
- Game screens → High-score file: reads and writes
- Player → Game screens: navigates