A good first step when creating a computer program is to start the detailed design process using pen and paper. With this in mind, write out the following:

  • List all the steps in Tetris.
  • Find out the data (e.g. a bucket, etc.) that you will have in the program.
  • Find out what are the data structures you need to use to store those data.
  • Find out the actions that your program needs for the game. All the actions will be functions.
  • Come up with the sequence how you would call functions from the main function, inside the game loop, and from inside other functions.

Remember, you will do all of this with a pen and a paper before you write any code on the computer.

Now take your hand-written detailed design and create your C++ program. In the program, you will have:

  • All the data structures (e.g., bucket, shape array, etc.) declared
  • The function declarations and empty body implementations
  • The functions being called in the "main" function and from any other functions

Refer to your hand-written notes and include them as comments in your program. Describe your program with tons of comments, especially for all the function implementations for the game loop.

Put a display in your functions that would say which function it is in, e.g., "In moveShape." To slow down the program, you can slow it down with "sleep".

Remember, you are using blank or empty calling functions, as in:

/* Add comments at the top of the program describing what this program is about. You can provide example input and output of program if applicable.*/

// Gets the input from the user.
bool getUserInput() {
     cout << "In getUserInput function" << endl;

// Finds the key is pressed.
// Then, calls the appropriate function to move the shape
void moveShape (char input) {

     cout << "In moveShape function" << endl;

// You might have a switch case or something to find which key is pressed.

//Then, in each case call the appropriate function, like below.


/* The main function where all the actions start. */
int main(){

     while(!gameOver) {
          //(1) Gets the user input.
               key = getUserInput();

               //(2) Displays the bucket.

               //(3) Moves the shape

This is just an example. You need to come up with your own game loop and dummy functions.

The aim is to see that you have the game loop under control. Work on it until it runs well through the correct sequence of events.

    • 5 years ago
    • 15

    Purchase the answer to view it

    • attachment