Tetris Game Engine

Java • OOP • Java Swing • Data Structures

About

Built a Java implementation of Tetris using an object-oriented, event-driven design. Developed a lightweight game framework (World + BigBang) to handle the main loop, keyboard input, timed ticks, and rendering, then implemented core Tetris mechanics including collision detection, piece rotation, line clearing, scoring, and game termination logic.

What it includes
  • Real-time gameplay loop with timed “ticks” and keyboard controls (left, right, down, rotate)
  • Piece generation and rotation system using pre-defined configuration matrices for each tetromino
  • Line-clear logic with row shifting and score tracking
  • Rendering pipeline using Java Graphics/Graphics2D with per-tetromino coloring
  • Game-over detection based on board fill height / spawn constraints
Tech Stack
Java OOP Java Swing Data Structures Event-driven programming