A custom-built Tetris game using Java Swing for rendering and game logic. This project closely follows modern Tetris mechanics, implementing precise timing for piece movement, locking, and line clearing to create an authentic gameplay experience.
- Smooth Piece Movement: Supports auto-shift, soft drops, and hard drops.
- Ghost Piece: Displays where the current tetromino will land.
- Lock Delay & Reset System: Allows brief movement after a piece lands.
- Randomized Piece Bag: Ensures pieces do not occur too frequently in a row
- Row Identification & Clearing: Highlights full rows before clearing them.
- Java (Swing for UI rendering)
- Object-Oriented Programming principles
- Custom game loop and timing logic
- Arrow Keys: Move pieces left or right
- Down Arrow: Soft drop
- Up Arrow: Rotate clockwise
- Shift: Hold Piece
- Ctrl: Rotate counterclockwise
- Space: Hard drop