Dependencies: MMA8452 N5110 PowerControl beep mbed
Menu.h@9:522f9311ff4b, 2015-05-10 (annotated)
- 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?
User | Revision | Line number | New 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 |