ELEC2645 (2018/19) / Mbed 2 deprecated el17ajf

Dependencies:   mbed

Fork of el17ajf by Angus Findlay

Committer:
el17ajf
Date:
Sat Apr 13 08:33:49 2019 +0000
Revision:
29:d59fbe128d1f
Parent:
28:e09b7ac11dea
Child:
32:7b5a864b9234
fixed hidden height zone

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17ajf 21:62d2b5b73160 1 #include "ScoresMenu.h"
el17ajf 27:2ed9e3c9f4e9 2 #include "Prefs.h"
el17ajf 27:2ed9e3c9f4e9 3
el17ajf 27:2ed9e3c9f4e9 4 Menus::ScoresMenu::ScoresMenu() {
el17ajf 29:d59fbe128d1f 5 lastPlayerPos = -1;
el17ajf 29:d59fbe128d1f 6 int lastPlayer = Prefs::getInstance()->getKey(Prefs::LAST_PLAYER);
el17ajf 29:d59fbe128d1f 7
el17ajf 27:2ed9e3c9f4e9 8 int highscores[3];
el17ajf 27:2ed9e3c9f4e9 9 int players[3];
el17ajf 27:2ed9e3c9f4e9 10
el17ajf 27:2ed9e3c9f4e9 11 players[0] = Prefs::getInstance()->getKey(Prefs::HIGHSCORE1_PLAYER);
el17ajf 27:2ed9e3c9f4e9 12 players[1] = Prefs::getInstance()->getKey(Prefs::HIGHSCORE2_PLAYER);
el17ajf 27:2ed9e3c9f4e9 13 players[2] = Prefs::getInstance()->getKey(Prefs::HIGHSCORE3_PLAYER);
el17ajf 27:2ed9e3c9f4e9 14
el17ajf 27:2ed9e3c9f4e9 15 highscores[0] = Prefs::getInstance()->getKey(Prefs::HIGHSCORE1);
el17ajf 27:2ed9e3c9f4e9 16 highscores[1] = Prefs::getInstance()->getKey(Prefs::HIGHSCORE2);
el17ajf 27:2ed9e3c9f4e9 17 highscores[2] = Prefs::getInstance()->getKey(Prefs::HIGHSCORE3);
el17ajf 27:2ed9e3c9f4e9 18
el17ajf 27:2ed9e3c9f4e9 19 for (int i = 0; i < 3; i++) {
el17ajf 27:2ed9e3c9f4e9 20 if (players[i] == Prefs::EMPTY) {
el17ajf 27:2ed9e3c9f4e9 21 sprintf(playersLables[i], "%1d. ---", i + 1);
el17ajf 27:2ed9e3c9f4e9 22 sprintf(highscoresLabels[i], " ");
el17ajf 27:2ed9e3c9f4e9 23 } else {
el17ajf 27:2ed9e3c9f4e9 24 sprintf(playersLables[i], "%1d.PLYR %2d", i + 1, players[i]);
el17ajf 27:2ed9e3c9f4e9 25 sprintf(highscoresLabels[i], " %4dPTS", highscores[i]);
el17ajf 27:2ed9e3c9f4e9 26 }
el17ajf 27:2ed9e3c9f4e9 27 }
el17ajf 29:d59fbe128d1f 28
el17ajf 29:d59fbe128d1f 29 for (int i = 0; i < 3; i++) {
el17ajf 29:d59fbe128d1f 30 if (players[i] == lastPlayer) {
el17ajf 29:d59fbe128d1f 31 lastPlayerPos = i;
el17ajf 29:d59fbe128d1f 32 }
el17ajf 29:d59fbe128d1f 33 }
el17ajf 27:2ed9e3c9f4e9 34 }
el17ajf 21:62d2b5b73160 35
el17ajf 21:62d2b5b73160 36 void Menus::ScoresMenu::updateAndDraw(UI * ui) {
el17ajf 21:62d2b5b73160 37 ui->drawTitle("hi scores");
el17ajf 21:62d2b5b73160 38 ui->newLine();
el17ajf 27:2ed9e3c9f4e9 39 for (int i = 0; i < 3; i++) {
el17ajf 29:d59fbe128d1f 40 if (i == lastPlayerPos) {
el17ajf 29:d59fbe128d1f 41 ui->drawFlashingLabel(playersLables[i]);
el17ajf 29:d59fbe128d1f 42 ui->drawFlashingLabel(highscoresLabels[i]);
el17ajf 29:d59fbe128d1f 43 } else {
el17ajf 29:d59fbe128d1f 44 ui->drawLabel(playersLables[i]);
el17ajf 29:d59fbe128d1f 45 ui->drawLabel(highscoresLabels[i]);
el17ajf 29:d59fbe128d1f 46 }
el17ajf 27:2ed9e3c9f4e9 47 }
el17ajf 21:62d2b5b73160 48 if (ui->drawAndCheckButton("back")) {
el17ajf 21:62d2b5b73160 49 close();
el17ajf 21:62d2b5b73160 50 }
el17ajf 21:62d2b5b73160 51 }