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
menu/Menu.h@21:349c70c8a7de, 2020-04-28 (annotated)
- Committer:
 - el17my
 - Date:
 - Tue Apr 28 14:26:47 2020 +0000
 - Revision:
 - 21:349c70c8a7de
 - Child:
 - 22:f8ba0ab7465c
 
4.28
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| el17my | 21:349c70c8a7de | 1 | #ifndef MENU_H | 
| el17my | 21:349c70c8a7de | 2 | #define MENU_H | 
| el17my | 21:349c70c8a7de | 3 | |
| el17my | 21:349c70c8a7de | 4 | #include "mbed.h" | 
| el17my | 21:349c70c8a7de | 5 | #include "N5110.h" | 
| el17my | 21:349c70c8a7de | 6 | #include "Gamepad.h" | 
| el17my | 21:349c70c8a7de | 7 | #include "Gameengine.h" | 
| el17my | 21:349c70c8a7de | 8 | //*using the UpDown_counter example in class 201. | 
| el17my | 21:349c70c8a7de | 9 | struct State { | 
| el17my | 21:349c70c8a7de | 10 | int output; // output value for current state | 
| el17my | 21:349c70c8a7de | 11 | int next_state[4]; // next state (depending on direction 0 - UP, 1 - DOWN) | 
| el17my | 21:349c70c8a7de | 12 | }; | 
| el17my | 21:349c70c8a7de | 13 | |
| el17my | 21:349c70c8a7de | 14 | /** Menu class | 
| el17my | 21:349c70c8a7de | 15 | 1 build three page to choose | 
| el17my | 21:349c70c8a7de | 16 | 2 build a good welcome_page | 
| el17my | 21:349c70c8a7de | 17 | 3 connect with the gamepad and makesure the game is working | 
| el17my | 21:349c70c8a7de | 18 | * @date April 27th 2020 | 
| el17my | 21:349c70c8a7de | 19 | * @author Yaomochu | 
| el17my | 21:349c70c8a7de | 20 | |
| el17my | 21:349c70c8a7de | 21 | *@code | 
| el17my | 21:349c70c8a7de | 22 | |
| el17my | 21:349c70c8a7de | 23 | #include "N5110.h" | 
| el17my | 21:349c70c8a7de | 24 | #include "Gamepad.h" | 
| el17my | 21:349c70c8a7de | 25 | #include "mbed.h" | 
| el17my | 21:349c70c8a7de | 26 | #include "menu.h" | 
| el17my | 21:349c70c8a7de | 27 | |
| el17my | 21:349c70c8a7de | 28 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); | 
| el17my | 21:349c70c8a7de | 29 | Gamepad gamepad; | 
| el17my | 21:349c70c8a7de | 30 | menu _menu; | 
| el17my | 21:349c70c8a7de | 31 | |
| el17my | 21:349c70c8a7de | 32 | int main() { | 
| el17my | 21:349c70c8a7de | 33 | gamepad.init(); | 
| el17my | 21:349c70c8a7de | 34 | _menu.init(); | 
| el17my | 21:349c70c8a7de | 35 | lcd.init(); | 
| el17my | 21:349c70c8a7de | 36 | lcd.normalMode(); | 
| el17my | 21:349c70c8a7de | 37 | lcd.setBrightness(0.5); | 
| el17my | 21:349c70c8a7de | 38 | while(1) { | 
| el17my | 21:349c70c8a7de | 39 | |
| el17my | 21:349c70c8a7de | 40 | // clear, refresh lcd and run the menu. | 
| el17my | 21:349c70c8a7de | 41 | lcd.clear(); | 
| el17my | 21:349c70c8a7de | 42 | _menu.run_engine(lcd, gamepad); | 
| el17my | 21:349c70c8a7de | 43 | lcd.refresh(); | 
| el17my | 21:349c70c8a7de | 44 | wait(0.01); | 
| el17my | 21:349c70c8a7de | 45 | } | 
| el17my | 21:349c70c8a7de | 46 | } | 
| el17my | 21:349c70c8a7de | 47 | |
| el17my | 21:349c70c8a7de | 48 | *@endcode | 
| el17my | 21:349c70c8a7de | 49 | */ | 
| el17my | 21:349c70c8a7de | 50 | |
| el17my | 21:349c70c8a7de | 51 | class Menu { | 
| el17my | 21:349c70c8a7de | 52 | public: | 
| el17my | 21:349c70c8a7de | 53 | Menu(); | 
| el17my | 21:349c70c8a7de | 54 | ~Menu(); | 
| el17my | 21:349c70c8a7de | 55 | void init(); | 
| el17my | 21:349c70c8a7de | 56 | void display_page1(N5110 &lcd, Gamepad &gamepad); | 
| el17my | 21:349c70c8a7de | 57 | void display_page2(N5110 &lcd, Gamepad &gamepad); | 
| el17my | 21:349c70c8a7de | 58 | void run_engine(N5110 &lcd, Gamepad &gamepad); | 
| el17my | 21:349c70c8a7de | 59 | void run_game(N5110 &lcd, Gamepad &gamepad); | 
| el17my | 21:349c70c8a7de | 60 | |
| el17my | 21:349c70c8a7de | 61 | private: | 
| el17my | 21:349c70c8a7de | 62 | void get_input(bool start, bool back, bool b); | 
| el17my | 21:349c70c8a7de | 63 | Gameengine _game_engine; | 
| el17my | 21:349c70c8a7de | 64 | int _input_value; | 
| el17my | 21:349c70c8a7de | 65 | int _output; | 
| el17my | 21:349c70c8a7de | 66 | int _state; | 
| el17my | 21:349c70c8a7de | 67 | }; | 
| el17my | 21:349c70c8a7de | 68 | #endif | 
| el17my | 21:349c70c8a7de | 69 | |
| el17my | 21:349c70c8a7de | 70 |