How justinmeister/mario-level-1 works
This is a Pygame recreation of Super Mario Bros. World 1-1. The user enters through the title menu, proceeds through a loading screen into the playable level, and reaches timeout or game-over transitions as play ends. The level combines Mario, world objects, enemies, scoring, HUD, and sound. The excerpts show the state controller, resource loading, and several component relationships; unsampled level internals are represented only where the index or README supports them.
Main entry points: setup.py Pygame setup · main_menu.py Title menu · main.py Game entry · load_screen.py Loading and end screens
Components 19
Game runtime
- Game entry
data/main.py - State controller
data/tools.py - Pygame setup
data/setup.py
Game states
- Title menu
data/states/main_menu.py - Loading and end screens
data/states/load_screen.py - Level 1
data/states/level1.py
Level gameplay
- Mario character
data/components/mario.py - Power-ups and fireballs
data/components/powerups.py - Bricks and coin boxes
data/components/bricks.py - Coins
data/components/coin.py - Enemies and finish markers
data/components/enemies.py
HUD and audio
- HUD and status
data/components/info.py - Score display
data/components/score.py - Music and effects
data/game_sound.py
Game resources
- Graphics assets
resources/graphics - Music assets
resources/music - Sound assets
resources/sound - Font assets
resources/fonts
Other components
- Player
Connections 21
- Player → Title menu: starts game
README.md - Game entry → State controller: creates controller
data/main.py - Game entry → Title menu: registers state
data/main.py - Game entry → Loading and end screens: registers states
data/main.py - Game entry → Level 1: registers level
data/main.py - State controller → Title menu: dispatches state
data/tools.py - Title menu → Mario character: creates character
data/states/main_menu.py - Title menu → HUD and status: updates display
data/states/main_menu.py - Loading and end screens → HUD and status: updates display
data/states/load_screen.py - Loading and end screens → Music and effects: creates manager
data/states/load_screen.py - Level 1 → Mario character: uses character
data/states/level1.py - Level 1 → Music and effects: imports manager
data/states/level1.py - Mario character → Power-ups and fireballs: creates fireballs
data/components/mario.py - Bricks and coin boxes → Power-ups and fireballs: creates contents
data/components/bricks.py - Bricks and coin boxes → Coins: creates coins
data/components/bricks.py - Coins → Score display: creates score popup
data/components/coin.py - Pygame setup → Graphics assets: loads images
data/setup.py - Pygame setup → Music assets: loads music
data/setup.py - Pygame setup → Sound assets: loads effects
data/setup.py - Pygame setup → Font assets: loads fonts
data/setup.py - Music and effects → Pygame setup: uses audio assets
data/game_sound.py