Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed FXOS8700CQ mbed-rtos
Score/Score.cpp
- Committer:
- yfkwok
- Date:
- 2019-04-03
- Revision:
- 4:5bc9c4363d31
- Parent:
- 2:464c7e62d97d
- Child:
- 5:bc0691d02fd5
File content as of revision 4:5bc9c4363d31:
#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);
}
void Score::evolution_music(Gamepad &pad, N5110 &lcd, int cha, int year)
{
// bar 1
draw(lcd, cha, year);
pad.tone(NOTE_G5,0.5/4);
wait(0.5/4);
pad.tone(NOTE_D5,0.5/4);
wait(0.5/4);
pad.tone(NOTE_G5,0.5/4);
wait(0.5/4);
pad.tone(NOTE_D5,0.5/4);
wait(0.5/4);
wait(1.5);
// bar 2
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
lcd.clear();
lcd.refresh();
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
draw(lcd, cha, year);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
lcd.clear();
lcd.refresh();
pad.tone(NOTE_A4,0.5);
wait(0.5);
// bar 4
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
draw(lcd, cha, year);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
lcd.clear();
lcd.refresh();
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
draw(lcd, cha, year);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
lcd.clear();
lcd.refresh();
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
draw(lcd, cha, year);
pad.tone(NOTE_G4,0.5/2);
wait(0.5);
lcd.clear();
lcd.refresh();
pad.tone(NOTE_B4,0.5);
wait(0.5);
congrats(pad, lcd, cha, year);
}
void Score::congrats(Gamepad &pad, N5110 &lcd, int cha, int year)
{
draw_cong(lcd, cha, year);
// bar 1
pad.tone(NOTE_A5,0.4);
wait(0.4);
pad.tone(NOTE_F5,0.4);
wait(0.4);
pad.tone(NOTE_C5,0.8);
wait(0.8);
// bar 2
pad.tone(NOTE_AS5,0.4/3);
wait(0.4/3);
pad.tone(NOTE_AS5,0.4/3);
wait(0.4/3);
pad.tone(NOTE_AS5,0.4/3);
wait(0.4/3);
pad.tone(NOTE_G5,0.4/3);
wait(0.4/3);
pad.tone(NOTE_G5,0.4/3);
wait(0.4/3);
pad.tone(NOTE_AS5,0.4/3);
wait(0.4/3);
pad.tone(NOTE_A5,0.8);
wait(0.8);
}
void Score::draw(N5110 &lcd, int cha, int year)
{
lcd.clear();
if(year == 1 && cha == 1) {_s1.evo_1_sprite(lcd);}
else if (year == 2 && cha == 1) {_s1.evo_2_sprite(lcd);}
lcd.refresh();
}
void Score::draw_cong(N5110 &lcd, int cha, int year)
{
lcd.clear();
if(year == 0 && cha == 1) {_s1.evo_1_cong(lcd);}
else if(year == 1 && cha == 1) {_s1.evo_2_cong(lcd);}
else if (year == 2 && cha == 1) {_s1.evo_3_cong(lcd);}
lcd.refresh();
}