ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

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?

UserRevisionLine numberNew 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