BrickGame v3.0 aka Tetris + Snake Xenzia + Car Racing
BrickGame v3.0 is a continuing of BrickGame v2.0.
- CMake (version 3.15 or later)
- Docker (optional, for running the server for car racing)
libcurl
(for the api client)
In that version we maintain only one module of backend and frontend written on C language.
In that version we maintain two modules of backend and frontend written on C and C++ languages
In that version we maintain three modules of backend and frontend written on C, C++ and Go languages
- Classic Tetris gameplay with the following mechanics:
- Rotation of tetrominoes
- Horizontal movement of tetrominoes
- Accelerated tetromino falling (by holding the down arrow key)
- Display of the next tetromino
- Line clearing
- Game over when the tetromino reaches the top of the game field
- Classic Snake gameplay with the following mechanics:
- Snake move through board automatically
- Snake able to eat fruit placed on the board
- The game is over if snake's length exceed 200 segments (impossible to exceed, possible to reach)
- The snake is dying when colliding with itself
- The snake is dying when colliding with walls
- The user is able to change snake's direction
- Support for all physical buttons on the console:
- Start game - Enter
- Pause - P
- End game - Esc
- Up arrow - Change direction to the up
- Down arrow - Change direction to the down
- Left arrow - Change direction to the left
- Right arrow - Change direction to the right
- Matrix-based game field with dimensions corresponding to the console's size (10x20 pixels)
- Unit tests for the game logic library, achieving 85% code coverage
- 1 line cleared: 100 points
- 2 lines cleared: 300 points
- 3 lines cleared: 700 points
- 4 lines cleared: 1500 points
- 1 fruit: 1 score
- Display of the player's current score and highest score achieved
- Highest score is stored in a file or embedded database and persists between game sessions
- Progression of levels every 600 points
- Increasing level increases the speed of tetromino falling
- Progression of levels every 5 score
- Increasing level increases the speed of the game
- Clone the repository.
- Run
make install
to install the project. - Run
make run_cli
to start playing in cli. - Run
make run_desktop
to start playing in desktop. - Run
make run_web
to start playing in web.
- Use the arrow keys to move and rotate tetromino.
- Press the down arrow key to make tetromino fall faster.
- Press the up arrow key to rotate tetromino.
- Use the arrow keys to change snake direction.
- Use the arrow keys to change car position.