/Tetris-Fighter

Project for CS3343 Software Engineering Practice

Primary LanguageJava

Tetris Fighter

This project aims at developing a better version of Tetris entitled Tetris Fighter, supporting an unrestricted level choosing and customizing feature, a complete score management system, and a clean and modern GUI.

Group Members

Cao Yuan, Ashley @yuanc0000: Software Engineer (Develop & Debug)
Feng Li, Felicia @Felicia35: Software Engineer (Develop & Debug)
Gong Zifan, Cisco @ZIFANGONG: Software Engineer (Design & Refactor)
Qu Yang, Young @Inter-Knight: Software Engineer (Design & Test)
Wu Qianyi, Michelle @shellmik: Project Manager (Manage & Refactor)
Yim Yau Wai, Andy @workHardIn2020: Software Engineer (Test & Debug)

User Manual

Before starting a new game

  1. Input a username within 10 characters.
  2. Choose a level among ‘Low’,’Medium’, ‘High’ and ‘Custom’; Different levels have different piece acceleration, initial game speed, and piece types. The player can select the ‘Custom’ level to self-define the three attributes mentioned earlier.
  3. Click the ‘Submit’ button and submit the information inputs.
  4. Press ‘Enter’ to start a new game.
    start game

During the game

  1. Pieces with randomly generated colors and shapes descend from the top of the screen onto the playing field. During the descent, the player can move the pieces laterally and rotate them until they reach the field bottom or land on a piece that had been placed before it.
  2. Here are the operations:
    Press ‘A’ to move the piece left
    Press ‘D’ to move the piece right
    Press ‘S’ to quickly drop the piece down
    Press ‘J’ to rotate the piece anti-clockwise
    Press ‘K’ to rotate the piece clockwise
    Press ‘P’ to pause and continue the game
  3. The player can neither slow down the pieces nor stop them but can accelerate them.
  4. The Player is supposed to fit together pieces and create solid lines. The completed lines will disappear, the blocks placed above it fall one rank, and points will be granted to players. Players can also clear multiple lines directly, which can grant bonus points.
  5. The piece falling speed increases as time eclipses, leaving the player with less time to think about the placement.
  6. If the user wants to manually end a game, click the ‘End Game’ to end a game whenever the game is running or paused。
  7. If the player cannot make the pieces disappear quickly enough, the field will start to fill. The game ends when the pieces reach the top of the playing field and prevent the arrival of new pieces.
    during game

After a game is over

  1. The game over page would be shown.
  2. Click the ‘Store Score’ button to store the score in this round. If the player can also choose not to click the button and abandon the score.
  3. Click the ‘Show Rank’ button to view the whole ranking list.
  4. Click the ‘Clear Rank’ button to clear the ranking list.
  5. Fill in the required information, click ‘Submit’, and press ‘Enter’ can start a new game again.
  6. If the player needs to quit the program, click the ‘x’ button on the top-right corner.
    game over

Installation Guide

Method 1

Directly go to the Tetris.jar file in the project folder and enjoy the game.

Method 2

Download zip file or git clone this folder from the link below:
https://github.com/shellmik/Tetris-Fighter.git
Create a Java project in eclipse or other IDEs that support Java and compile and run the project.