Simon Says II

In this activity, you will make a Finch version of the game Simon Says. The Finch will give the user random commands and count how many the user successfully follows.

Start by creating a list called PossibleOrientations. Store the following Finch orientations in this list: Beak Up, Beak Down, Level, Upside Down, Left Wing Down, and Right Wing Down. You should also declare a variable to hold the user’s score.

Your program should meet the following requirements:

  1. For each round of the game, the computer should tell the user to move the Finch to a particular orientation. The Finch orientation for each round should be chosen randomly.
  2. After the user moves the Finch, the game should check if the Finch is in the correct orientation. If it is, the score should increase and a new round should start. If it is not, the game should end.
  3. The game should get harder as the user scores more points. For example, the time to move the Finch into the correct position might decrease as the score increases.
  4. The Finch’s beak and buzzer should indicate when the user scores a point and when the game ends.
  5. When the game ends, it should display the user's final score.

Hint: You can use a variable gameOver to help you decide when the game is over. Set this variable equal to 0 at the beginning of the program. Then set the variable to 1 when the user does not choose the correct orientation.

Extension: What if the robot gives a command without saying, “Simon says”? In that case, the player shouldn’t make the movement. Can you catch them if they make the movement anyway?

Grades: 
Activity Level: