Liu Liting 201199465

Dependencies:   mbed N5110

Committer:
Ting12138
Date:
Thu May 14 15:42:14 2020 +0000
Revision:
13:a57a48e5e256
Parent:
12:3b7811c3502c
the 2645 project

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:e1442f3aa3c7 1 ///////// pre-processor directives ////////
Ting12138 12:3b7811c3502c 2 /*
Ting12138 12:3b7811c3502c 3 ELEC2645 Embed Systems Project
Ting12138 12:3b7811c3502c 4 School of Electronic &Electrical Engineering
Ting12138 12:3b7811c3502c 5 University of Leeds
Ting12138 12:3b7811c3502c 6
Ting12138 12:3b7811c3502c 7 Name:Liu Liting
Ting12138 12:3b7811c3502c 8 Username:el17ll
Ting12138 12:3b7811c3502c 9 Student ID Number: ID For LEEDS:201199465 ID For SWJTU:2017110353
Ting12138 12:3b7811c3502c 10 Date: 15/05/2020
Ting12138 12:3b7811c3502c 11 */
eencae 0:e1442f3aa3c7 12 #include "mbed.h"
eencae 0:e1442f3aa3c7 13 #include "Gamepad.h"
eencae 0:e1442f3aa3c7 14 #include "N5110.h"
Ting12138 12:3b7811c3502c 15 #include "Engine.h"
eencae 0:e1442f3aa3c7 16
Ting12138 12:3b7811c3502c 17 #define THE_WALL_WIDTH 2
Ting12138 12:3b7811c3502c 18 #define THE_WALL_GAP 12
Ting12138 12:3b7811c3502c 19 #define ROCKET_BULK 2
Ting12138 12:3b7811c3502c 20 #define FOODS_BULK 2
Ting12138 12:3b7811c3502c 21 #define SPEED 2
eencae 1:25a839625a1e 22
eencae 0:e1442f3aa3c7 23 /////////////// structs /////////////////
eencae 0:e1442f3aa3c7 24 struct UserInput {
eencae 0:e1442f3aa3c7 25 Direction d;
eencae 0:e1442f3aa3c7 26 float mag;
Ting12138 12:3b7811c3502c 27 Vector2D mapped_coord;
eencae 0:e1442f3aa3c7 28 };
eencae 0:e1442f3aa3c7 29 /////////////// objects ///////////////
eencae 0:e1442f3aa3c7 30 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
eencae 0:e1442f3aa3c7 31 Gamepad pad;
Ting12138 12:3b7811c3502c 32 Engine eng;
eencae 6:d9d05b321b4d 33
eencae 0:e1442f3aa3c7 34 ///////////// prototypes ///////////////
eencae 0:e1442f3aa3c7 35 void init();
eencae 0:e1442f3aa3c7 36 void update_game(UserInput input);
Ting12138 12:3b7811c3502c 37 void renders();
Ting12138 12:3b7811c3502c 38 void beginning();
Ting12138 12:3b7811c3502c 39 void end_game();
Ting12138 12:3b7811c3502c 40 void introduction();
Ting12138 12:3b7811c3502c 41 void finger_snap();
valavanisalex 10:167d0aa1c9b3 42
Ting12138 12:3b7811c3502c 43 ///////////// Images ///////////////
Ting12138 12:3b7811c3502c 44 const int symbol1[25][32] = {
Ting12138 12:3b7811c3502c 45 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 46 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 47 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 48 { 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 49 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 50 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 51 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 52 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 53 { 0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 54 { 0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 55 { 0,0,0,1,0,0,0,1,1,0,1,1,0,0,0,1,0,0,1,1,1,0,1,1,0,1,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 56 { 0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,1,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 57 { 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 58 { 0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 59 { 0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 60 { 0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 61 { 0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 62 { 0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 63 { 0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 64 { 0,0,0,0,0,0,0,0,0,1,1,0,1,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 65 { 0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 66 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 67 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 68 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 69 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
eencae 6:d9d05b321b4d 70
eencae 0:e1442f3aa3c7 71
Ting12138 12:3b7811c3502c 72 };
Ting12138 12:3b7811c3502c 73
Ting12138 12:3b7811c3502c 74 const int symbol2[25][32] = {
Ting12138 12:3b7811c3502c 75 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 76 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 77 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 78 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 79 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 80 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 81 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 82 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 83 { 0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 84 { 0,0,1,1,1,0,0,1,1,0,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 85 { 0,0,0,1,0,0,0,1,1,0,1,1,0,0,0,1,0,0,1,1,1,0,1,1,0,1,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 86 { 0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,1,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 87 { 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 88 { 0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 89 { 0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 90 { 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 91 { 0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 92 { 0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 93 { 0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 94 { 0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 95 { 0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 96 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 97 { 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 98 { 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 99 { 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 100
Ting12138 12:3b7811c3502c 101 };
Ting12138 12:3b7811c3502c 102
Ting12138 12:3b7811c3502c 103
Ting12138 12:3b7811c3502c 104 //////////////// the main functions //////////////////////
Ting12138 12:3b7811c3502c 105 int main() {
eencae 0:e1442f3aa3c7 106 while (1) {
Ting12138 12:3b7811c3502c 107 int fps = 6;
Ting12138 12:3b7811c3502c 108
Ting12138 12:3b7811c3502c 109 init(); // initialise and then display screen...
Ting12138 12:3b7811c3502c 110 beginning();
Ting12138 12:3b7811c3502c 111 introduction(); // The intro of the story
Ting12138 12:3b7811c3502c 112 renders();
Ting12138 12:3b7811c3502c 113 wait(1.0f/fps); // and wait for one frame period
Ting12138 12:3b7811c3502c 114
Ting12138 12:3b7811c3502c 115 while (1) {
Ting12138 12:3b7811c3502c 116 eng.read_input(pad);
Ting12138 12:3b7811c3502c 117 eng.update(pad);
Ting12138 12:3b7811c3502c 118 renders();
Ting12138 12:3b7811c3502c 119 wait(1.0f/fps);
Ting12138 12:3b7811c3502c 120 if (eng.get_final_score() < 3) { // setting diffculty to regard the current ffoods number
Ting12138 12:3b7811c3502c 121 fps = 6;
Ting12138 12:3b7811c3502c 122 }
Ting12138 12:3b7811c3502c 123 if (eng.get_final_score() == 3) {
Ting12138 12:3b7811c3502c 124 fps = 9;
Ting12138 12:3b7811c3502c 125 }
Ting12138 12:3b7811c3502c 126 if (eng.get_final_score() == 4) {
Ting12138 12:3b7811c3502c 127 fps = 12;
Ting12138 12:3b7811c3502c 128 }
Ting12138 12:3b7811c3502c 129 if (eng.get_final_score() == 5) {
Ting12138 12:3b7811c3502c 130 fps = 15;
Ting12138 12:3b7811c3502c 131 }
Ting12138 12:3b7811c3502c 132 if (eng.get_final_score() == 6) { // you win!!
Ting12138 12:3b7811c3502c 133 finger_snap();
Ting12138 12:3b7811c3502c 134 break;
Ting12138 12:3b7811c3502c 135 } else if (eng.get_final_score() < 0) { // you lose :(
Ting12138 12:3b7811c3502c 136 end_game();
Ting12138 12:3b7811c3502c 137 break;
Ting12138 12:3b7811c3502c 138 }
Ting12138 12:3b7811c3502c 139 }
eencae 0:e1442f3aa3c7 140 }
eencae 0:e1442f3aa3c7 141 }
eencae 0:e1442f3aa3c7 142
Ting12138 12:3b7811c3502c 143 /////////////the introduction part////////////////
Ting12138 12:3b7811c3502c 144 const int introduction1[8][84] = {
Ting12138 12:3b7811c3502c 145 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 146 { 1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 147 { 1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0 },
Ting12138 12:3b7811c3502c 148 { 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1 },
Ting12138 12:3b7811c3502c 149 { 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1 },
Ting12138 12:3b7811c3502c 150 { 1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0 },
Ting12138 12:3b7811c3502c 151 { 1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 152 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 153 };
Ting12138 12:3b7811c3502c 154 const int introduction2[8][80] = {
Ting12138 12:3b7811c3502c 155 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 156 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 157 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0 },
Ting12138 12:3b7811c3502c 158 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1 },
Ting12138 12:3b7811c3502c 159 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1 },
Ting12138 12:3b7811c3502c 160 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0 },
Ting12138 12:3b7811c3502c 161 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 162 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 163 };
Ting12138 12:3b7811c3502c 164 const int introduction3[8][80] = {
Ting12138 12:3b7811c3502c 165 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 },
Ting12138 12:3b7811c3502c 166 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 167 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0 },
Ting12138 12:3b7811c3502c 168 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1 },
Ting12138 12:3b7811c3502c 169 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1 },
Ting12138 12:3b7811c3502c 170 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0 },
Ting12138 12:3b7811c3502c 171 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 172 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 173 };
Ting12138 12:3b7811c3502c 174
Ting12138 12:3b7811c3502c 175 const int intro3[16][18] = {
Ting12138 12:3b7811c3502c 176 { 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 177 { 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 178 { 0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 179 { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 },
Ting12138 12:3b7811c3502c 180 { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0 },
Ting12138 12:3b7811c3502c 181 { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 182 { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 },
Ting12138 12:3b7811c3502c 183 { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
Ting12138 12:3b7811c3502c 184 { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
Ting12138 12:3b7811c3502c 185 { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 },
Ting12138 12:3b7811c3502c 186 { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 },
Ting12138 12:3b7811c3502c 187 { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0 },
Ting12138 12:3b7811c3502c 188 { 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 },
Ting12138 12:3b7811c3502c 189 { 0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 190 { 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 191 { 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 },
Ting12138 12:3b7811c3502c 192 };
Ting12138 12:3b7811c3502c 193
Ting12138 12:3b7811c3502c 194 void init() {
eencae 3:910d7e87f367 195 // need to initialise LCD and Gamepad
eencae 0:e1442f3aa3c7 196 lcd.init();
eencae 0:e1442f3aa3c7 197 pad.init();
eencae 3:910d7e87f367 198
Ting12138 12:3b7811c3502c 199 // initialise the game with correct ball and paddle bulks
Ting12138 12:3b7811c3502c 200 eng.init(THE_WALL_WIDTH,THE_WALL_GAP,FOODS_BULK,SPEED);
Ting12138 12:3b7811c3502c 201 }
Ting12138 12:3b7811c3502c 202
Ting12138 12:3b7811c3502c 203 void beginning() {
Ting12138 12:3b7811c3502c 204 lcd.clear();
Ting12138 12:3b7811c3502c 205 lcd.printString("The power food",0,0); //play messages
Ting12138 12:3b7811c3502c 206 lcd.printString("Start story",9,4);
Ting12138 12:3b7811c3502c 207 lcd.drawSprite(25,8,25,32,(int *)symbol1);
Ting12138 12:3b7811c3502c 208 lcd.refresh();
Ting12138 12:3b7811c3502c 209 pad.tone(440.00,0.60); // adding the theme music, which is my favorite song(hei,hei)
Ting12138 12:3b7811c3502c 210 wait(0.60);
Ting12138 12:3b7811c3502c 211 pad.tone(329.63,0.60);
Ting12138 12:3b7811c3502c 212 wait(0.60);
Ting12138 12:3b7811c3502c 213 pad.tone(392.00,0.60);
Ting12138 12:3b7811c3502c 214 wait(0.60);
eencae 0:e1442f3aa3c7 215
Ting12138 12:3b7811c3502c 216 pad.tone(392.00,0.30);
Ting12138 12:3b7811c3502c 217 wait(0.30);
Ting12138 12:3b7811c3502c 218 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 219 wait(0.30);
Ting12138 12:3b7811c3502c 220 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 221 wait(0.30);
Ting12138 12:3b7811c3502c 222 pad.tone(261.63,0.30);
Ting12138 12:3b7811c3502c 223 wait(0.30);
Ting12138 12:3b7811c3502c 224 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 225 wait(0.30);
Ting12138 12:3b7811c3502c 226 pad.tone(261.63,0.30);
Ting12138 12:3b7811c3502c 227 wait(0.30);
Ting12138 12:3b7811c3502c 228 pad.tone(392.00,0.30);
Ting12138 12:3b7811c3502c 229 wait(0.30);
Ting12138 12:3b7811c3502c 230 pad.tone(293.66,0.15);
Ting12138 12:3b7811c3502c 231 wait(0.30);
Ting12138 12:3b7811c3502c 232 pad.tone(261.63,0.15);
Ting12138 12:3b7811c3502c 233 wait(0.30);
Ting12138 12:3b7811c3502c 234 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 235 wait(0.30);
Ting12138 12:3b7811c3502c 236 pad.tone(392.00,0.30);
Ting12138 12:3b7811c3502c 237 wait(0.30);
Ting12138 12:3b7811c3502c 238
Ting12138 12:3b7811c3502c 239 while (pad.check_event(Gamepad::START_PRESSED) == false) { // animation loop until start button is pressed
Ting12138 12:3b7811c3502c 240 lcd.clear();
Ting12138 12:3b7811c3502c 241 lcd.printString("Look for food",0,0);
Ting12138 12:3b7811c3502c 242 lcd.printString("Start story",9,4);
Ting12138 12:3b7811c3502c 243 lcd.drawSprite(25,8,25,32,(int *)symbol1);
Ting12138 12:3b7811c3502c 244 lcd.refresh();
Ting12138 12:3b7811c3502c 245 wait(0.5);
Ting12138 12:3b7811c3502c 246 lcd.clear();
Ting12138 12:3b7811c3502c 247 lcd.printString("Look for food",0,0);
Ting12138 12:3b7811c3502c 248 lcd.printString("Start story",9,4);
Ting12138 12:3b7811c3502c 249 lcd.drawSprite(25,8,25,32,(int *)symbol2);
Ting12138 12:3b7811c3502c 250 lcd.refresh();
Ting12138 12:3b7811c3502c 251 wait(0.5);
Ting12138 12:3b7811c3502c 252 }
eencae 0:e1442f3aa3c7 253 }
eencae 0:e1442f3aa3c7 254
Ting12138 12:3b7811c3502c 255 void introduction() { // background story
Ting12138 12:3b7811c3502c 256 lcd.clear();
Ting12138 12:3b7811c3502c 257 lcd.printString("Liu Liting",0,0);
Ting12138 12:3b7811c3502c 258 lcd.printString("ID:201199465",0,4);
Ting12138 12:3b7811c3502c 259 lcd.refresh();
Ting12138 12:3b7811c3502c 260 wait(1.0);
Ting12138 12:3b7811c3502c 261 lcd.clear();
Ting12138 12:3b7811c3502c 262 lcd.printString("long long ago",0,0);
Ting12138 12:3b7811c3502c 263 lcd.refresh();
Ting12138 12:3b7811c3502c 264 wait(1.0);
Ting12138 12:3b7811c3502c 265 lcd.printString("Since the",6,2);
Ting12138 12:3b7811c3502c 266 lcd.printString("earth destoried",0,3);
Ting12138 12:3b7811c3502c 267 lcd.printString("we need go",9,4);
Ting12138 12:3b7811c3502c 268 lcd.printString("to find",18,5);
Ting12138 12:3b7811c3502c 269 lcd.refresh();
Ting12138 12:3b7811c3502c 270 wait(1.0);
Ting12138 12:3b7811c3502c 271 lcd.printString("(Press start)",3,1);
Ting12138 12:3b7811c3502c 272 wait(1.0);
Ting12138 12:3b7811c3502c 273 while (pad.check_event(Gamepad::START_PRESSED) == false) { // while-looping until the button is on
Ting12138 12:3b7811c3502c 274 lcd.refresh();
Ting12138 12:3b7811c3502c 275 wait(0.5);
Ting12138 12:3b7811c3502c 276 }
Ting12138 12:3b7811c3502c 277
Ting12138 12:3b7811c3502c 278 lcd.clear(); // background story
Ting12138 12:3b7811c3502c 279 lcd.printString("You will ",12,0);
Ting12138 12:3b7811c3502c 280 lcd.printString("control them",9,1);
Ting12138 12:3b7811c3502c 281 lcd.printString("to get what",6,2);
Ting12138 12:3b7811c3502c 282 lcd.printString("you need to",9,3);
Ting12138 12:3b7811c3502c 283 lcd.printString("then travel in",0,4);
Ting12138 12:3b7811c3502c 284 lcd.printString("the forest",3,5);
Ting12138 12:3b7811c3502c 285 lcd.refresh();
Ting12138 12:3b7811c3502c 286 wait(1.0);
Ting12138 12:3b7811c3502c 287 while ( pad.check_event(Gamepad::START_PRESSED) == false) { // while-looping until the button is on
Ting12138 12:3b7811c3502c 288 lcd.refresh();
Ting12138 12:3b7811c3502c 289 wait(0.5);
Ting12138 12:3b7811c3502c 290 }
Ting12138 12:3b7811c3502c 291
Ting12138 12:3b7811c3502c 292 while (pad.check_event(Gamepad::START_PRESSED) == false) { // tutorial with animation
Ting12138 12:3b7811c3502c 293 lcd.clear();
Ting12138 12:3b7811c3502c 294 lcd.printString("Useing your",10,0);
Ting12138 12:3b7811c3502c 295 lcd.printString("joystick to",8,1);
Ting12138 12:3b7811c3502c 296 lcd.printString("send yourself",2,2);
Ting12138 12:3b7811c3502c 297 lcd.printString("to the right",5,3);
Ting12138 12:3b7811c3502c 298 lcd.printString("forest",17,4);
Ting12138 12:3b7811c3502c 299 lcd.drawSprite(2,40,8,80,(int *)introduction1);
Ting12138 12:3b7811c3502c 300 lcd.refresh();
Ting12138 12:3b7811c3502c 301 wait(0.5);
Ting12138 12:3b7811c3502c 302 lcd.clear();
Ting12138 12:3b7811c3502c 303 lcd.printString("Useing your",10,0);
Ting12138 12:3b7811c3502c 304 lcd.printString("joystick to",8,1);
Ting12138 12:3b7811c3502c 305 lcd.printString("send yourself",2,2);
Ting12138 12:3b7811c3502c 306 lcd.printString("to the right",5,3);
Ting12138 12:3b7811c3502c 307 lcd.printString("forest",17,4);
Ting12138 12:3b7811c3502c 308 lcd.drawSprite(2,40,8,80,(int *)introduction2);
Ting12138 12:3b7811c3502c 309 lcd.refresh();
Ting12138 12:3b7811c3502c 310 wait(0.5);
Ting12138 12:3b7811c3502c 311 lcd.clear();
Ting12138 12:3b7811c3502c 312 lcd.printString("Useing your",10,0);
Ting12138 12:3b7811c3502c 313 lcd.printString("joystick to",8,1);
Ting12138 12:3b7811c3502c 314 lcd.printString("send yourself",2,2);
Ting12138 12:3b7811c3502c 315 lcd.printString("to the right",5,3);
Ting12138 12:3b7811c3502c 316 lcd.printString("forest",17,4);
Ting12138 12:3b7811c3502c 317 lcd.drawSprite(2,40,8,80,(int *)introduction3);
Ting12138 12:3b7811c3502c 318 lcd.refresh();
Ting12138 12:3b7811c3502c 319 wait(0.5);
Ting12138 12:3b7811c3502c 320 }
Ting12138 12:3b7811c3502c 321
Ting12138 12:3b7811c3502c 322 while (pad.check_event(Gamepad::START_PRESSED) == false) { // tutorial with animation
Ting12138 12:3b7811c3502c 323 lcd.clear();
Ting12138 12:3b7811c3502c 324 lcd.printString("try not to",0,0);
Ting12138 12:3b7811c3502c 325 lcd.printString("interrupt it",0,1);
Ting12138 12:3b7811c3502c 326 lcd.printString("line when",0,3);
Ting12138 12:3b7811c3502c 327 lcd.printString("pass thro.",0,4);
Ting12138 12:3b7811c3502c 328 lcd.printString("the gap",0,5);
Ting12138 12:3b7811c3502c 329 lcd.drawSprite(54,16,16,18,(int *)intro3);
Ting12138 12:3b7811c3502c 330 lcd.drawRect(78,0,2,18,FILL_BLACK);
Ting12138 12:3b7811c3502c 331 lcd.drawRect(78,30,2,18,FILL_BLACK);
Ting12138 12:3b7811c3502c 332 lcd.refresh();
Ting12138 12:3b7811c3502c 333 wait(0.5);
Ting12138 12:3b7811c3502c 334 lcd.clear();
Ting12138 12:3b7811c3502c 335 lcd.printString("try not to",0,0);
Ting12138 12:3b7811c3502c 336 lcd.printString("interrupt it",0,1);
Ting12138 12:3b7811c3502c 337 lcd.printString("line when",0,3);
Ting12138 12:3b7811c3502c 338 lcd.printString("pass thro.",0,4);
Ting12138 12:3b7811c3502c 339 lcd.printString("the gap",0,5);
Ting12138 12:3b7811c3502c 340 lcd.drawSprite(62,16,16,18,(int *)intro3);
Ting12138 12:3b7811c3502c 341 lcd.drawRect(78,0,2,18,FILL_BLACK);
Ting12138 12:3b7811c3502c 342 lcd.drawRect(78,30,2,18,FILL_BLACK);
Ting12138 12:3b7811c3502c 343 lcd.refresh();
Ting12138 12:3b7811c3502c 344 wait(0.5);
Ting12138 12:3b7811c3502c 345 }
Ting12138 12:3b7811c3502c 346
Ting12138 12:3b7811c3502c 347 lcd.clear(); // last message before the game begins
Ting12138 12:3b7811c3502c 348 lcd.printString("rearch 6",12,0);
Ting12138 12:3b7811c3502c 349 lcd.printString("foods and then",0,1);
Ting12138 12:3b7811c3502c 350 lcd.printString("win the game",6,2);
Ting12138 12:3b7811c3502c 351 lcd.printString("God speed",15,3);
Ting12138 12:3b7811c3502c 352 lcd.printString("Going!",15,4);
Ting12138 12:3b7811c3502c 353 lcd.refresh();
Ting12138 12:3b7811c3502c 354 wait(0.5);
Ting12138 12:3b7811c3502c 355
Ting12138 12:3b7811c3502c 356 while (pad.check_event(Gamepad::START_PRESSED) == false) { //sparking leds
Ting12138 12:3b7811c3502c 357 pad.leds_on();
Ting12138 12:3b7811c3502c 358 wait(0.25);
Ting12138 12:3b7811c3502c 359 pad.leds_off();
Ting12138 12:3b7811c3502c 360 wait(0.25);
Ting12138 12:3b7811c3502c 361 }
Ting12138 12:3b7811c3502c 362 }
Ting12138 12:3b7811c3502c 363
Ting12138 12:3b7811c3502c 364 void renders() {
eencae 3:910d7e87f367 365 // clear screen, re-draw and refresh
eencae 3:910d7e87f367 366 lcd.clear();
Ting12138 12:3b7811c3502c 367 eng.draw(lcd);
eencae 0:e1442f3aa3c7 368 lcd.refresh();
eencae 3:910d7e87f367 369 }
eencae 3:910d7e87f367 370
Ting12138 12:3b7811c3502c 371 void finger_snap() {
Ting12138 12:3b7811c3502c 372 lcd.clear(); // at this point the game has broken the while loop, clear screen to display congrat message
Ting12138 12:3b7811c3502c 373 lcd.printString("Congrat!!",17,0);
Ting12138 12:3b7811c3502c 374 lcd.printString("Liu Liting",0,1);
Ting12138 12:3b7811c3502c 375 lcd.printString("201199465",15,2);
eencae 3:910d7e87f367 376 lcd.refresh();
Ting12138 12:3b7811c3502c 377
Ting12138 12:3b7811c3502c 378 pad.tone(440.00,0.60); // adding the theme music
Ting12138 12:3b7811c3502c 379 wait(0.60);
Ting12138 12:3b7811c3502c 380 pad.tone(329.63,0.60);
Ting12138 12:3b7811c3502c 381 wait(0.60);
Ting12138 12:3b7811c3502c 382 pad.tone(392.00,0.60);
Ting12138 12:3b7811c3502c 383 wait(0.60);
Ting12138 12:3b7811c3502c 384 pad.tone(392.00,0.30);
Ting12138 12:3b7811c3502c 385 wait(0.30);
Ting12138 12:3b7811c3502c 386 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 387 wait(0.30);
Ting12138 12:3b7811c3502c 388 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 389 wait(0.30);
Ting12138 12:3b7811c3502c 390 pad.tone(261.63,0.30);
Ting12138 12:3b7811c3502c 391 wait(0.30);
Ting12138 12:3b7811c3502c 392 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 393 wait(0.30);
Ting12138 12:3b7811c3502c 394 pad.tone(261.63,0.30);
Ting12138 12:3b7811c3502c 395 wait(0.30);
Ting12138 12:3b7811c3502c 396 pad.tone(392.00,0.30);
Ting12138 12:3b7811c3502c 397 wait(0.30);
Ting12138 12:3b7811c3502c 398 pad.tone(293.66,0.15);
Ting12138 12:3b7811c3502c 399 wait(0.30);
Ting12138 12:3b7811c3502c 400 pad.tone(261.63,0.15);
Ting12138 12:3b7811c3502c 401 wait(0.30);
Ting12138 12:3b7811c3502c 402 pad.tone(293.66,0.30);
Ting12138 12:3b7811c3502c 403 wait(0.30);
Ting12138 12:3b7811c3502c 404 pad.tone(392.00,0.30);
Ting12138 12:3b7811c3502c 405 wait(0.30);
Ting12138 12:3b7811c3502c 406 while (pad.check_event(Gamepad::START_PRESSED) == false) { // enter loop waiting to restart the game
Ting12138 12:3b7811c3502c 407 lcd.printString("press start",9,4);
Ting12138 12:3b7811c3502c 408 lcd.printString("to return",15,5);
Ting12138 12:3b7811c3502c 409 lcd.refresh();
eencae 3:910d7e87f367 410 pad.leds_on();
Ting12138 12:3b7811c3502c 411 wait(0.5);
eencae 3:910d7e87f367 412 pad.leds_off();
Ting12138 12:3b7811c3502c 413 wait(0.5);
eencae 3:910d7e87f367 414 }
Ting12138 12:3b7811c3502c 415 }
Ting12138 12:3b7811c3502c 416
Ting12138 12:3b7811c3502c 417 void end_game() {
Ting12138 12:3b7811c3502c 418 lcd.clear(); //break the while loop and enter gameover
Ting12138 12:3b7811c3502c 419 lcd.printString("OH!!!",18,1);
Ting12138 12:3b7811c3502c 420 lcd.printString("I don't feel",6,2);
Ting12138 12:3b7811c3502c 421 lcd.printString("so good ...",9,3);
Ting12138 12:3b7811c3502c 422 lcd.refresh();
Ting12138 12:3b7811c3502c 423
Ting12138 12:3b7811c3502c 424 pad.tone(261.63,1.63); // play sad music when lose
Ting12138 12:3b7811c3502c 425 wait(1.63);
Ting12138 12:3b7811c3502c 426 pad.tone(0.0,0.06);
Ting12138 12:3b7811c3502c 427 wait(0.06);
Ting12138 12:3b7811c3502c 428 pad.tone(261.63,0.63);
Ting12138 12:3b7811c3502c 429 wait(0.63);
Ting12138 12:3b7811c3502c 430 pad.tone(293.66,0.63);
Ting12138 12:3b7811c3502c 431 wait(0.06);
Ting12138 12:3b7811c3502c 432 pad.tone(329.63,0.63);
Ting12138 12:3b7811c3502c 433 wait(0.63);
Ting12138 12:3b7811c3502c 434 pad.tone(261.63,0.63);
Ting12138 12:3b7811c3502c 435 wait(0.06);
Ting12138 12:3b7811c3502c 436 pad.tone(329.63,1.63);
Ting12138 12:3b7811c3502c 437 wait(1.63);
Ting12138 12:3b7811c3502c 438 pad.tone(0.00,0.06);
Ting12138 12:3b7811c3502c 439 wait(0.06);
Ting12138 12:3b7811c3502c 440 pad.tone(261.63,0.63);
Ting12138 12:3b7811c3502c 441 wait(0.63);
Ting12138 12:3b7811c3502c 442 pad.tone(293.66,0.63);
Ting12138 12:3b7811c3502c 443 wait(0.63);
Ting12138 12:3b7811c3502c 444 pad.tone(329.63,0.63);
Ting12138 12:3b7811c3502c 445 wait(0.63);
Ting12138 12:3b7811c3502c 446 pad.tone(261.63,0.63);
Ting12138 12:3b7811c3502c 447 wait(0.63);
Ting12138 12:3b7811c3502c 448 pad.tone(349.23,0.63);
Ting12138 12:3b7811c3502c 449 wait(0.63);
Ting12138 12:3b7811c3502c 450
Ting12138 12:3b7811c3502c 451 while (pad.check_event(Gamepad::START_PRESSED) == false) { // enter loop waiting to restart the game
Ting12138 12:3b7811c3502c 452 lcd.printString("press start",9,4);
Ting12138 12:3b7811c3502c 453 lcd.printString("to return",15,5);
Ting12138 12:3b7811c3502c 454 lcd.refresh();
Ting12138 12:3b7811c3502c 455 wait(0.5);
Ting12138 12:3b7811c3502c 456 }
eencae 0:e1442f3aa3c7 457 }