How minhduc7265/int2204-arkanoid-group2 works
Arkanoid is a LibGDX desktop game in which the player moves a paddle to bounce a ball, break bricks, collect power-ups, and clear levels while managing limited lives. The principal flow runs from the menu into gameplay, where the world loads a level, updates game objects, resolves collisions, and renders the scene; session progress is saved as player data. The README documents additional screens, animations, resource managers, and sound. Some runtime wiring is described only at package level, so uncertain links are omitted.
Main entry points: GameWorld.java Game world · CollisionManager.java Collision manager · ButtonManager.java Screen controls · ItemManager.java Power-ups
Components 21
Application and screens
- Game entry
core/src/main/java/com/game/arkanoid/Main.java - Game screens
core/src/main/java/com/game/arkanoid/screens - Screen controls
core/src/main/java/com/game/arkanoid/screens/ButtonManager.java
Gameplay world
- Game world
core/src/main/java/com/game/arkanoid/world/GameWorld.java - Collision manager
core/src/main/java/com/game/arkanoid/world/CollisionManager.java - Level loader
core/src/main/java/com/game/arkanoid/world/LevelLoader.java
Game logic and objects
- Collision engine
core/src/main/java/com/game/arkanoid/engine/Collision.java - Session state
core/src/main/java/com/game/arkanoid/engine/GameManager.java - Gameplay objects
core/src/main/java/com/game/arkanoid/model - Power-ups
core/src/main/java/com/game/arkanoid/model/ItemManager.java
Levels and progress
- Level definitions
core/src/main/java/com/game/arkanoid/leveldata/LevelInfo.java - Player save data
core/src/main/java/com/game/arkanoid/leveldata/PlayerData.java - Save manager
core/src/main/java/com/game/arkanoid/leveldata/GameDataManager.java
Rendering and audio
- Scene renderer
core/src/main/java/com/game/arkanoid/output/MasterRenderer.java - Animations
core/src/main/java/com/game/arkanoid/output/AnimationFactory.java - Texture resources
core/src/main/java/com/game/arkanoid/output/TextureManager.java - Sound effects
core/src/main/java/com/game/arkanoid/output/SoundManager.java - Background music
core/src/main/java/com/game/arkanoid/output/MusicManager.java
Other components
- Player
- Local save file
- BASS library
Connections 26
- Player → Screen controls: presses controls
- Game entry → Game screens: starts menu
- Screen controls → Game screens: switches screens
- Game screens → Game world: runs gameplay
- Game world → Level loader: loads levels
- Level loader → Level definitions: reads layouts
- Game world → Collision manager: checks collisions
- Collision manager → Collision engine: tests impacts
- Collision manager → Gameplay objects: updates hit objects
- Collision manager → Animations: triggers effects
- Collision manager → Sound effects: plays effects
- Game world → Gameplay objects: updates objects
- Game world → Power-ups: manages power-ups
- Power-ups → Gameplay objects: applies effects
- Power-ups → Animations: triggers effects
- Power-ups → Sound effects: plays effects
- Game world → Session state: updates session
- Session state → Save manager: loads and saves
- Save manager → Local save file: reads and writes
- Save manager → Player save data: serializes
- Game world → Scene renderer: renders scene
- Scene renderer → Texture resources: gets textures
- Scene renderer → Animations: draws animations
- Screen controls → Sound effects: plays clicks
- Screen controls → Background music: controls music
- Background music → BASS library: calls native audio