Game codes for Pokemon Academy Yiu Fai Kwok - 201198802 I have read the University Regulations on Plagiarism and state that the work covered by this declaration is my own and does not contain any unacknowledged work from other sources.
Dependencies: mbed FXOS8700CQ mbed-rtos
Score/Score.cpp@32:58def659f463, 2019-05-08 (annotated)
- Committer:
- yfkwok
- Date:
- Wed May 08 15:14:55 2019 +0000
- Revision:
- 32:58def659f463
- Parent:
- 31:0d2c19a285f6
- Child:
- 34:3ddfaa217eca
08/05/2019 - Commit before moving majority sprites in main to Grad
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yfkwok | 2:464c7e62d97d | 1 | #include "Score.h" |
yfkwok | 2:464c7e62d97d | 2 | |
yfkwok | 2:464c7e62d97d | 3 | Score::Score() |
yfkwok | 2:464c7e62d97d | 4 | { |
yfkwok | 2:464c7e62d97d | 5 | |
yfkwok | 2:464c7e62d97d | 6 | } |
yfkwok | 2:464c7e62d97d | 7 | |
yfkwok | 2:464c7e62d97d | 8 | Score::~Score() |
yfkwok | 2:464c7e62d97d | 9 | { |
yfkwok | 2:464c7e62d97d | 10 | |
yfkwok | 2:464c7e62d97d | 11 | } |
yfkwok | 2:464c7e62d97d | 12 | |
yfkwok | 32:58def659f463 | 13 | // Background music played during main title screen, music originally from Pokemon (R/B/Y) title screen. |
yfkwok | 2:464c7e62d97d | 14 | void Score::title_music(Gamepad &pad) |
yfkwok | 2:464c7e62d97d | 15 | { |
yfkwok | 2:464c7e62d97d | 16 | while(1){ |
yfkwok | 2:464c7e62d97d | 17 | pad.tone(NOTE_G3,0.1); |
yfkwok | 2:464c7e62d97d | 18 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 19 | pad.tone(NOTE_B3,0.1); |
yfkwok | 2:464c7e62d97d | 20 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 21 | pad.tone(NOTE_D4,0.1); |
yfkwok | 2:464c7e62d97d | 22 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 23 | pad.tone(NOTE_FS4,0.1); |
yfkwok | 2:464c7e62d97d | 24 | wait(0.1); |
yfkwok | 17:5d8ff39a0e49 | 25 | // Note: to break out of the looping of the title music |
yfkwok | 2:464c7e62d97d | 26 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 27 | pad.tone(NOTE_G4,0.4); |
yfkwok | 2:464c7e62d97d | 28 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 29 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 30 | pad.tone(NOTE_G4,0.4); |
yfkwok | 2:464c7e62d97d | 31 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 32 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 33 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 34 | pad.tone(NOTE_G4,0.1); |
yfkwok | 2:464c7e62d97d | 35 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 36 | pad.tone(NOTE_G4,0.1); |
yfkwok | 2:464c7e62d97d | 37 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 38 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 39 | pad.tone(NOTE_G4,0.4); |
yfkwok | 2:464c7e62d97d | 40 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 41 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 42 | pad.tone(NOTE_G4,0.4); |
yfkwok | 2:464c7e62d97d | 43 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 44 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 45 | pad.tone(NOTE_G4,0.4); |
yfkwok | 2:464c7e62d97d | 46 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 47 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 48 | pad.tone(NOTE_F4,0.4/3); |
yfkwok | 2:464c7e62d97d | 49 | wait(0.4/3); |
yfkwok | 2:464c7e62d97d | 50 | pad.tone(NOTE_F4,0.4/3); |
yfkwok | 2:464c7e62d97d | 51 | wait(0.4/3); |
yfkwok | 2:464c7e62d97d | 52 | pad.tone(NOTE_F4,0.4/3); |
yfkwok | 2:464c7e62d97d | 53 | wait(0.4/3); |
yfkwok | 2:464c7e62d97d | 54 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 55 | pad.tone(NOTE_F4,0.4/3); |
yfkwok | 2:464c7e62d97d | 56 | wait(0.4/3); |
yfkwok | 2:464c7e62d97d | 57 | pad.tone(NOTE_F4,0.4/3); |
yfkwok | 2:464c7e62d97d | 58 | wait(0.4/3); |
yfkwok | 2:464c7e62d97d | 59 | pad.tone(NOTE_FS4,0.4/3); |
yfkwok | 2:464c7e62d97d | 60 | wait(0.4/3); |
yfkwok | 2:464c7e62d97d | 61 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 62 | |
yfkwok | 32:58def659f463 | 63 | // Looping the section of the music infinitely until START_button is pressed |
yfkwok | 2:464c7e62d97d | 64 | while(1){ |
yfkwok | 32:58def659f463 | 65 | // bar 4 |
yfkwok | 2:464c7e62d97d | 66 | pad.tone(NOTE_G4,0.6); |
yfkwok | 2:464c7e62d97d | 67 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 68 | pad.tone(NOTE_B4,0.2); |
yfkwok | 2:464c7e62d97d | 69 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 70 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 71 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 72 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 73 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 74 | pad.tone(NOTE_C4,0.6); |
yfkwok | 2:464c7e62d97d | 75 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 76 | pad.tone(NOTE_F4,0.2); |
yfkwok | 2:464c7e62d97d | 77 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 78 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 79 | pad.tone(NOTE_F5,0.6); |
yfkwok | 2:464c7e62d97d | 80 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 81 | pad.tone(NOTE_E5,0.1); |
yfkwok | 2:464c7e62d97d | 82 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 83 | pad.tone(NOTE_DS5,0.1); |
yfkwok | 2:464c7e62d97d | 84 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 85 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 32:58def659f463 | 86 | // bar 6 |
yfkwok | 2:464c7e62d97d | 87 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 88 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 89 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 90 | pad.tone(NOTE_F4,0.6); |
yfkwok | 2:464c7e62d97d | 91 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 92 | pad.tone(NOTE_E4,0.1); |
yfkwok | 2:464c7e62d97d | 93 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 94 | pad.tone(NOTE_DS4,0.1); |
yfkwok | 2:464c7e62d97d | 95 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 96 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 97 | pad.tone(NOTE_D4,0.8); |
yfkwok | 2:464c7e62d97d | 98 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 99 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 100 | pad.tone(NOTE_C4,0.8/3); |
yfkwok | 2:464c7e62d97d | 101 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 102 | pad.tone(NOTE_B3,0.8/3); |
yfkwok | 2:464c7e62d97d | 103 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 104 | pad.tone(NOTE_C4,0.8/3); |
yfkwok | 2:464c7e62d97d | 105 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 106 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 107 | pad.tone(NOTE_G4,0.6); |
yfkwok | 2:464c7e62d97d | 108 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 109 | pad.tone(NOTE_B4,0.2); |
yfkwok | 2:464c7e62d97d | 110 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 111 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 112 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 113 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 114 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 115 | pad.tone(NOTE_C4,0.8); |
yfkwok | 2:464c7e62d97d | 116 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 117 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 118 | pad.tone(NOTE_C5,0.8/3); |
yfkwok | 2:464c7e62d97d | 119 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 120 | pad.tone(NOTE_B4,0.8/3); |
yfkwok | 2:464c7e62d97d | 121 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 122 | pad.tone(NOTE_C5,0.8/3); |
yfkwok | 2:464c7e62d97d | 123 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 124 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 125 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 126 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 127 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 128 | pad.tone(NOTE_F4,0.8/3); |
yfkwok | 2:464c7e62d97d | 129 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 130 | pad.tone(NOTE_E4,0.8/3); |
yfkwok | 2:464c7e62d97d | 131 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 132 | pad.tone(NOTE_C4,0.8/3); |
yfkwok | 2:464c7e62d97d | 133 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 134 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 135 | pad.tone(NOTE_D4,1.0); |
yfkwok | 2:464c7e62d97d | 136 | wait(1.0); |
yfkwok | 2:464c7e62d97d | 137 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 138 | pad.tone(NOTE_B3,0.2); |
yfkwok | 2:464c7e62d97d | 139 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 140 | pad.tone(NOTE_C4,0.2); |
yfkwok | 2:464c7e62d97d | 141 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 142 | pad.tone(NOTE_D4,0.2); |
yfkwok | 2:464c7e62d97d | 143 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 144 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 145 | //bar 12 |
yfkwok | 2:464c7e62d97d | 146 | pad.tone(NOTE_G4,0.6); |
yfkwok | 2:464c7e62d97d | 147 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 148 | pad.tone(NOTE_B4,0.2); |
yfkwok | 2:464c7e62d97d | 149 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 150 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 151 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 152 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 153 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 154 | pad.tone(NOTE_C4,0.6); |
yfkwok | 2:464c7e62d97d | 155 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 156 | pad.tone(NOTE_F4,0.2); |
yfkwok | 2:464c7e62d97d | 157 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 158 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 159 | pad.tone(NOTE_F5,0.6); |
yfkwok | 2:464c7e62d97d | 160 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 161 | pad.tone(NOTE_E5,0.1); |
yfkwok | 2:464c7e62d97d | 162 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 163 | pad.tone(NOTE_DS5,0.1); |
yfkwok | 2:464c7e62d97d | 164 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 165 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 166 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 167 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 168 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 169 | pad.tone(NOTE_F4,0.6); |
yfkwok | 2:464c7e62d97d | 170 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 171 | pad.tone(NOTE_E4,0.1); |
yfkwok | 2:464c7e62d97d | 172 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 173 | pad.tone(NOTE_DS4,0.1); |
yfkwok | 2:464c7e62d97d | 174 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 175 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 176 | pad.tone(NOTE_D4,0.8); |
yfkwok | 2:464c7e62d97d | 177 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 178 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 179 | pad.tone(NOTE_C4,0.8/3); |
yfkwok | 2:464c7e62d97d | 180 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 181 | pad.tone(NOTE_B3,0.8/3); |
yfkwok | 2:464c7e62d97d | 182 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 183 | pad.tone(NOTE_C4,0.8/3); |
yfkwok | 2:464c7e62d97d | 184 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 185 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 186 | pad.tone(NOTE_G4,0.6); |
yfkwok | 2:464c7e62d97d | 187 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 188 | pad.tone(NOTE_B4,0.2); |
yfkwok | 2:464c7e62d97d | 189 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 190 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 191 | pad.tone(NOTE_D5,0.8); |
yfkwok | 2:464c7e62d97d | 192 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 193 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 32:58def659f463 | 194 | // bar 17 |
yfkwok | 2:464c7e62d97d | 195 | pad.tone(NOTE_C4,0.6); |
yfkwok | 2:464c7e62d97d | 196 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 197 | pad.tone(NOTE_C4,0.2); |
yfkwok | 2:464c7e62d97d | 198 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 199 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 200 | pad.tone(NOTE_F5,0.8/3); |
yfkwok | 2:464c7e62d97d | 201 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 202 | pad.tone(NOTE_E5,0.8/3); |
yfkwok | 2:464c7e62d97d | 203 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 204 | pad.tone(NOTE_F5,0.8/3); |
yfkwok | 2:464c7e62d97d | 205 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 206 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 207 | pad.tone(NOTE_G5,0.6); |
yfkwok | 2:464c7e62d97d | 208 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 209 | pad.tone(NOTE_AS5,0.2); |
yfkwok | 2:464c7e62d97d | 210 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 211 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 212 | pad.tone(NOTE_G5,0.8); |
yfkwok | 2:464c7e62d97d | 213 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 214 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 215 | pad.tone(NOTE_G5,0.6); |
yfkwok | 2:464c7e62d97d | 216 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 217 | pad.tone(NOTE_A4,0.2); |
yfkwok | 2:464c7e62d97d | 218 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 219 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 220 | pad.tone(NOTE_A5,0.8); |
yfkwok | 2:464c7e62d97d | 221 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 222 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 223 | pad.tone(NOTE_AS5,0.6); |
yfkwok | 2:464c7e62d97d | 224 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 225 | pad.tone(NOTE_F5,0.2); |
yfkwok | 2:464c7e62d97d | 226 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 227 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 228 | pad.tone(NOTE_F5,0.8); |
yfkwok | 2:464c7e62d97d | 229 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 230 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 231 | pad.tone(NOTE_F5,0.8); |
yfkwok | 2:464c7e62d97d | 232 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 233 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 234 | pad.tone(NOTE_AS5,0.4); |
yfkwok | 2:464c7e62d97d | 235 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 236 | pad.tone(NOTE_B5,0.4); |
yfkwok | 2:464c7e62d97d | 237 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 238 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 239 | pad.tone(NOTE_C6,0.6); |
yfkwok | 2:464c7e62d97d | 240 | wait(0.6); |
yfkwok | 2:464c7e62d97d | 241 | pad.tone(NOTE_G5,0.2); |
yfkwok | 2:464c7e62d97d | 242 | wait(0.2); |
yfkwok | 2:464c7e62d97d | 243 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 244 | pad.tone(NOTE_G5,0.8); |
yfkwok | 2:464c7e62d97d | 245 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 246 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 32:58def659f463 | 247 | // bar 23 |
yfkwok | 2:464c7e62d97d | 248 | pad.tone(NOTE_G5,0.8); |
yfkwok | 2:464c7e62d97d | 249 | wait(0.8); |
yfkwok | 2:464c7e62d97d | 250 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 251 | pad.tone(NOTE_C6,0.4); |
yfkwok | 2:464c7e62d97d | 252 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 253 | pad.tone(NOTE_CS6,0.4); |
yfkwok | 2:464c7e62d97d | 254 | wait(0.4); |
yfkwok | 2:464c7e62d97d | 255 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 256 | pad.tone(NOTE_D6,0.3); |
yfkwok | 2:464c7e62d97d | 257 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 258 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 259 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 260 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 261 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 262 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 263 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 264 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 265 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 266 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 267 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 268 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 269 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 270 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 271 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 272 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 273 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 274 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 275 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 276 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 277 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 278 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 279 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 280 | pad.tone(NOTE_C6,0.8/3); |
yfkwok | 2:464c7e62d97d | 281 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 282 | pad.tone(NOTE_C6,0.8/3); |
yfkwok | 2:464c7e62d97d | 283 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 284 | pad.tone(NOTE_CS6,0.8/3); |
yfkwok | 2:464c7e62d97d | 285 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 286 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 287 | pad.tone(NOTE_D6,0.3); |
yfkwok | 2:464c7e62d97d | 288 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 289 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 290 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 291 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 292 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 293 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 294 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 295 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 296 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 297 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 298 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 299 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 300 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 301 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 302 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 303 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 304 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 305 | wait(0.3); |
yfkwok | 2:464c7e62d97d | 306 | pad.tone(NOTE_D5,0.1); |
yfkwok | 2:464c7e62d97d | 307 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 308 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 309 | pad.tone(NOTE_C6,0.8/3); |
yfkwok | 2:464c7e62d97d | 310 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 311 | pad.tone(NOTE_C6,0.8/3); |
yfkwok | 2:464c7e62d97d | 312 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 313 | pad.tone(NOTE_B5,0.8/3); |
yfkwok | 2:464c7e62d97d | 314 | wait(0.8/3); |
yfkwok | 2:464c7e62d97d | 315 | if(pad.check_event(Gamepad::START_PRESSED) == true){break;} |
yfkwok | 2:464c7e62d97d | 316 | } |
yfkwok | 2:464c7e62d97d | 317 | |
yfkwok | 2:464c7e62d97d | 318 | break; |
yfkwok | 2:464c7e62d97d | 319 | } |
yfkwok | 2:464c7e62d97d | 320 | } |
yfkwok | 2:464c7e62d97d | 321 | |
yfkwok | 32:58def659f463 | 322 | // Level up sound effect for when player progress to next year or next term, music originally from Pokemon (R/B/Y) when pokemon levels up. |
yfkwok | 2:464c7e62d97d | 323 | void Score::level_up(Gamepad &pad) |
yfkwok | 2:464c7e62d97d | 324 | { |
yfkwok | 2:464c7e62d97d | 325 | pad.tone(NOTE_E5,0.12); |
yfkwok | 2:464c7e62d97d | 326 | wait(0.15); |
yfkwok | 2:464c7e62d97d | 327 | pad.tone(NOTE_E5,0.12); |
yfkwok | 2:464c7e62d97d | 328 | wait(0.15); |
yfkwok | 2:464c7e62d97d | 329 | pad.tone(NOTE_E5,0.12); |
yfkwok | 2:464c7e62d97d | 330 | wait(0.15); |
yfkwok | 2:464c7e62d97d | 331 | pad.tone(NOTE_B5,0.45); |
yfkwok | 2:464c7e62d97d | 332 | wait(0.45); |
yfkwok | 2:464c7e62d97d | 333 | } |
yfkwok | 2:464c7e62d97d | 334 | |
yfkwok | 32:58def659f463 | 335 | // Congratulation music for when player select its starter or when the starter evolves, music originally from Pokemon (R/B/Y) when pokemon evovlved. |
yfkwok | 2:464c7e62d97d | 336 | void Score::congrats(Gamepad &pad) |
yfkwok | 2:464c7e62d97d | 337 | { |
yfkwok | 2:464c7e62d97d | 338 | pad.tone(NOTE_A5,0.35); |
yfkwok | 2:464c7e62d97d | 339 | wait(0.35); |
yfkwok | 2:464c7e62d97d | 340 | pad.tone(NOTE_F5,0.35); |
yfkwok | 2:464c7e62d97d | 341 | wait(0.35); |
yfkwok | 2:464c7e62d97d | 342 | pad.tone(NOTE_C5,0.7); |
yfkwok | 2:464c7e62d97d | 343 | wait(0.7); |
yfkwok | 2:464c7e62d97d | 344 | pad.tone(NOTE_AS5,0.35/3); |
yfkwok | 2:464c7e62d97d | 345 | wait(0.35/3); |
yfkwok | 2:464c7e62d97d | 346 | pad.tone(NOTE_AS5,0.35/3); |
yfkwok | 2:464c7e62d97d | 347 | wait(0.35/3); |
yfkwok | 2:464c7e62d97d | 348 | pad.tone(NOTE_AS5,0.35/3); |
yfkwok | 2:464c7e62d97d | 349 | wait(0.35/3); |
yfkwok | 2:464c7e62d97d | 350 | pad.tone(NOTE_G5,0.35/3); |
yfkwok | 2:464c7e62d97d | 351 | wait(0.35/3); |
yfkwok | 2:464c7e62d97d | 352 | pad.tone(NOTE_G5,0.35/3); |
yfkwok | 2:464c7e62d97d | 353 | wait(0.35/3); |
yfkwok | 2:464c7e62d97d | 354 | pad.tone(NOTE_AS5,0.35/3); |
yfkwok | 2:464c7e62d97d | 355 | wait(0.35/3); |
yfkwok | 2:464c7e62d97d | 356 | pad.tone(NOTE_A5,0.7); |
yfkwok | 2:464c7e62d97d | 357 | wait(0.7); |
yfkwok | 2:464c7e62d97d | 358 | } |
yfkwok | 2:464c7e62d97d | 359 | |
yfkwok | 32:58def659f463 | 360 | // Coin sound effect for different games |
yfkwok | 2:464c7e62d97d | 361 | void Score::coin(Gamepad &pad) |
yfkwok | 2:464c7e62d97d | 362 | { |
yfkwok | 2:464c7e62d97d | 363 | pad.tone(NOTE_B5,0.1); |
yfkwok | 2:464c7e62d97d | 364 | wait(0.1); |
yfkwok | 2:464c7e62d97d | 365 | pad.tone(NOTE_E6,0.4); |
yfkwok | 4:5bc9c4363d31 | 366 | } |
yfkwok | 4:5bc9c4363d31 | 367 | |
yfkwok | 32:58def659f463 | 368 | // Evolution music and animation which will be played for the chosen pokemon when the enter a new year, music originally from Pokemon (R/B/Y) when pokemon evolves. |
yfkwok | 4:5bc9c4363d31 | 369 | void Score::evolution_music(Gamepad &pad, N5110 &lcd, int cha, int year) |
yfkwok | 4:5bc9c4363d31 | 370 | { |
yfkwok | 17:5d8ff39a0e49 | 371 | //Initiate position for name titles |
yfkwok | 12:71683453f66a | 372 | int x = 84; |
yfkwok | 12:71683453f66a | 373 | int y = 12; |
yfkwok | 4:5bc9c4363d31 | 374 | // bar 1 |
yfkwok | 12:71683453f66a | 375 | draw(lcd, cha, year, x, y); |
yfkwok | 4:5bc9c4363d31 | 376 | pad.tone(NOTE_G5,0.5/4); |
yfkwok | 4:5bc9c4363d31 | 377 | wait(0.5/4); |
yfkwok | 4:5bc9c4363d31 | 378 | pad.tone(NOTE_D5,0.5/4); |
yfkwok | 4:5bc9c4363d31 | 379 | wait(0.5/4); |
yfkwok | 4:5bc9c4363d31 | 380 | pad.tone(NOTE_G5,0.5/4); |
yfkwok | 4:5bc9c4363d31 | 381 | wait(0.5/4); |
yfkwok | 4:5bc9c4363d31 | 382 | pad.tone(NOTE_D5,0.5/4); |
yfkwok | 4:5bc9c4363d31 | 383 | wait(0.5/4); |
yfkwok | 4:5bc9c4363d31 | 384 | wait(1.5); |
yfkwok | 4:5bc9c4363d31 | 385 | // bar 2 |
yfkwok | 4:5bc9c4363d31 | 386 | |
yfkwok | 4:5bc9c4363d31 | 387 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 388 | wait(0.5); |
yfkwok | 4:5bc9c4363d31 | 389 | lcd.clear(); |
yfkwok | 4:5bc9c4363d31 | 390 | lcd.refresh(); |
yfkwok | 4:5bc9c4363d31 | 391 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 392 | wait(0.25); |
yfkwok | 12:71683453f66a | 393 | draw(lcd, cha, year, x, y);; |
yfkwok | 5:bc0691d02fd5 | 394 | wait(0.25); |
yfkwok | 4:5bc9c4363d31 | 395 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 396 | wait(0.25); |
yfkwok | 5:bc0691d02fd5 | 397 | lcd.clear(); |
yfkwok | 5:bc0691d02fd5 | 398 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 399 | wait(0.25); |
yfkwok | 4:5bc9c4363d31 | 400 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 401 | wait(0.5); |
yfkwok | 12:71683453f66a | 402 | draw(lcd, cha, year, x, y); |
yfkwok | 4:5bc9c4363d31 | 403 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 404 | wait(0.25); |
yfkwok | 5:bc0691d02fd5 | 405 | lcd.clear(); |
yfkwok | 5:bc0691d02fd5 | 406 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 407 | wait(0.25); |
yfkwok | 4:5bc9c4363d31 | 408 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 409 | wait(0.25); |
yfkwok | 12:71683453f66a | 410 | draw(lcd, cha, year, x, y); |
yfkwok | 5:bc0691d02fd5 | 411 | wait(0.25); |
yfkwok | 4:5bc9c4363d31 | 412 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 413 | wait(0.5); |
yfkwok | 4:5bc9c4363d31 | 414 | lcd.clear(); |
yfkwok | 4:5bc9c4363d31 | 415 | lcd.refresh(); |
yfkwok | 4:5bc9c4363d31 | 416 | pad.tone(NOTE_A4,0.5); |
yfkwok | 4:5bc9c4363d31 | 417 | wait(0.5); |
yfkwok | 4:5bc9c4363d31 | 418 | // bar 4 |
yfkwok | 12:71683453f66a | 419 | draw(lcd, cha, year, x, y); |
yfkwok | 4:5bc9c4363d31 | 420 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 421 | wait(0.5); |
yfkwok | 4:5bc9c4363d31 | 422 | lcd.clear(); |
yfkwok | 4:5bc9c4363d31 | 423 | lcd.refresh(); |
yfkwok | 4:5bc9c4363d31 | 424 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 425 | wait(0.5); |
yfkwok | 12:71683453f66a | 426 | draw(lcd, cha, year, x, y); |
yfkwok | 4:5bc9c4363d31 | 427 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 428 | wait(0.5); |
yfkwok | 4:5bc9c4363d31 | 429 | lcd.clear(); |
yfkwok | 4:5bc9c4363d31 | 430 | lcd.refresh(); |
yfkwok | 4:5bc9c4363d31 | 431 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 4:5bc9c4363d31 | 432 | wait(0.5); |
yfkwok | 12:71683453f66a | 433 | draw(lcd, cha, year, x, y); |
yfkwok | 4:5bc9c4363d31 | 434 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 435 | wait(0.25); |
yfkwok | 5:bc0691d02fd5 | 436 | lcd.clear(); |
yfkwok | 5:bc0691d02fd5 | 437 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 438 | wait(0.25); |
yfkwok | 12:71683453f66a | 439 | draw(lcd, cha, year, x, y); |
yfkwok | 5:bc0691d02fd5 | 440 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 441 | wait(0.25); |
yfkwok | 4:5bc9c4363d31 | 442 | lcd.clear(); |
yfkwok | 4:5bc9c4363d31 | 443 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 444 | wait(0.25); |
yfkwok | 12:71683453f66a | 445 | draw(lcd, cha, year, x, y); |
yfkwok | 5:bc0691d02fd5 | 446 | pad.tone(NOTE_G4,0.5/2); |
yfkwok | 5:bc0691d02fd5 | 447 | wait(0.25); |
yfkwok | 5:bc0691d02fd5 | 448 | lcd.clear(); |
yfkwok | 5:bc0691d02fd5 | 449 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 450 | wait(0.25); |
yfkwok | 12:71683453f66a | 451 | draw(lcd, cha, year, x, y); |
yfkwok | 4:5bc9c4363d31 | 452 | pad.tone(NOTE_B4,0.5); |
yfkwok | 5:bc0691d02fd5 | 453 | wait(0.25); |
yfkwok | 5:bc0691d02fd5 | 454 | lcd.clear(); |
yfkwok | 5:bc0691d02fd5 | 455 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 456 | wait(0.25); |
yfkwok | 17:5d8ff39a0e49 | 457 | // Define motion of name title for final evolution, activate when year = year + 1 = 3. Update lcd screen at 10 frames per sec. |
yfkwok | 12:71683453f66a | 458 | year = year + 1; |
yfkwok | 12:71683453f66a | 459 | if(year == 3){ |
yfkwok | 12:71683453f66a | 460 | while(x > -170){ |
yfkwok | 12:71683453f66a | 461 | draw(lcd, cha, year, x, y);; |
yfkwok | 12:71683453f66a | 462 | x = x - 10; |
yfkwok | 12:71683453f66a | 463 | wait(0.10); |
yfkwok | 12:71683453f66a | 464 | } |
yfkwok | 12:71683453f66a | 465 | } |
yfkwok | 17:5d8ff39a0e49 | 466 | // Decrease parameter (year) to draw the corresponding evolution sprite |
yfkwok | 12:71683453f66a | 467 | year = year - 1; |
yfkwok | 4:5bc9c4363d31 | 468 | congrats(pad, lcd, cha, year); |
yfkwok | 4:5bc9c4363d31 | 469 | } |
yfkwok | 4:5bc9c4363d31 | 470 | |
yfkwok | 32:58def659f463 | 471 | // Music to congratulate player the pokemon has succesfully evolved. Draw the pokemon sprite according to the selection made. |
yfkwok | 4:5bc9c4363d31 | 472 | void Score::congrats(Gamepad &pad, N5110 &lcd, int cha, int year) |
yfkwok | 4:5bc9c4363d31 | 473 | { |
yfkwok | 17:5d8ff39a0e49 | 474 | // Draw the corresponding evolution depending on the year (year) and character selected (cha) |
yfkwok | 4:5bc9c4363d31 | 475 | draw_cong(lcd, cha, year); |
yfkwok | 4:5bc9c4363d31 | 476 | // bar 1 |
yfkwok | 4:5bc9c4363d31 | 477 | pad.tone(NOTE_A5,0.4); |
yfkwok | 4:5bc9c4363d31 | 478 | wait(0.4); |
yfkwok | 4:5bc9c4363d31 | 479 | pad.tone(NOTE_F5,0.4); |
yfkwok | 4:5bc9c4363d31 | 480 | wait(0.4); |
yfkwok | 4:5bc9c4363d31 | 481 | pad.tone(NOTE_C5,0.8); |
yfkwok | 4:5bc9c4363d31 | 482 | wait(0.8); |
yfkwok | 4:5bc9c4363d31 | 483 | // bar 2 |
yfkwok | 4:5bc9c4363d31 | 484 | pad.tone(NOTE_AS5,0.4/3); |
yfkwok | 4:5bc9c4363d31 | 485 | wait(0.4/3); |
yfkwok | 4:5bc9c4363d31 | 486 | pad.tone(NOTE_AS5,0.4/3); |
yfkwok | 4:5bc9c4363d31 | 487 | wait(0.4/3); |
yfkwok | 4:5bc9c4363d31 | 488 | pad.tone(NOTE_AS5,0.4/3); |
yfkwok | 4:5bc9c4363d31 | 489 | wait(0.4/3); |
yfkwok | 4:5bc9c4363d31 | 490 | pad.tone(NOTE_G5,0.4/3); |
yfkwok | 4:5bc9c4363d31 | 491 | wait(0.4/3); |
yfkwok | 4:5bc9c4363d31 | 492 | pad.tone(NOTE_G5,0.4/3); |
yfkwok | 4:5bc9c4363d31 | 493 | wait(0.4/3); |
yfkwok | 4:5bc9c4363d31 | 494 | pad.tone(NOTE_AS5,0.4/3); |
yfkwok | 4:5bc9c4363d31 | 495 | wait(0.4/3); |
yfkwok | 4:5bc9c4363d31 | 496 | pad.tone(NOTE_A5,0.8); |
yfkwok | 4:5bc9c4363d31 | 497 | wait(0.8); |
yfkwok | 4:5bc9c4363d31 | 498 | } |
yfkwok | 4:5bc9c4363d31 | 499 | |
yfkwok | 32:58def659f463 | 500 | // Draw function used to create the animation for the evolution while the music is being played |
yfkwok | 12:71683453f66a | 501 | void Score::draw(N5110 &lcd, int cha, int year, int x, int y) |
yfkwok | 4:5bc9c4363d31 | 502 | { |
yfkwok | 32:58def659f463 | 503 | // Draw sprite of selected character, call functions from Characters folder, then draw the corresponding sprite depending on which year the game is in. |
yfkwok | 4:5bc9c4363d31 | 504 | lcd.clear(); |
yfkwok | 31:0d2c19a285f6 | 505 | if(year == 1 && cha == 1) {_s1.evo_1_sprite(lcd, 23, 9);} |
yfkwok | 31:0d2c19a285f6 | 506 | else if(year == 1 && cha == 2) {_c1.evo_1_sprite(lcd, 23, 7);} |
yfkwok | 31:0d2c19a285f6 | 507 | else if(year == 1 && cha == 0) {_b1.evo_1_sprite(lcd, 27, 14);} |
yfkwok | 31:0d2c19a285f6 | 508 | else if(year == 2 && cha == 1) {_s1.evo_2_sprite(lcd, 20, 2);} |
yfkwok | 31:0d2c19a285f6 | 509 | else if(year == 2 && cha == 2) {_c1.evo_2_sprite(lcd, 17, 2);} |
yfkwok | 31:0d2c19a285f6 | 510 | else if(year == 2 && cha == 0) {_b1.evo_2_sprite(lcd, 14, 1);} |
yfkwok | 12:71683453f66a | 511 | else if(year == 3 && cha == 1) {_s1.evo_3_sprite(lcd, x, y);} |
yfkwok | 12:71683453f66a | 512 | else if(year == 3 && cha == 2) {_c1.evo_3_sprite(lcd, x, y);} |
yfkwok | 12:71683453f66a | 513 | else if(year == 3 && cha == 0) {_b1.evo_3_sprite(lcd, x, y);} |
yfkwok | 4:5bc9c4363d31 | 514 | lcd.refresh(); |
yfkwok | 4:5bc9c4363d31 | 515 | } |
yfkwok | 4:5bc9c4363d31 | 516 | |
yfkwok | 4:5bc9c4363d31 | 517 | void Score::draw_cong(N5110 &lcd, int cha, int year) |
yfkwok | 4:5bc9c4363d31 | 518 | { |
yfkwok | 32:58def659f463 | 519 | // Draw sprite of selected character after evolution, call functions from Characters folder, then draw the corresponding sprite depending on which year the game is in. |
yfkwok | 4:5bc9c4363d31 | 520 | lcd.clear(); |
yfkwok | 4:5bc9c4363d31 | 521 | if(year == 0 && cha == 1) {_s1.evo_1_cong(lcd);} |
yfkwok | 10:adff3c804985 | 522 | else if(year == 0 && cha == 2) {_c1.evo_1_cong(lcd);} |
yfkwok | 12:71683453f66a | 523 | else if(year == 0 && cha == 0) {_b1.evo_1_cong(lcd);} |
yfkwok | 4:5bc9c4363d31 | 524 | else if(year == 1 && cha == 1) {_s1.evo_2_cong(lcd);} |
yfkwok | 10:adff3c804985 | 525 | else if(year == 1 && cha == 2) {_c1.evo_2_cong(lcd);} |
yfkwok | 12:71683453f66a | 526 | else if(year == 1 && cha == 0) {_b1.evo_2_cong(lcd);} |
yfkwok | 12:71683453f66a | 527 | else if(year == 2 && cha == 1) {_s1.evo_3_cong(lcd);} |
yfkwok | 12:71683453f66a | 528 | else if(year == 2 && cha == 2) {_c1.evo_3_cong(lcd);} |
yfkwok | 12:71683453f66a | 529 | else if(year == 2 && cha == 0) {_b1.evo_3_cong(lcd);} |
yfkwok | 4:5bc9c4363d31 | 530 | lcd.refresh(); |
yfkwok | 5:bc0691d02fd5 | 531 | } |
yfkwok | 5:bc0691d02fd5 | 532 | |
yfkwok | 32:58def659f463 | 533 | // Music that plays when the player wins the mini game or passes the exam, music originally from Pokemon (R/B/Y) when player wins trainer battle |
yfkwok | 5:bc0691d02fd5 | 534 | void Score::win(Gamepad &pad) |
yfkwok | 5:bc0691d02fd5 | 535 | { |
yfkwok | 5:bc0691d02fd5 | 536 | // bar 1 |
yfkwok | 5:bc0691d02fd5 | 537 | pad.tone(NOTE_E5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 538 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 539 | pad.tone(NOTE_FS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 540 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 541 | pad.tone(NOTE_GS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 542 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 543 | pad.tone(NOTE_A5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 544 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 545 | pad.tone(NOTE_B5,0.33*3); |
yfkwok | 5:bc0691d02fd5 | 546 | wait(0.33*3); |
yfkwok | 5:bc0691d02fd5 | 547 | // bar 2 |
yfkwok | 5:bc0691d02fd5 | 548 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 549 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 550 | pad.tone(NOTE_A4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 551 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 552 | pad.tone(NOTE_GS4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 553 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 554 | pad.tone(NOTE_A4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 555 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 556 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 557 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 558 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 559 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 560 | pad.tone(NOTE_B4,0.25); |
yfkwok | 5:bc0691d02fd5 | 561 | wait(0.33); |
yfkwok | 5:bc0691d02fd5 | 562 | // bar 3 |
yfkwok | 5:bc0691d02fd5 | 563 | pad.tone(NOTE_CS5,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 564 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 565 | pad.tone(NOTE_CS5,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 566 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 567 | pad.tone(NOTE_CS5,0.25); |
yfkwok | 5:bc0691d02fd5 | 568 | wait(0.33); |
yfkwok | 5:bc0691d02fd5 | 569 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 570 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 571 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 572 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 573 | pad.tone(NOTE_B4,0.25); |
yfkwok | 5:bc0691d02fd5 | 574 | wait(0.33); |
yfkwok | 5:bc0691d02fd5 | 575 | // bar 4 |
yfkwok | 5:bc0691d02fd5 | 576 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 577 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 578 | pad.tone(NOTE_A4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 579 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 580 | pad.tone(NOTE_GS4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 581 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 582 | pad.tone(NOTE_A4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 583 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 584 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 585 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 586 | pad.tone(NOTE_B4,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 587 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 588 | pad.tone(NOTE_B4,0.25); |
yfkwok | 5:bc0691d02fd5 | 589 | wait(0.33); |
yfkwok | 5:bc0691d02fd5 | 590 | // bar 5 |
yfkwok | 5:bc0691d02fd5 | 591 | pad.tone(NOTE_CS5,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 592 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 593 | pad.tone(NOTE_CS5,0.25/2); |
yfkwok | 5:bc0691d02fd5 | 594 | wait(0.33/2); |
yfkwok | 5:bc0691d02fd5 | 595 | pad.tone(NOTE_CS5,0.25); |
yfkwok | 5:bc0691d02fd5 | 596 | wait(0.33); |
yfkwok | 5:bc0691d02fd5 | 597 | pad.tone(NOTE_B4,0.25); |
yfkwok | 5:bc0691d02fd5 | 598 | wait(0.6); |
yfkwok | 5:bc0691d02fd5 | 599 | } |
yfkwok | 5:bc0691d02fd5 | 600 | |
yfkwok | 32:58def659f463 | 601 | // Introduction music to the EXAM page, music originally from Pokemon (R/B/Y) when player starts the battle with GYM leader. |
yfkwok | 5:bc0691d02fd5 | 602 | void Score::exam_intro(Gamepad &pad) |
yfkwok | 5:bc0691d02fd5 | 603 | { |
yfkwok | 5:bc0691d02fd5 | 604 | // bar 1 |
yfkwok | 5:bc0691d02fd5 | 605 | pad.tone(NOTE_F5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 606 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 607 | pad.tone(NOTE_E5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 608 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 609 | pad.tone(NOTE_DS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 610 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 611 | pad.tone(NOTE_E5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 612 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 613 | pad.tone(NOTE_DS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 614 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 615 | pad.tone(NOTE_D5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 616 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 617 | pad.tone(NOTE_DS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 618 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 619 | pad.tone(NOTE_D5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 620 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 621 | pad.tone(NOTE_CS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 622 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 623 | pad.tone(NOTE_D5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 624 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 625 | pad.tone(NOTE_CS5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 626 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 627 | pad.tone(NOTE_C5,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 628 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 629 | pad.tone(NOTE_E4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 630 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 631 | pad.tone(NOTE_DS4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 632 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 633 | pad.tone(NOTE_D4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 634 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 635 | pad.tone(NOTE_DS4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 636 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 637 | // bar 2 |
yfkwok | 5:bc0691d02fd5 | 638 | pad.tone(NOTE_D4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 639 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 640 | pad.tone(NOTE_C4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 641 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 642 | pad.tone(NOTE_FS4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 643 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 644 | pad.tone(NOTE_F4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 645 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 646 | pad.tone(NOTE_E4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 647 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 648 | pad.tone(NOTE_F4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 649 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 650 | pad.tone(NOTE_E4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 651 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 652 | pad.tone(NOTE_DS4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 653 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 654 | pad.tone(NOTE_E4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 655 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 656 | pad.tone(NOTE_DS4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 657 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 658 | pad.tone(NOTE_D4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 659 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 660 | pad.tone(NOTE_DS4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 661 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 662 | pad.tone(NOTE_D4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 663 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 664 | pad.tone(NOTE_C4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 665 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 666 | pad.tone(NOTE_D4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 667 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 668 | pad.tone(NOTE_C4,0.33/4); |
yfkwok | 5:bc0691d02fd5 | 669 | wait(0.33/4); |
yfkwok | 5:bc0691d02fd5 | 670 | } |
yfkwok | 5:bc0691d02fd5 | 671 | |
yfkwok | 32:58def659f463 | 672 | // Draw function to create the animation in Graduation, takes in the variable x to move the sprite across the screen |
yfkwok | 31:0d2c19a285f6 | 673 | void Score::draw_grad(N5110 &lcd, int cha, int year, int x) |
yfkwok | 31:0d2c19a285f6 | 674 | { |
yfkwok | 31:0d2c19a285f6 | 675 | // Draw sprite of selected character in graduation, call functions from Characters folder |
yfkwok | 31:0d2c19a285f6 | 676 | lcd.clear(); |
yfkwok | 31:0d2c19a285f6 | 677 | if(year == 1 && cha == 1) {_s1.evo_1_sprite(lcd, x, 9);} |
yfkwok | 31:0d2c19a285f6 | 678 | else if(year == 1 && cha == 2) {_c1.evo_1_sprite(lcd, x, 7);} |
yfkwok | 31:0d2c19a285f6 | 679 | else if(year == 1 && cha == 0) {_b1.evo_1_sprite(lcd, x, 14);} |
yfkwok | 31:0d2c19a285f6 | 680 | else if(year == 2 && cha == 1) {_s1.evo_2_sprite(lcd, x, 2);} |
yfkwok | 31:0d2c19a285f6 | 681 | else if(year == 2 && cha == 2) {_c1.evo_2_sprite(lcd, x, 2);} |
yfkwok | 31:0d2c19a285f6 | 682 | else if(year == 2 && cha == 0) {_b1.evo_2_sprite(lcd, x, 1);} |
yfkwok | 31:0d2c19a285f6 | 683 | else if(year == 3 && cha == 1) {_s1.evo_3_cong(lcd);} |
yfkwok | 31:0d2c19a285f6 | 684 | else if(year == 3 && cha == 2) {_c1.evo_3_cong(lcd);} |
yfkwok | 31:0d2c19a285f6 | 685 | else if(year == 3 && cha == 0) {_b1.evo_3_cong(lcd);} |
yfkwok | 31:0d2c19a285f6 | 686 | lcd.refresh(); |
yfkwok | 31:0d2c19a285f6 | 687 | } |
yfkwok | 31:0d2c19a285f6 | 688 | |
yfkwok | 32:58def659f463 | 689 | // Function for graduation background music and animation, music originally from Pokemon (R/B/Y) background music of route 3 with a bit of edit to create an ending to the piece |
yfkwok | 31:0d2c19a285f6 | 690 | void Score::graduation(Gamepad &pad, N5110 &lcd, int cha) |
yfkwok | 31:0d2c19a285f6 | 691 | { |
yfkwok | 31:0d2c19a285f6 | 692 | // bar 1 |
yfkwok | 32:58def659f463 | 693 | lcd.clear(); |
yfkwok | 32:58def659f463 | 694 | lcd.printString("At Last...", 0, 2); |
yfkwok | 32:58def659f463 | 695 | lcd.printString("The Time Comes", 0, 3); |
yfkwok | 32:58def659f463 | 696 | lcd.refresh(); |
yfkwok | 31:0d2c19a285f6 | 697 | pad.tone(NOTE_G4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 698 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 699 | pad.tone(NOTE_A4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 700 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 701 | pad.tone(NOTE_B4,0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 702 | wait(0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 703 | pad.tone(NOTE_A4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 704 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 705 | pad.tone(NOTE_B4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 706 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 707 | // bar 2 |
yfkwok | 31:0d2c19a285f6 | 708 | draw_grad(lcd, cha, 1, 84); |
yfkwok | 31:0d2c19a285f6 | 709 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 710 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 711 | pad.tone(NOTE_G3,0.46); |
yfkwok | 31:0d2c19a285f6 | 712 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 713 | draw_grad(lcd, cha, 1, 74); |
yfkwok | 31:0d2c19a285f6 | 714 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 715 | draw_grad(lcd, cha, 1, 64); |
yfkwok | 31:0d2c19a285f6 | 716 | pad.tone(NOTE_G3,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 717 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 718 | pad.tone(NOTE_G3,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 719 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 720 | draw_grad(lcd, cha, 1, 54); |
yfkwok | 31:0d2c19a285f6 | 721 | pad.tone(NOTE_G3,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 722 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 723 | draw_grad(lcd, cha, 1, 44); |
yfkwok | 31:0d2c19a285f6 | 724 | pad.tone(NOTE_G3,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 725 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 726 | draw_grad(lcd, cha, 1, 34); |
yfkwok | 31:0d2c19a285f6 | 727 | pad.tone(NOTE_G3,0.46); |
yfkwok | 31:0d2c19a285f6 | 728 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 729 | draw_grad(lcd, cha, 1, 24); |
yfkwok | 31:0d2c19a285f6 | 730 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 731 | // bar 3 |
yfkwok | 31:0d2c19a285f6 | 732 | pad.tone(NOTE_G3,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 733 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 734 | pad.tone(NOTE_G3,0.46); |
yfkwok | 31:0d2c19a285f6 | 735 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 736 | pad.tone(NOTE_G3,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 737 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 738 | pad.tone(NOTE_G3,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 739 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 740 | pad.tone(NOTE_G3,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 741 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 742 | pad.tone(NOTE_G3,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 743 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 744 | pad.tone(NOTE_G3,0.46); |
yfkwok | 31:0d2c19a285f6 | 745 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 746 | // bar 4 |
yfkwok | 31:0d2c19a285f6 | 747 | pad.tone(NOTE_C5,0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 748 | wait(0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 749 | pad.tone(NOTE_G4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 750 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 751 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 752 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 753 | pad.tone(NOTE_E5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 754 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 755 | // bar 5 |
yfkwok | 31:0d2c19a285f6 | 756 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 757 | pad.tone(NOTE_G4,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 758 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 759 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 760 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 761 | pad.tone(NOTE_G5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 762 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 763 | pad.tone(NOTE_F5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 764 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 765 | pad.tone(NOTE_E5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 766 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 767 | pad.tone(NOTE_D5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 768 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 769 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 770 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 771 | // bar 6 |
yfkwok | 31:0d2c19a285f6 | 772 | draw_grad(lcd, cha, 1, 14); |
yfkwok | 31:0d2c19a285f6 | 773 | pad.tone(NOTE_D5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 774 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 775 | draw_grad(lcd, cha, 1, 4); |
yfkwok | 31:0d2c19a285f6 | 776 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 777 | draw_grad(lcd, cha, 1, -6); |
yfkwok | 31:0d2c19a285f6 | 778 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 779 | draw_grad(lcd, cha, 1, -16); |
yfkwok | 31:0d2c19a285f6 | 780 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 781 | draw_grad(lcd, cha, 1, -26); |
yfkwok | 31:0d2c19a285f6 | 782 | pad.tone(NOTE_F5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 783 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 784 | draw_grad(lcd, cha, 1, -36); |
yfkwok | 31:0d2c19a285f6 | 785 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 786 | draw_grad(lcd, cha, 1, -46); |
yfkwok | 31:0d2c19a285f6 | 787 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 788 | draw_grad(lcd, cha, 1, -56); |
yfkwok | 31:0d2c19a285f6 | 789 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 790 | // bar 7 |
yfkwok | 31:0d2c19a285f6 | 791 | draw_grad(lcd, cha, 2, 84); |
yfkwok | 31:0d2c19a285f6 | 792 | pad.tone(NOTE_A4,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 793 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 794 | draw_grad(lcd, cha, 2, 74); |
yfkwok | 31:0d2c19a285f6 | 795 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 796 | draw_grad(lcd, cha, 2, 64); |
yfkwok | 31:0d2c19a285f6 | 797 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 798 | draw_grad(lcd, cha, 2, 54); |
yfkwok | 31:0d2c19a285f6 | 799 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 800 | draw_grad(lcd, cha, 2, 44); |
yfkwok | 31:0d2c19a285f6 | 801 | pad.tone(NOTE_B4,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 802 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 803 | draw_grad(lcd, cha, 2, 34); |
yfkwok | 31:0d2c19a285f6 | 804 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 805 | draw_grad(lcd, cha, 2, 24); |
yfkwok | 31:0d2c19a285f6 | 806 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 807 | draw_grad(lcd, cha, 2, 17); |
yfkwok | 31:0d2c19a285f6 | 808 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 809 | // bar 8 |
yfkwok | 31:0d2c19a285f6 | 810 | pad.tone(NOTE_C5,0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 811 | wait(0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 812 | pad.tone(NOTE_G4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 813 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 814 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 815 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 816 | pad.tone(NOTE_E5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 817 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 818 | // bar 9 |
yfkwok | 31:0d2c19a285f6 | 819 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 820 | pad.tone(NOTE_G4,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 821 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 822 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 823 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 824 | pad.tone(NOTE_G5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 825 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 826 | pad.tone(NOTE_F5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 827 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 828 | pad.tone(NOTE_E5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 829 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 830 | pad.tone(NOTE_D5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 831 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 832 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 833 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 834 | // bar 10 |
yfkwok | 31:0d2c19a285f6 | 835 | pad.tone(NOTE_D5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 836 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 837 | pad.tone(NOTE_F5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 838 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 839 | // bar 11 |
yfkwok | 31:0d2c19a285f6 | 840 | pad.tone(NOTE_B4,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 841 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 842 | pad.tone(NOTE_D5,0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 843 | wait(0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 844 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 845 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 846 | pad.tone(NOTE_D5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 847 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 848 | // bar 12 |
yfkwok | 31:0d2c19a285f6 | 849 | pad.tone(NOTE_E5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 850 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 851 | draw_grad(lcd, cha, 2, 7); |
yfkwok | 31:0d2c19a285f6 | 852 | pad.tone(NOTE_D5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 853 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 854 | draw_grad(lcd, cha, 2, -3); |
yfkwok | 31:0d2c19a285f6 | 855 | pad.tone(NOTE_E5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 856 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 857 | draw_grad(lcd, cha, 2, -13); |
yfkwok | 31:0d2c19a285f6 | 858 | pad.tone(NOTE_C5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 859 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 860 | draw_grad(lcd, cha, 2, -23); |
yfkwok | 31:0d2c19a285f6 | 861 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 862 | draw_grad(lcd, cha, 2, -33); |
yfkwok | 31:0d2c19a285f6 | 863 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 864 | draw_grad(lcd, cha, 2, -43); |
yfkwok | 31:0d2c19a285f6 | 865 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 866 | draw_grad(lcd, cha, 2, -53); |
yfkwok | 31:0d2c19a285f6 | 867 | pad.tone(NOTE_B4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 868 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 869 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 870 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 871 | draw_grad(lcd, cha, 2, -63); |
yfkwok | 31:0d2c19a285f6 | 872 | // bar 13 |
yfkwok | 31:0d2c19a285f6 | 873 | pad.tone(NOTE_D5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 874 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 875 | pad.tone(NOTE_G4,0.46); |
yfkwok | 31:0d2c19a285f6 | 876 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 877 | pad.tone(NOTE_G5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 878 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 879 | pad.tone(NOTE_F5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 880 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 881 | pad.tone(NOTE_E5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 882 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 883 | // bar 14 |
yfkwok | 32:58def659f463 | 884 | lcd.clear(); |
yfkwok | 32:58def659f463 | 885 | lcd.printString("After All The", 0, 2); |
yfkwok | 32:58def659f463 | 886 | lcd.printString("Challenges", 0, 3); |
yfkwok | 32:58def659f463 | 887 | lcd.refresh(); |
yfkwok | 31:0d2c19a285f6 | 888 | pad.tone(NOTE_F5,0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 889 | wait(0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 890 | pad.tone(NOTE_E5,0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 891 | wait(0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 892 | pad.tone(NOTE_C5,0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 893 | wait(0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 894 | pad.tone(NOTE_C5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 895 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 896 | // bar 15 |
yfkwok | 32:58def659f463 | 897 | lcd.clear(); |
yfkwok | 32:58def659f463 | 898 | lcd.printString("The Journey", 0, 2); |
yfkwok | 32:58def659f463 | 899 | lcd.printString("Ends!", 0, 3); |
yfkwok | 32:58def659f463 | 900 | lcd.refresh(); |
yfkwok | 31:0d2c19a285f6 | 901 | pad.tone(NOTE_A4,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 902 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 903 | pad.tone(NOTE_B4,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 904 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 905 | // bar 16 |
yfkwok | 31:0d2c19a285f6 | 906 | draw_grad(lcd, cha, 3, 0); |
yfkwok | 31:0d2c19a285f6 | 907 | pad.tone(NOTE_E5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 908 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 909 | pad.tone(NOTE_D5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 910 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 911 | pad.tone(NOTE_E5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 912 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 913 | pad.tone(NOTE_C5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 914 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 915 | pad.tone(NOTE_B4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 916 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 917 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 918 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 919 | // bar 17 |
yfkwok | 31:0d2c19a285f6 | 920 | pad.tone(NOTE_D5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 921 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 922 | pad.tone(NOTE_G4,0.46); |
yfkwok | 31:0d2c19a285f6 | 923 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 924 | pad.tone(NOTE_G5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 925 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 926 | pad.tone(NOTE_F5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 927 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 928 | pad.tone(NOTE_E5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 929 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 930 | // bar 18 |
yfkwok | 31:0d2c19a285f6 | 931 | pad.tone(NOTE_F5,0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 932 | wait(0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 933 | pad.tone(NOTE_E5,0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 934 | wait(0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 935 | pad.tone(NOTE_C5,0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 936 | wait(0.46*2/3); |
yfkwok | 31:0d2c19a285f6 | 937 | pad.tone(NOTE_C5,0.46*2); |
yfkwok | 31:0d2c19a285f6 | 938 | wait(0.46*2); |
yfkwok | 31:0d2c19a285f6 | 939 | // bar 19 |
yfkwok | 32:58def659f463 | 940 | lcd.clear(); |
yfkwok | 32:58def659f463 | 941 | lcd.printString("You Made It!", 0, 2); |
yfkwok | 32:58def659f463 | 942 | lcd.refresh(); |
yfkwok | 31:0d2c19a285f6 | 943 | pad.tone(NOTE_A4,0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 944 | wait(0.46*1.5); |
yfkwok | 31:0d2c19a285f6 | 945 | pad.tone(NOTE_G4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 946 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 947 | pad.tone(NOTE_A4,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 948 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 949 | pad.tone(NOTE_B4,0.46); |
yfkwok | 31:0d2c19a285f6 | 950 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 951 | pad.tone(NOTE_D5,0.46); |
yfkwok | 31:0d2c19a285f6 | 952 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 953 | // bar 20 |
yfkwok | 31:0d2c19a285f6 | 954 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 955 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 956 | pad.tone(NOTE_C5,0.46); |
yfkwok | 31:0d2c19a285f6 | 957 | wait(0.46); |
yfkwok | 31:0d2c19a285f6 | 958 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 959 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 960 | pad.tone(NOTE_C5,0.46/4); |
yfkwok | 31:0d2c19a285f6 | 961 | wait(0.46/4); |
yfkwok | 31:0d2c19a285f6 | 962 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 963 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 964 | pad.tone(NOTE_C5,0.46/2); |
yfkwok | 31:0d2c19a285f6 | 965 | wait(0.46/2); |
yfkwok | 31:0d2c19a285f6 | 966 | pad.tone(NOTE_C5,0.46); |
yfkwok | 31:0d2c19a285f6 | 967 | wait(0.46); |
yfkwok | 2:464c7e62d97d | 968 | } |