Project

Tetris

Challenging
228 completions
~ 24 hours
4.4

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

Guillaume Konen avatar
Guillaume Konen
3 months 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 ...
Marcin Rogowski avatar
Marcin Rogowski
8 months ago
I've learned how to create simple Tetris game in Python. It encouraged me to create next one!
Klekovkina Alena avatar
Klekovkina Alena
10 months ago
I really liked this project, although it was not easy at all for me. It took me one month in total to complete it (at some point I dropped it for two weeks, and then got back to it and rewrote the code completely).The point where in tests you need to not just lest the piece touch the bottom, but ch ...

4.4

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