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@12:ebaefda53dd0, 2019-04-01 (annotated)
- Committer:
- lewisgw
- Date:
- Mon Apr 01 18:06:55 2019 +0000
- Revision:
- 12:ebaefda53dd0
- Parent:
- 11:b66170249a26
- Child:
- 13:bcf6bb69c597
Added the structure of a finite state machine ready to implement a working menu
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| lewisgw | 9:fff2009f826e | 1 | /** Menu Class |
| lewisgw | 12:ebaefda53dd0 | 2 | * @breif Class to control the overall state of the game * @author Lewis Wooltorton |
| lewisgw | 12:ebaefda53dd0 | 3 | * @date April 2019 |
| lewisgw | 9:fff2009f826e | 4 | */ |
| lewisgw | 9:fff2009f826e | 5 | |
| lewisgw | 9:fff2009f826e | 6 | #ifndef MENU_H |
| lewisgw | 9:fff2009f826e | 7 | #define MENU_H |
| lewisgw | 9:fff2009f826e | 8 | |
| lewisgw | 9:fff2009f826e | 9 | #include "mbed.h" |
| lewisgw | 9:fff2009f826e | 10 | #include "N5110.h" |
| lewisgw | 9:fff2009f826e | 11 | #include "Gamepad.h" |
| lewisgw | 12:ebaefda53dd0 | 12 | //#include "Engine.h" |
| lewisgw | 12:ebaefda53dd0 | 13 | #include "EngineController.h" |
| lewisgw | 12:ebaefda53dd0 | 14 | |
| lewisgw | 12:ebaefda53dd0 | 15 | struct State { |
| lewisgw | 12:ebaefda53dd0 | 16 | int output; |
| lewisgw | 12:ebaefda53dd0 | 17 | int next_state[4]; |
| lewisgw | 12:ebaefda53dd0 | 18 | }; |
| lewisgw | 9:fff2009f826e | 19 | |
| lewisgw | 9:fff2009f826e | 20 | class Menu { |
| lewisgw | 9:fff2009f826e | 21 | public: |
| lewisgw | 9:fff2009f826e | 22 | Menu(); |
| lewisgw | 9:fff2009f826e | 23 | ~Menu(); |
| lewisgw | 12:ebaefda53dd0 | 24 | |
| lewisgw | 9:fff2009f826e | 25 | void init(); |
| lewisgw | 12:ebaefda53dd0 | 26 | void run(N5110 &lcd, Gamepad &gamepad); |
| lewisgw | 9:fff2009f826e | 27 | |
| lewisgw | 9:fff2009f826e | 28 | private: |
| lewisgw | 12:ebaefda53dd0 | 29 | void set_input(bool start, bool back); |
| lewisgw | 12:ebaefda53dd0 | 30 | void run_game(N5110 &lcd, Gamepad &gamepad); |
| lewisgw | 12:ebaefda53dd0 | 31 | void display_menu(N5110 &lcd, Gamepad &gamepad); |
| lewisgw | 12:ebaefda53dd0 | 32 | void display_controls(N5110 &lcd, Gamepad &gamepad); |
| lewisgw | 12:ebaefda53dd0 | 33 | void output(N5110 &lcd, Gamepad &gamepad); |
| lewisgw | 12:ebaefda53dd0 | 34 | |
| lewisgw | 12:ebaefda53dd0 | 35 | int _menu_input; |
| lewisgw | 12:ebaefda53dd0 | 36 | EngineController _controller; |
| lewisgw | 12:ebaefda53dd0 | 37 | bool _button; |
| lewisgw | 12:ebaefda53dd0 | 38 | int _state; |
| lewisgw | 12:ebaefda53dd0 | 39 | int _output; |
| lewisgw | 9:fff2009f826e | 40 | }; |
| lewisgw | 12:ebaefda53dd0 | 41 | #endif |