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

Revision:
2:464c7e62d97d
Child:
4:5bc9c4363d31
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Score/Score.cpp	Wed Apr 03 03:06:00 2019 +0000
@@ -0,0 +1,360 @@
+#include "Score.h"
+
+Score::Score()
+{
+
+}
+
+Score::~Score()
+{
+
+}
+
+void Score::title_music(Gamepad &pad)
+{
+    while(1){
+        pad.tone(NOTE_G3,0.1);
+        wait(0.1);
+        pad.tone(NOTE_B3,0.1);
+        wait(0.1);
+        pad.tone(NOTE_D4,0.1);
+        wait(0.1);
+        pad.tone(NOTE_FS4,0.1);
+        wait(0.1);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_G4,0.4);
+        wait(0.4);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_G4,0.4);
+        wait(0.4);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        wait(0.2);
+        pad.tone(NOTE_G4,0.1);
+        wait(0.1);
+        pad.tone(NOTE_G4,0.1);
+        wait(0.1);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_G4,0.4);
+        wait(0.4);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_G4,0.4);
+        wait(0.4);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_G4,0.4);
+        wait(0.4);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_F4,0.4/3);
+        wait(0.4/3);
+        pad.tone(NOTE_F4,0.4/3);
+        wait(0.4/3);
+        pad.tone(NOTE_F4,0.4/3);
+        wait(0.4/3);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        pad.tone(NOTE_F4,0.4/3);
+        wait(0.4/3);
+        pad.tone(NOTE_F4,0.4/3);
+        wait(0.4/3);
+        pad.tone(NOTE_FS4,0.4/3);
+        wait(0.4/3);
+        if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        
+        while(1){
+            //bar 4
+            pad.tone(NOTE_G4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_B4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_F4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F5,0.6);
+            wait(0.6);
+            pad.tone(NOTE_E5,0.1);
+            wait(0.1);
+            pad.tone(NOTE_DS5,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            //bar 6
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_E4,0.1);
+            wait(0.1);
+            pad.tone(NOTE_DS4,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D4,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C4,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_B3,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_C4,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_G4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_B4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C4,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C5,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_B4,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_C5,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F4,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_E4,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_C4,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D4,1.0);
+            wait(1.0);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_B3,0.2);
+            wait(0.2);
+            pad.tone(NOTE_C4,0.2);
+            wait(0.2);
+            pad.tone(NOTE_D4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            //bar 12
+            pad.tone(NOTE_G4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_B4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_F4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F5,0.6);
+            wait(0.6);
+            pad.tone(NOTE_E5,0.1);
+            wait(0.1);
+            pad.tone(NOTE_DS5,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_E4,0.1);
+            wait(0.1);
+            pad.tone(NOTE_DS4,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D4,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C4,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_B3,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_C4,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_G4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_B4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            //bar 17
+            pad.tone(NOTE_C4,0.6);
+            wait(0.6);
+            pad.tone(NOTE_C4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F5,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_E5,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_F5,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_G5,0.6);
+            wait(0.6);
+            pad.tone(NOTE_AS5,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_G5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_G5,0.6);
+            wait(0.6);
+            pad.tone(NOTE_A4,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_A5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_AS5,0.6);
+            wait(0.6);
+            pad.tone(NOTE_F5,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_F5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_AS5,0.4);
+            wait(0.4);
+            pad.tone(NOTE_B5,0.4);
+            wait(0.4);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C6,0.6);
+            wait(0.6);
+            pad.tone(NOTE_G5,0.2);
+            wait(0.2);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_G5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            //bar 23
+            pad.tone(NOTE_G5,0.8);
+            wait(0.8);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C6,0.4);
+            wait(0.4);
+            pad.tone(NOTE_CS6,0.4);
+            wait(0.4);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D6,0.3);
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            pad.tone(NOTE_C6,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_C6,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_CS6,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_D6,0.3);
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            wait(0.3);
+            pad.tone(NOTE_D5,0.1);
+            wait(0.1);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+            pad.tone(NOTE_C6,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_C6,0.8/3);
+            wait(0.8/3);
+            pad.tone(NOTE_B5,0.8/3);
+            wait(0.8/3);
+            if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
+        }
+        
+        break;
+    }
+}
+
+void Score::level_up(Gamepad &pad)
+{
+    pad.tone(NOTE_E5,0.12);
+    wait(0.15);
+    pad.tone(NOTE_E5,0.12);
+    wait(0.15);
+    pad.tone(NOTE_E5,0.12);
+    wait(0.15);
+    pad.tone(NOTE_B5,0.45);
+    wait(0.45);
+}
+
+void Score::congrats(Gamepad &pad)
+{
+    pad.tone(NOTE_A5,0.35);
+    wait(0.35);
+    pad.tone(NOTE_F5,0.35);
+    wait(0.35);
+    pad.tone(NOTE_C5,0.7);
+    wait(0.7);
+    pad.tone(NOTE_AS5,0.35/3);
+    wait(0.35/3);
+    pad.tone(NOTE_AS5,0.35/3);
+    wait(0.35/3);
+    pad.tone(NOTE_AS5,0.35/3);
+    wait(0.35/3);
+    pad.tone(NOTE_G5,0.35/3);
+    wait(0.35/3);
+    pad.tone(NOTE_G5,0.35/3);
+    wait(0.35/3);
+    pad.tone(NOTE_AS5,0.35/3);
+    wait(0.35/3);
+    pad.tone(NOTE_A5,0.7);
+    wait(0.7);
+}
+
+void Score::coin(Gamepad &pad)
+{
+    pad.tone(NOTE_B5,0.1);
+    wait(0.1);
+    pad.tone(NOTE_E6,0.4);
+}
\ No newline at end of file