Project Title and Project Link
Tetris
Skills
Game Design, C++
Project
In this project, I collaborated with a partner to create a knockoff version of Tetris that had some additional features.
Throughout the developmental process we were able to retain feedback from peers to improved the user experience of the game.
Functional Requirements
The functionality requirements we developed for our game is as follows:
- The game generates one of five random blocks at the top screen with each block made of 4 squares with
different orientations.
-
The block's x-coordinate follows the right/left key. The block rotates 90 degrees to the
right each time the up-arrow is clicked, with the x-coordinates and y-coordinates of
the block change accordingly.
-
The block can be placed immediately at the bottom of the screen
if the user clicks "space".
-
The first block is static at the top of the screen, not moving downward until
the player clicks the āSā button or clicks the mouse.
-
Each block, after the first, begins moving downward automatically.
-
The blocks can not exceed the position of the board to the right or left, meaning
blocks or constraint to not rotate at certain positions.
-
The active block has a visual indicator of how the block will be placed on top of the blocks placed
beneath it
- If the player sees that the current block, moving downward, won't be a good move,
he can replace it by clicking the key (R). The player can replace the block
ONLY 3 times per game.
-
If the player fills a full row of blocks (can be of different colors) the row is removed and all the
rows, above the removed row, change their y-position one row downward.
-
If one column of the board is filled to the top, then the game is over and the user cannot play anymore.
-
A score viewer is updated every time a row is destroyed.
-
If a row is deleted the score is updated by 10 points. If multiple rows are cleared by one block,
then the score of the clear rows are multiplied by 5.
GitHub
The GitHub code for this project can be found
here, and is currently poorly organized
Learn more
If you would like to learn more about this project, contact me
here