ejconstantino-17/tetrisgame — explained in plain English
Analysis updated 2026-05-18
Play a from-scratch Tetris clone with standard rotation and randomizer rules.
Study a clean Model-View-Controller example written in Java.
Extend the game by adding features like hold piece, scoring, or sound.
Use the codebase as a learning reference for object-oriented game design.
| ejconstantino-17/tetrisgame | akarshsatija/beast | alexeygrigorev/codeforces-solutions-java | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Java | Java | Java |
| Last pushed | — | 2021-02-17 | 2020-10-03 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 4/5 | 1/5 |
| Audience | developer | data | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a Java Development Kit and an IDE such as IntelliJ to run the main file.
This is a Tetris game built from scratch in Java, using the Swing graphics toolkit to draw the game and handle windows. It is organized with a clean Model-View-Controller structure, meaning the game rules, the on-screen graphics, and the part that reads keyboard input and runs the game loop are kept as separate pieces that work together rather than being tangled into one big file. The author also notes that most variables are kept private to their own class, which is meant to stop unrelated parts of the program from reaching in and changing each other's state by accident, a common source of bugs in games written without much structure. The game uses the same seven-piece bag randomizer that official Tetris games use, so pieces feel fair and unpredictable in the way players expect rather than repeating the same piece too often. The object-oriented approach used for building pieces is also meant to keep the code shorter and easier to extend as more features get added later. Playing the game uses the arrow keys to move and soft-drop pieces, the up arrow and Z key to rotate, and the space bar for a hard drop. To run it yourself, you need a Java Development Kit installed, then you clone the repository and run the main TetrisGame file from an IDE such as IntelliJ. The project is still early and growing. The author lists several features not yet built, including a proper game over and reset screen, the ability to hold a piece for later, lock delay for advanced rotation tricks on certain piece placements, a scoring and leveling system that speeds up the game over time, sound effects sourced from open licenses, and general interface polish like a next-piece preview window, a hold piece window, and a pause, resume, and quit menu. The README does not state a license for this project.
A Tetris game built from scratch in Java with Swing graphics, organized using a clean Model-View-Controller structure.
Mainly Java. The stack also includes Java, Swing, AWT.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.