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

Committer:
yfkwok
Date:
2019-04-03
Revision:
2:464c7e62d97d
Child:
4:5bc9c4363d31

File content as of revision 2:464c7e62d97d:

#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);
}