Rosie Gillman

Dependencies:   mbed Gamepad2 ELEC2645_Project_el18rg

Dependents:   ELEC2645_Project_el18rg

https://os.mbed.com/media/uploads/el18rg/bug_splat_logo.png

Rosemary Gillman 201265952

Objective

The goal of the game is to splat the bug as fast as you can using the swatter.

Controls

1 - Joystick - left/right to control the swatter 2 - Start button - starts the game 3 - Reset - resets the game 4 - Volume pot - adjusts the volume https://os.mbed.com/media/uploads/el18rg/buttons.png

Instructions

  1. Turn the gamepad on
  2. Wait for start screen and press start
  3. Move the joystick to control the swatter
  4. Splat the bug as fast as you can
  5. Press reset to play again

Gameplay

Start Screen 1

  • Low pad tone plays for 0.5s
  • Pad lights flash (200ms on/200ms off)
  • Text saying "Bug Splat Leeds Edition" is displayed
  • After 5 flashes the screen changes to Start Screen 2

https://os.mbed.com/media/uploads/el18rg/intro_screen1.jpg

Start Screen 2

  • Pad lights stay on constantly
  • Text reads "Splat the bug as fast as you can! Press start"
  • When start is pressed the screen changes to Gamplay Screen

https://os.mbed.com/media/uploads/el18rg/intro_screen_2.jpg

Gameplay Screen

  • The timer begins
  • Bug appears in the top right corner
  • Swatter appears in the bottom left corner
  • The bug bounces (with random velocity/direction) off the sides
  • When the bug bounces off the wall a low pad tone is played each time for 0.1 seconds
  • Swatter is controlled left to right with the joystick
  • When the bug and swatter overlap the screen changes to the Ending Screen

https://os.mbed.com/media/uploads/el18rg/gameplay.jpg

Ending Screen

  • Low pad tone plays for 0.5s
  • The timer ends and its value is displayed
  • Text reads "SPLAT (time) secs"
  • Splats are drawn on the screen https://os.mbed.com/media/uploads/el18rg/end_screen.jpg
Committer:
el18rg
Date:
Fri May 29 21:49:53 2020 +0000
Revision:
24:6e6bcdd22159
Parent:
22:0b207694a5f7
Final Submission. I have read and agreed with Statement of Academic Integrity

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el18rg 19:bdfab290446a 1 #ifndef TESTS_H
el18rg 19:bdfab290446a 2 #define TESTS_H
el18rg 19:bdfab290446a 3
el18rg 19:bdfab290446a 4 /**
el18rg 19:bdfab290446a 5 * @brief Run all the tests for this program
el18rg 19:bdfab290446a 6 *
el18rg 19:bdfab290446a 7 * @returns The number of tests that failed
el18rg 19:bdfab290446a 8 */
el18rg 19:bdfab290446a 9 int run_all_tests()
el18rg 19:bdfab290446a 10 {
el18rg 22:0b207694a5f7 11 int fails = 0; //logs the number of tests that have failed
el18rg 19:bdfab290446a 12
el18rg 19:bdfab290446a 13 printf("Testing bug...\n"); //running the bug tests
el18rg 19:bdfab290446a 14 bool test1_passed = bugtest(); //bug test bool
el18rg 19:bdfab290446a 15
el18rg 19:bdfab290446a 16 if (test1_passed) {
el18rg 22:0b207694a5f7 17 printf("pass\n");
el18rg 19:bdfab290446a 18 }
el18rg 19:bdfab290446a 19 else {
el18rg 22:0b207694a5f7 20 printf("fail\n");
el18rg 22:0b207694a5f7 21 fails = fails + 1;
el18rg 19:bdfab290446a 22 }
el18rg 19:bdfab290446a 23
el18rg 19:bdfab290446a 24 printf("Testing swatter...\n"); //running the splatter tests
el18rg 19:bdfab290446a 25 bool test2_passed = swattertest(); //swatter test bool
el18rg 19:bdfab290446a 26
el18rg 19:bdfab290446a 27 if (test2_passed) {
el18rg 22:0b207694a5f7 28 printf("pass\n");
el18rg 19:bdfab290446a 29 }
el18rg 19:bdfab290446a 30 else {
el18rg 22:0b207694a5f7 31 printf("fail\n");
el18rg 22:0b207694a5f7 32 fails = fails + 1;
el18rg 19:bdfab290446a 33 }
el18rg 19:bdfab290446a 34
el18rg 22:0b207694a5f7 35 if (fails> 0) {
el18rg 22:0b207694a5f7 36 printf("%d failed\n", fails);
el18rg 19:bdfab290446a 37 }
el18rg 19:bdfab290446a 38 else {
el18rg 22:0b207694a5f7 39 printf("pass\n");
el18rg 19:bdfab290446a 40 }
el18rg 19:bdfab290446a 41
el18rg 22:0b207694a5f7 42 return fails;
el18rg 19:bdfab290446a 43 }
el18rg 19:bdfab290446a 44
el18rg 19:bdfab290446a 45 #endif