How ibnissah/java-plane-game-main works
Java Plane Game is a Swing-based 2D shooter. Players use keyboard controls to steer, accelerate, and fire while avoiding enemy rockets and bullets; collisions, health, ammunition, and power-ups govern combat, with effects and sound supporting feedback. The main frame routes users through menu and settings into the game panel, where the game loop coordinates play and rendering. The excerpts establish the UI, controls, and several gameplay interactions; wiring for unsampled object and sound code is shown only where supported by the documented or visible responsibilities.
Main entry points: PlaneGame.java Game panel · Main.java Main window · PanelMenu.java Menu panel · Rocket.java Enemy rockets
Components 21
Swing interface
- Main window
src/game/main/Main.java - Menu panel
src/game/component/PanelMenu.java - Settings panel
src/game/component/PanelSettings.java - Control bindings
src/game/component/Controls.java
Game loop
- Game panel
src/game/component/PlaneGame.java - Key state
src/game/component/KeyPressed.java
Gameplay objects
- Player craft
src/game/obj/Player.java - Enemy rockets
src/game/obj/Rocket.java - Rocket variants
src/game/obj - Bullets
src/game/obj/Bullet.java - Enemy bullets
src/game/obj/EnemyBullet.java - Power-ups
src/game/obj/PowerUp.java - Health display
src/game/obj/HP.java - Health renderer
src/game/obj/HpRender.java - Object base
src/game/obj/GameObject.java
Game feedback
- Explosion effects
src/game/obj/Effect.java - Effect particles
src/game/obj/ModelBoom.java - Sound manager
src/game/obj/sound/Sound.java - Sound clips
src/game/obj/sound
Other components
- Player
- Swing display
Connections 24
- Player → Main window: launches
- Main window → Menu panel: shows
- Main window → Settings panel: shows
- Main window → Game panel: starts
- Menu panel → Main window: starts game
- Menu panel → Main window: opens settings
- Settings panel → Control bindings: rebinds and saves
- Main window → Control bindings: shares
- Game panel → Control bindings: reads bindings
- Game panel → Key state: updates key state
- Game panel → Player craft: updates and checks
- Game panel → Enemy rockets: updates and checks
- Game panel → Bullets: updates and checks
- Game panel → Enemy bullets: collects fired bullets
- Game panel → Power-ups: applies pickups
- Game panel → Explosion effects: creates effects
- Player craft → Health renderer: creates health display
- Enemy rockets → Health renderer: tracks health
- Health renderer → Health display: uses health state
- Enemy rockets → Rocket variants: specialized by
- Game panel → Swing display: renders game
- Game panel → Sound manager: plays effects
- Sound manager → Sound clips: loads clips
- Explosion effects → Effect particles: creates particles