Project

Tetris with Java

Hard
54 completions
~ 28 hours
4.3

Use Object Oriented Programming to break down a complex problem into steps for easier implementation. Get familiar with algorithmic thinking, game design, and matrix manipulation. Learn how to limit your game board, store the blocks on the board, and make horizontal rows disappear. At the end of the project, you will have your own Tetris game!

Provided by

JetBrains Academy JetBrains Academy

About

Tetris is one of the best-selling video game franchises of all time. You know the rules. Move and rotate blocks of various shapes to fill the empty space on the screen. Fill horizontal rows with the blocks to continue the gameplay. The game is over when there is no free space on the screen. In this project, you will practice concepts frequently tested in technical interviews at top tech companies.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Design seven unique pieces that can be rotated counterclockwise inside a 4x4 grid.
Design your Tetris board and start moving the pieces across the board.
Store the piece on the game board once it hits the floor.
Make blocks static when they hit other blocks and clear a row when it is filled.

Reviews

jperelygin avatar
jperelygin
3 months ago
Very interesting. I really feeling much more skilled with matrices, game states and java in general after completing this project.
Mehmet Uygar Güler avatar
Mehmet Uygar Güler
4 months ago
In some stages I struggled to fit my code to the intended format of the output and this got frustrating after a while. I think it is a good project to develop your understanding of Arrays, List, Maps etc. but the rules of the project makes it boring.
User 618526347 avatar
User 618526347
7 months ago
I learned to break a solution down into smaller chunks that can be solved easier.

4.3

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.4
Fun
4.4
Clarity
4.1