This is my implementation of Tetris using Java and the Slick2D library. At this point, it's nothing fancy; there's no scoring system, difficulty scaling, t-spins, combos, or anything like that. It does have wall-kicking and piece-kicking (rotating the active piece into other pieces will "kick" the piece away), as well as a fancy physics-based falling animation when rows are deleted.
To play the game, clone the project somewhere on your computer and go into the bin/Tetris folder. Arrow keys move the piece, z and x rotate it, and spacebar drops it down.
The purpose of this project was not to create a great Tetris clone, but rather, to help myself learn Java. Prior to this project, I'd never written anything in Java. Because of this, some of the code is less clean than I would like.