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 N5110 ShiftReg PinDetect
Diff: MainMenu.cpp
- Revision:
- 13:7ab71c7c311b
- Parent:
- 12:8178fad5e660
- Child:
- 17:d6a3b29cab31
diff -r 8178fad5e660 -r 7ab71c7c311b MainMenu.cpp
--- a/MainMenu.cpp Fri May 08 23:51:26 2015 +0000
+++ b/MainMenu.cpp Sat May 09 13:56:14 2015 +0000
@@ -43,53 +43,68 @@
void MainMenu::update(float dt) {} // Does not do anything as program flow is controlled by interrupts, but needs to be defined as it is a virtual function.
void MainMenu::render()
-{
- drawImage(Border::DotsColumn, 0, 0);
+{
+ for (int i = 0; i < HEIGHT/3; ++i)
+ {
+ drawImage(Image::Cross3, 0, 3*i); // left border
+ drawImage(Image::Cross3, (WIDTH-3), 3*i); // right border
+ }
+ for (int j = 0; j < WIDTH/3; ++j)
+ {
+ drawImage(Image::Cross3, 3 * j, (HEIGHT-3)); // bottom border
+
+ if (currentState != HIGHSCORES && currentState != CONTROLS)
+ drawImage(Image::Cross3, 3 * j, 0); // top border
+ }
+
+ // Check sate
+ int xMargin = 8;
switch (currentState)
{
case SELECT_PLAY:
- lcd->printString(">Play", 10, 1);
- lcd->printString("High Scores", 10, 2);
- lcd->printString("Controls", 10, 3);
+ lcd->printString(">Play", xMargin, 1);
+ lcd->printString("High Scores", xMargin, 2);
+ lcd->printString("Controls", xMargin, 3);
break;
case SELECT_HIGHSCORES:
- lcd->printString("Play", 10, 1);
- lcd->printString(">High Scores", 10, 2);
- lcd->printString("Controls", 10, 3);
+ lcd->printString("Play", xMargin, 1);
+ lcd->printString(">High Scores", xMargin, 2);
+ lcd->printString("Controls", xMargin, 3);
break;
case SELECT_CONTROLS:
- lcd->printString("Play", 10, 1);
- lcd->printString("High Scores", 10, 2);
- lcd->printString(">Controls", 10, 3);
+ lcd->printString("Play", xMargin, 1);
+ lcd->printString("High Scores", xMargin, 2);
+ lcd->printString(">Controls", xMargin, 3);
break;
case HIGHSCORES:
// Placeholder TODO: Actually high scores
- lcd->printString("High Scores", 10, 0);
- lcd->printString("AND 1000000", 10, 1);
- lcd->printString("AND 500000", 10, 2);
- lcd->printString("AND 100", 10, 3);
- lcd->printString(">Back", 10, 4);
+ lcd->printString("High Scores", xMargin, 0);
+ lcd->printString("AND 1000000", xMargin, 1);
+ lcd->printString("AND 500000", xMargin, 2);
+ lcd->printString("AND 100", xMargin, 3);
+ lcd->printString(">Back", xMargin, 4);
break;
case CONTROLS:
- lcd->printString("Controls", 10, 0);
- lcd->printString("A: Jump", 10, 1);
- lcd->printString("B: Shoot", 10, 2);
- lcd->printString("C: Pause", 10, 3);
- lcd->printString(">Back", 10, 4);
+ lcd->printString("Controls", xMargin, 0);
+ lcd->printString("A: Jump", xMargin, 1);
+ lcd->printString("B: Shoot", xMargin, 2);
+ lcd->printString("C: Pause", xMargin, 3);
+ lcd->printString(">Back", xMargin, 4);
break;
case LOAD_GAME:
- lcd->printString("Loading...", 10, 2);
+ lcd->printString("Loading...", xMargin, 2);
requestStateChange(GAME);
break;
default:
- error("MainMenu: Invalid internal state");
+ ;
+ //error("MainMenu: Invalid internal state");
}
}
\ No newline at end of file