Project

Tetris

Challenging
237 completions
~ 24 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.

Graduate project icon

Graduate project

This project covers the core topics of the Python OOP course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

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 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

Joss Blumberg
5 months ago
I learned not to trust that the suggested methods (in this case, the way to represent pieces) are actually good (numpy makes this project so much easier)
Kateryna Bohuslavska avatar
Kateryna Bohuslavska
5 months ago
I've learned algorithmic thinking, game design, and matrix manipulation
Guillaume Konen avatar
Guillaume Konen
1 year ago
This project is challenging and asking to well design different classes and their role. The project is larger enough to be lost in our code if we did not pay attention to our architecture. I struggle several times to redesign my class to improve the code quality. Also, the rotation of piece give me ...

4.3

Learners who completed this project within the Python OOP course rated it as follows:
Usefulness
4.5
Fun
4.5
Clarity
4.1