How shyriaievmykola/procedure-pacman works
This is a Pygame Pac-Man game with seeded procedural mazes, difficulty selection, ghost behavior, and an interactive presentation layer. The principal workflow runs from the main menu through seed entry and difficulty selection into gameplay, where the game visualizer updates and draws the game and reports victory or game over to the manager. Source excerpts are partial, and the README provides no further capability detail; uncertain runtime links are omitted.
Main entry points: game_manager.py Game manager · pacman_visualizer.py Game visualizer · map_generator.py Map generator · ghost_manager.py Ghost manager
Components 21
Game flow
- Program entry
main.py - Game manager
game_manager.py - Difficulty manager
difficulty_manager.py - Shared state
state.py
Maze generation
- Map generator
map/map_generator.py - Game map
map/game_map.py - Seeded random
seeded_random.py
Gameplay
- Pac-Man state
pacman.py - Ghost manager
ghosts/ghost_manager.py - Ghost entity
ghosts/ghost.py - Ghost behaviors
ghosts/behaviors - A-star pathfinding
ghosts/utils/pathfinding.py
Menus and rendering
- Main menu
menus/main/main_menu.py - Seed menu
menus/game/game_menu.py - Difficulty menu
menus/main/choose_difficulty.py - Endgame menus
menus/game - Map visualization
map/map_visualization.py - Game visualizer
visualisation/pacman_visualizer.py - Base visualizer
visualisation/visualizer.py - Ghost visualizer
visualisation/ghost_visualizer.py
Other components
- Player
Connections 21
- Player → Program entry: starts
- Program entry → Game manager: launches
- Game manager → Shared state: sets instance
- Game manager → Map generator: generates maze
- Map generator → Seeded random: uses seed
- Map generator → Game map: creates
- Game manager → Main menu: handles menu
- Game manager → Seed menu: handles seed
- Game manager → Difficulty menu: handles choice
- Game manager → Difficulty manager: sets level
- Game manager → Endgame menus: handles outcome
- Game manager → Game visualizer: runs gameplay
- Seed menu → Map visualization: draws preview
- Game visualizer → Base visualizer: inherits rendering
- Game visualizer → Game map: reads maze
- Game visualizer → Pac-Man state: updates and draws
- Game visualizer → Ghost manager: updates ghosts
- Game visualizer → Ghost visualizer: draws ghosts
- Ghost manager → Ghost entity: updates entities
- Ghost manager → Ghost behaviors: selects strategies
- Ghost entity → A-star pathfinding: uses paths