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: N5110 PinDetect PowerControl mbed
Diff: MainMenu.cpp
- Revision:
- 13:7ab71c7c311b
- Parent:
- 12:8178fad5e660
- Child:
- 17:d6a3b29cab31
--- 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