Dependencies:   MMA8452 N5110 PowerControl beep mbed

Committer:
stevenle93
Date:
Sun May 10 17:21:39 2015 +0000
Revision:
9:522f9311ff4b
Parent:
8:aebb468546c5
Changes: all header file are documented, changing in debounce function of all the buttons, little change with condition of putting mbed into sleep mode.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stevenle93 2:57d1ed1f0ad3 1 /**
stevenle93 2:57d1ed1f0ad3 2 @file Menu.h
stevenle93 2:57d1ed1f0ad3 3 @brief This header file contains the project menu and using FSM
stevenle93 3:1974db5993ef 4 @brief Revision 1.0
stevenle93 3:1974db5993ef 5 @author Huynh Minh Tuan Le
stevenle93 3:1974db5993ef 6 @date April 2015
stevenle93 2:57d1ed1f0ad3 7 */
stevenle93 2:57d1ed1f0ad3 8
stevenle93 2:57d1ed1f0ad3 9 #ifndef MENU_H
stevenle93 2:57d1ed1f0ad3 10 #define MENU_H
stevenle93 2:57d1ed1f0ad3 11
stevenle93 2:57d1ed1f0ad3 12 #include "mbed.h"
stevenle93 2:57d1ed1f0ad3 13 #include "N5110.h"
stevenle93 2:57d1ed1f0ad3 14
stevenle93 9:522f9311ff4b 15 ///Menu class
stevenle93 2:57d1ed1f0ad3 16 class Menu
stevenle93 2:57d1ed1f0ad3 17 {
stevenle93 2:57d1ed1f0ad3 18 public:
stevenle93 2:57d1ed1f0ad3 19 /**
stevenle93 9:522f9311ff4b 20 * Welcome function
stevenle93 5:c0a58a6916f2 21 * @brief It shows a welcome message on screen.
stevenle93 5:c0a58a6916f2 22 */
stevenle93 9:522f9311ff4b 23 void welcome();
stevenle93 5:c0a58a6916f2 24 /**
stevenle93 9:522f9311ff4b 25 * The first sub menu of Main menu.
stevenle93 9:522f9311ff4b 26 * @brief It has same factor of the Main menu which are Main menu title, Play and Score.
stevenle93 9:522f9311ff4b 27 * @brief It shows a cursor of circle pointing at "Play" factor.
stevenle93 3:1974db5993ef 28 */
stevenle93 3:1974db5993ef 29 void main();
stevenle93 3:1974db5993ef 30 /**
stevenle93 9:522f9311ff4b 31 * The Highscore sector contains the highest score of player and the current score they have.
stevenle93 2:57d1ed1f0ad3 32 */
stevenle93 2:57d1ed1f0ad3 33 void highscore();
stevenle93 3:1974db5993ef 34 /**
stevenle93 9:522f9311ff4b 35 * The Startgame sector contains options of game difficulty.
stevenle93 9:522f9311ff4b 36 * @brief It allows player to choose which difficulty level to play.
stevenle93 3:1974db5993ef 37 */
stevenle93 3:1974db5993ef 38 void gameset();
stevenle93 3:1974db5993ef 39 /**
stevenle93 9:522f9311ff4b 40 * The Yourscore sector is a place showing your current score.
stevenle93 3:1974db5993ef 41 */
stevenle93 3:1974db5993ef 42 void yourscore();
stevenle93 2:57d1ed1f0ad3 43 };
stevenle93 5:c0a58a6916f2 44
stevenle93 5:c0a58a6916f2 45 void Menu::welcome()
stevenle93 5:c0a58a6916f2 46 {
stevenle93 5:c0a58a6916f2 47 lcd.drawRect(0,0,84,3,1);
stevenle93 6:3e8ce3108702 48 wait(0.5);
stevenle93 6:3e8ce3108702 49 lcd.drawRect(80,0,3,47,1);
stevenle93 6:3e8ce3108702 50 wait(0.5);
stevenle93 6:3e8ce3108702 51 lcd.drawRect(0,44,84,3,1);
stevenle93 6:3e8ce3108702 52 wait(0.5);
stevenle93 6:3e8ce3108702 53 lcd.drawRect(0,0,3,47,1);
stevenle93 6:3e8ce3108702 54 wait(0.5);
stevenle93 6:3e8ce3108702 55 lcd.printString("Accel-cize",13,2);
stevenle93 6:3e8ce3108702 56 wait(1.5);
stevenle93 6:3e8ce3108702 57 lcd.printString("Activate",18,3);
stevenle93 5:c0a58a6916f2 58 wait(0.5);
stevenle93 5:c0a58a6916f2 59 int i = 0;
stevenle93 5:c0a58a6916f2 60 while(i<5) {
stevenle93 5:c0a58a6916f2 61 lcd.inverseMode();
stevenle93 5:c0a58a6916f2 62 wait(0.2);
stevenle93 5:c0a58a6916f2 63 lcd.normalMode();
stevenle93 5:c0a58a6916f2 64 wait(0.2);
stevenle93 5:c0a58a6916f2 65 i++;
stevenle93 5:c0a58a6916f2 66 }
stevenle93 5:c0a58a6916f2 67 lcd.clear();
stevenle93 5:c0a58a6916f2 68 }
stevenle93 9:522f9311ff4b 69
stevenle93 3:1974db5993ef 70 void Menu::main()
stevenle93 2:57d1ed1f0ad3 71 {
stevenle93 3:1974db5993ef 72 lcd.printString("MAIN MENU",16,1);
stevenle93 2:57d1ed1f0ad3 73 lcd.printString("Play",31,3);
stevenle93 3:1974db5993ef 74 lcd.printString("Score",28,4);
stevenle93 3:1974db5993ef 75 }
stevenle93 2:57d1ed1f0ad3 76
stevenle93 3:1974db5993ef 77 void Menu::highscore()
stevenle93 3:1974db5993ef 78 {
stevenle93 3:1974db5993ef 79 lcd.printString("HIGH SCORE",13,1);
stevenle93 5:c0a58a6916f2 80 lcd.printString("Easy",31,2);
stevenle93 5:c0a58a6916f2 81 lcd.printString("Normal",25,3);
stevenle93 5:c0a58a6916f2 82 lcd.printString("Hard",31,4);
stevenle93 3:1974db5993ef 83 }
stevenle93 3:1974db5993ef 84
stevenle93 3:1974db5993ef 85 void Menu::yourscore()
stevenle93 2:57d1ed1f0ad3 86 {
stevenle93 3:1974db5993ef 87 lcd.printString("YOUR SCORE",13,1);
stevenle93 3:1974db5993ef 88 lcd.printString("Main menu",16,3);
stevenle93 3:1974db5993ef 89 lcd.printString("Reset",16,4);
stevenle93 3:1974db5993ef 90 }
stevenle93 2:57d1ed1f0ad3 91
stevenle93 3:1974db5993ef 92 void Menu::gameset()
stevenle93 3:1974db5993ef 93 {
stevenle93 3:1974db5993ef 94 lcd.printString("GAME MODE",15,1);
stevenle93 3:1974db5993ef 95 lcd.printString("Easy",31,2);
stevenle93 3:1974db5993ef 96 lcd.printString("Normal",25,3);
stevenle93 3:1974db5993ef 97 lcd.printString("Hard",31,4);
stevenle93 3:1974db5993ef 98 }
stevenle93 2:57d1ed1f0ad3 99
stevenle93 2:57d1ed1f0ad3 100 #endif