How sysc3020-f2026/sysc-termproject-starter works
JPacman is a Java Pac-Man game: the launcher assembles a map-backed level and single-player game, then presents it through a keyboard-and-button UI. During play, player movement traverses the board, collects pellets for points, and interacts with ghosts; ghost behavior includes navigation and AI. Sprites provide the visual layer. The tree and excerpts support the startup and map-construction links shown; some gameplay wiring is represented at the subsystem level because its implementation was not sampled.
Main entry points: Launcher.java Launcher · Level.java Level · BoardFactory.java Board Factory · MapParser.java Map Parser
Components 21
Startup and UI
- Launcher
src/main/java/nl/tudelft/jpacman/Launcher.java - UI Builder
src/main/java/nl/tudelft/jpacman/ui/PacManUiBuilder.java - Game UI
src/main/java/nl/tudelft/jpacman/ui/PacManUI.java - Key Listener
src/main/java/nl/tudelft/jpacman/ui/PacKeyListener.java - Board Panel
src/main/java/nl/tudelft/jpacman/ui/BoardPanel.java
Board and Level
- Board Factory
src/main/java/nl/tudelft/jpacman/board/BoardFactory.java - Board and Squares
src/main/java/nl/tudelft/jpacman/board/Board.java - Map Parser
src/main/java/nl/tudelft/jpacman/level/MapParser.java - Level Factory
src/main/java/nl/tudelft/jpacman/level/LevelFactory.java - Level
src/main/java/nl/tudelft/jpacman/level/Level.java
Gameplay and Scoring
- Game Factory
src/main/java/nl/tudelft/jpacman/game/GameFactory.java - Game
src/main/java/nl/tudelft/jpacman/game/Game.java - Player Unit
src/main/java/nl/tudelft/jpacman/level/Player.java - Collision Rules
src/main/java/nl/tudelft/jpacman/level/CollisionInteractionMap.java - Pellet
src/main/java/nl/tudelft/jpacman/level/Pellet.java - Point Calculator
src/main/java/nl/tudelft/jpacman/points/DefaultPointCalculator.java
Ghost Behavior
- Ghost Factory
src/main/java/nl/tudelft/jpacman/npc/ghost/GhostFactory.java - Ghost Units
src/main/java/nl/tudelft/jpacman/npc/Ghost.java - Navigation
src/main/java/nl/tudelft/jpacman/npc/ghost/Navigation.java
Sprites
- Sprite Store
src/main/java/nl/tudelft/jpacman/sprite/PacManSprites.java
Other components
- Player
Connections 24
- Player → Key Listener: presses keys
- Key Listener → Game UI: dispatches input
- Launcher → Map Parser: parses map
- Launcher → Game Factory: creates game
- Launcher → UI Builder: builds interface
- Launcher → Point Calculator: loads scoring
- UI Builder → Game UI: builds UI
- Game UI → Game: controls game
- Map Parser → Board Factory: creates grid
- Map Parser → Level Factory: creates level
- Board Factory → Board and Squares: links squares
- Board Factory → Sprite Store: gets backgrounds
- Level Factory → Ghost Factory: creates ghosts
- Level Factory → Level: creates level
- Game Factory → Game: creates game
- Game Factory → Player Unit: creates player
- Game → Level: starts and moves
- Level → Collision Rules: checks collisions
- Player Unit → Point Calculator: earns points
- Level → Ghost Units: moves ghosts
- Ghost Factory → Ghost Units: creates ghosts
- Ghost Units → Navigation: uses paths
- Board Panel → Board and Squares: renders board
- Board Panel → Sprite Store: draws sprites