How m-elkhou/tetris works
This is a Java Swing/AWT desktop Tetris game. The player selects a difficulty, plays by placing falling tetrominoes to clear lines, and can view the resulting score and statistics; high scores are maintained by difficulty. The graph also preserves the documented options, help, and about screens. Several links rely on the SOURCE INDEX reference lists rather than inspected call sites, so uncertain gameplay connections are dashed and uncited.
Main entry points: GamePanel.java Game board · Vue.java Application shell · HighScoreManager.java Score manager · StatsPanel.java Session statistics
Components 21
Desktop interface
- Window launcher
src/Game/WindowLanch.java - Application shell
src/Game/Vue.java - Level selection
src/Game/ChooseLevel.java - Game options
src/Game/Option.java - Game controls
src/Game/NavigationBar.java
Game session
- Game board
src/Game/GamePanel.java - Tetrominoes
src/Game/Mino.java - Landing preview
src/Game/Ghost.java - Piece queue
src/Game/MinoQueue.java - Queue display
src/Game/QueuePanel.java - Game element view
src/Game/GameElementPanel.java - Session statistics
src/Game/StatsPanel.java - Elapsed time
src/Game/Timer.java
Results and records
- Game-over summary
src/Game/GameOver.java - Score record
src/Game/Score.java - High-score screen
src/Game/HighScore.java - Score manager
src/Game/HighScoreManager.java - Difficulty score files
src/Game/text
Information screens
- Help screen
src/Game/Help.java - About screen
src/Game/About.java
Other components
- Player
Connections 26
- Player → Window launcher: starts game
README.md - Window launcher → Application shell: opens interface
src/Game/WindowLanch.java - Player → Level selection: chooses difficulty
README.md - Application shell → Level selection: creates
src/Game/Vue.java - Application shell → Game board: creates
src/Game/Vue.java - Level selection → Game board: selects level
src/Game/ChooseLevel.java - Application shell → Game options: hosts
src/Game/Vue.java - Application shell → High-score screen: opens
src/Game/Vue.java - Application shell → Help screen: hosts
src/Game/Vue.java - Application shell → About screen: hosts
src/Game/Vue.java - Player → Game board: plays
README.md - Game board → Tetrominoes: uses pieces
src/Game/Mino.java - Game board → Landing preview: uses preview
src/Game/Ghost.java - Game board → Piece queue: uses queue
- Queue display → Game element view: renders pieces
src/Game/QueuePanel.java - Queue display → Tetrominoes: displays pieces
src/Game/QueuePanel.java - Session statistics → Game element view: renders metrics
src/Game/StatsPanel.java - Session statistics → Elapsed time: creates clock
src/Game/StatsPanel.java - Game board → Session statistics: updates session
- Game board → Game-over summary: shows summary
src/Game/GameOver.java - Game-over summary → Score record: uses score
src/Game/GameOver.java - High-score screen → Score manager: loads scores
src/Game/HighScore.java - Score manager → Score record: orders records
src/Game/HighScoreManager.java - Score manager → Difficulty score files: reads and writes
src/Game/HighScoreManager.java - Player → Help screen: consults
README.md - Player → Game options: configures game
README.md