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:
32:58def659f463
Parent:
31:0d2c19a285f6
Child:
34:3ddfaa217eca
--- a/Score/Score.cpp	Wed May 08 03:03:46 2019 +0000
+++ b/Score/Score.cpp	Wed May 08 15:14:55 2019 +0000
@@ -10,6 +10,7 @@
 
 }
 
+// Background music played during main title screen, music originally from Pokemon (R/B/Y) title screen.
 void Score::title_music(Gamepad &pad)
 {
     while(1){
@@ -59,8 +60,9 @@
         wait(0.4/3);
         if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
         
+        // Looping the section of the music infinitely until START_button is pressed
         while(1){
-            //bar 4
+            // bar 4
             pad.tone(NOTE_G4,0.6);
             wait(0.6);
             pad.tone(NOTE_B4,0.2);
@@ -81,7 +83,7 @@
             pad.tone(NOTE_DS5,0.1);
             wait(0.1);
             if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
-            //bar 6
+            // bar 6
             pad.tone(NOTE_D5,0.8);
             wait(0.8);
             if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
@@ -189,7 +191,7 @@
             pad.tone(NOTE_D5,0.8);
             wait(0.8);
             if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
-            //bar 17
+            // bar 17
             pad.tone(NOTE_C4,0.6);
             wait(0.6);
             pad.tone(NOTE_C4,0.2);
@@ -242,7 +244,7 @@
             pad.tone(NOTE_G5,0.8);
             wait(0.8);
             if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
-            //bar 23
+            // bar 23
             pad.tone(NOTE_G5,0.8);
             wait(0.8);
             if(pad.check_event(Gamepad::START_PRESSED) == true){break;}
@@ -317,6 +319,7 @@
     }
 }
 
+// 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.
 void Score::level_up(Gamepad &pad)
 {
     pad.tone(NOTE_E5,0.12);
@@ -329,6 +332,7 @@
     wait(0.45);
 }
 
+// Congratulation music for when player select its starter or when the starter evolves, music originally from Pokemon (R/B/Y) when pokemon evovlved.
 void Score::congrats(Gamepad &pad)
 {
     pad.tone(NOTE_A5,0.35);
@@ -353,6 +357,7 @@
     wait(0.7);
 }
 
+// Coin sound effect for different games
 void Score::coin(Gamepad &pad)
 {
     pad.tone(NOTE_B5,0.1);
@@ -360,6 +365,7 @@
     pad.tone(NOTE_E6,0.4);
 }
 
+// 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.
 void Score::evolution_music(Gamepad &pad, N5110 &lcd, int cha, int year)
 {
     //Initiate position for name titles
@@ -462,6 +468,7 @@
     congrats(pad, lcd, cha, year);
 }
 
+// Music to congratulate player the pokemon has succesfully evolved. Draw the pokemon sprite according to the selection made.
 void Score::congrats(Gamepad &pad, N5110 &lcd, int cha, int year)
 {
     // Draw the corresponding evolution depending on the year (year) and character selected (cha)
@@ -490,9 +497,10 @@
     wait(0.8);
 }
 
+// Draw function used to create the animation for the evolution while the music is being played
 void Score::draw(N5110 &lcd, int cha, int year, int x, int y)
 {
-    // Draw sprite of selected character, call functions from Characters folder
+    // Draw sprite of selected character, call functions from Characters folder, then draw the corresponding sprite depending on which year the game is in.
     lcd.clear();
     if(year == 1 && cha == 1) {_s1.evo_1_sprite(lcd, 23, 9);}
     else if(year == 1 && cha == 2) {_c1.evo_1_sprite(lcd, 23, 7);}
@@ -508,7 +516,7 @@
 
 void Score::draw_cong(N5110 &lcd, int cha, int year)
 {
-    // Draw sprite of selected character after evolution, call functions from Characters folder
+    // 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.
     lcd.clear();
     if(year == 0 && cha == 1) {_s1.evo_1_cong(lcd);}
     else if(year == 0 && cha == 2) {_c1.evo_1_cong(lcd);}
@@ -522,6 +530,7 @@
     lcd.refresh();
 }
 
+// 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
 void Score::win(Gamepad &pad)
 {
     // bar 1
@@ -589,6 +598,7 @@
     wait(0.6);
 }
 
+// Introduction music to the EXAM page, music originally from Pokemon (R/B/Y) when player starts the battle with GYM leader.
 void Score::exam_intro(Gamepad &pad)
 {
     // bar 1
@@ -659,524 +669,7 @@
     wait(0.33/4);
 }
 
-void Score::gym(Gamepad &pad, bool state)
-{
-    // bar 1
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_C5,0.33*1.5);
-    wait(0.33*1.5);
-    // bar 3
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_AS4,0.33*1.5);
-    wait(0.33*1.5);
-    // bar 5
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_C5,0.33*1.5);
-    wait(0.33*1.5);
-    // bar 7
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_FS4,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_B3,0.33/2);
-    wait(0.33/2);
-    pad.tone(NOTE_CS5,0.33*1.5);
-    wait(0.33*1.5);
-    
-    // Loop while state is true
-    while(state){
-        // bar 8 
-        pad.tone(NOTE_DS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_DS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_DS5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS5,0.33/2);
-        wait(0.33/2);
-        // bar 10
-        pad.tone(NOTE_A4,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_CS5,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_E5,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_CS5,0.33*2);
-        wait(0.33*2);
-        // bar 8 
-        pad.tone(NOTE_DS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_DS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_DS5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS5,0.33/2);
-        wait(0.33/2);
-        // bar 12
-        pad.tone(NOTE_CS5,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_B4,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_A4,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_E5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E5,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33/2);
-        wait(0.33/2);
-        // bar 14
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        // bar 15
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_FS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.25/2);
-        wait(0.33/2);
-        pad.tone(NOTE_F4,0.25/2);
-        wait(0.33/2);
-        // bar 16
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        // bar 17
-        pad.tone(NOTE_FS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_FS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_D4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_E4,0.33/2);
-        wait(0.33/2);
-        // bar 18
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_C5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_B4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_C5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_G4,0.33);
-        wait(0.33);
-        // bar 19
-        pad.tone(NOTE_FS4,0.33*4);
-        wait(0.33);
-        pad.tone(NOTE_C4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_A3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_C4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_A3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_C4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_A3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        // bar 20
-        pad.tone(NOTE_C4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_DS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_E4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_DS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_D4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_CS4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_C4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_AS3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_A3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_GS3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_G3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_FS3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_G3,0.33/4);
-        wait(0.33/4);
-        // bar 22
-        pad.tone(NOTE_GS3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_A3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_AS3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B3,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_B4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_C5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_B4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_C5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_C5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_B4,0.33*4);
-        wait(0.33*4);
-        pad.tone(NOTE_FS5,0.33*4);
-        wait(0.33*4);
-        // bar 26
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_A4,0.33*3);
-        wait(0.33*3);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33*3);
-        wait(0.33*3);
-        pad.tone(NOTE_DS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_DS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_FS4,0.33/2);
-        wait(0.33/2);
-        // bar 30
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_B3,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS5,0.33*3);
-        wait(0.33*3);
-        pad.tone(NOTE_A5,0.33*2);
-        wait(0.33*2);
-        pad.tone(NOTE_E5,0.33*2);
-        wait(0.33*2);
-        // bar 32
-        pad.tone(NOTE_B5,0.33*4);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS4,0.33*1.5);
-        wait(0.33*1.5);
-        pad.tone(NOTE_FS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33*1.5);
-        wait(0.33*1.5);
-        // bar 34
-        pad.tone(NOTE_DS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS4,0.33*1.5);
-        wait(0.33*1.5);
-        pad.tone(NOTE_FS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_GS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_G4,0.33*1.5);
-        wait(0.33/2);
-        pad.tone(NOTE_B4,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_DS5,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_FS5,0.33/4);
-        wait(0.33/4);
-        pad.tone(NOTE_AS5,0.33/4);
-        wait(0.33/4);
-        // bar 36
-        pad.tone(NOTE_B5,0.33*4);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS4,0.33*1.5);
-        wait(0.33*1.5);
-        pad.tone(NOTE_FS5,0.33);
-        wait(0.33);
-        pad.tone(NOTE_DS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_CS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_C4,0.33*1.5);
-        wait(0.33*1.5);
-        // bar 38
-        pad.tone(NOTE_A5,0.33*4);
-        wait(0.33);
-        pad.tone(NOTE_E4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_CS4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_DS4,0.33*1.5);
-        wait(0.33*1.5);
-        pad.tone(NOTE_CS6,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A4,0.33/2);
-        wait(0.33/2);
-        pad.tone(NOTE_GS4,0.33);
-        wait(0.33);
-        pad.tone(NOTE_A5,0.33*1.5);
-        wait(0.33*1.5);
-    }
-}
-
+// Draw function to create the animation in Graduation, takes in the variable x to move the sprite across the screen
 void Score::draw_grad(N5110 &lcd, int cha, int year, int x)
 {
     // Draw sprite of selected character in graduation, call functions from Characters folder
@@ -1193,10 +686,14 @@
     lcd.refresh();
 }
 
+// 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 
 void Score::graduation(Gamepad &pad, N5110 &lcd, int cha)
 {
     // bar 1
-    draw_grad(lcd, cha, 1, 84);
+    lcd.clear();
+    lcd.printString("At Last...", 0, 2);
+    lcd.printString("The Time Comes", 0, 3);
+    lcd.refresh(); 
     pad.tone(NOTE_G4,0.46/4);
     wait(0.46/4);
     pad.tone(NOTE_A4,0.46/4);
@@ -1384,6 +881,10 @@
     pad.tone(NOTE_E5,0.46/4);
     wait(0.46/4);
     // bar 14
+    lcd.clear();
+    lcd.printString("After All The", 0, 2);
+    lcd.printString("Challenges", 0, 3);
+    lcd.refresh();
     pad.tone(NOTE_F5,0.46*2/3);
     wait(0.46*2/3);
     pad.tone(NOTE_E5,0.46*2/3);
@@ -1393,6 +894,10 @@
     pad.tone(NOTE_C5,0.46*2);
     wait(0.46*2);
     // bar 15
+    lcd.clear();
+    lcd.printString("The Journey", 0, 2);
+    lcd.printString("Ends!", 0, 3);
+    lcd.refresh();
     pad.tone(NOTE_A4,0.46*2);
     wait(0.46*2);
     pad.tone(NOTE_B4,0.46*2);
@@ -1432,6 +937,9 @@
     pad.tone(NOTE_C5,0.46*2);
     wait(0.46*2);
     // bar 19
+    lcd.clear();
+    lcd.printString("You Made It!", 0, 2);
+    lcd.refresh();
     pad.tone(NOTE_A4,0.46*1.5);
     wait(0.46*1.5);
     pad.tone(NOTE_G4,0.46/4);