Mochu Yao explorer game
Dependencies: mbed
Diff: menu/Menu.h
- Revision:
- 27:354d91d59b6d
- Parent:
- 26:4d193529b447
- Child:
- 29:2d592452e3fb
diff -r 4d193529b447 -r 354d91d59b6d menu/Menu.h --- a/menu/Menu.h Tue Apr 28 17:39:26 2020 +0000 +++ b/menu/Menu.h Tue Apr 28 17:58:00 2020 +0000 @@ -5,31 +5,77 @@ #include "N5110.h" #include "Gamepad.h" #include "Gameengine.h" -//*using the UpDown_counter example in class 201. +/** State for finite state machine struct */ struct State { - int output; + int output; int next_state[4]; }; -/** Menu class -* @ 1 build three page to choose -* @ 2 build a good welcome_page -* @ 3 connect with the gamepad and makesure the game is working -* @ date April 27th 2020 -* @ author Yaomochu +/** Menu Class + +* @1 build three page to choose +* @2 build a good welcome_page +* @3 connect with the gamepad and makesure the game is working +* @date April 27th 2020 +* @author Yaomochu +* @code + +#include "N5110.h" +#include "Gamepad.h" +#include "mbed.h" +#include "menu.h" + +N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); +Gamepad gamepad; +menu _menu; + +int main() { + gamepad.init(); + _menu.init(); + lcd.init(); + lcd.normalMode(); + lcd.setBrightness(0.5); + while(1) { + + // clear, refresh lcd and run the menu. + lcd.clear(); + _menu.run_engine(lcd, gamepad); + lcd.refresh(); + wait(0.01); + } +} + +*@endcode */ class Menu { public: - Menu(); - ~Menu(); - void init(); - void run_engine(N5110 &lcd, Gamepad &gamepad); - void run_game(N5110 &lcd, Gamepad &gamepad); + // Constructor and Destructor. + /** + * @brief Constructor @details Non user specified. + */ + Menu(); + /** + * @brief Destructor @details Non user specified. + */ + ~Menu(); + // Mutators + /** + * @brief Initialises the Menu. + */ + void init(); + /** + * @brief Runs the menu and a state machine. + * @param &lcd @details The lcd object from the N5110 class + * @param &gamepad @details The gamepad object from Gamepad class + */ + void run_engine(N5110 &lcd, Gamepad &gamepad); + private: + void run_game(N5110 &lcd, Gamepad &gamepad); void display_page1(N5110 &lcd, Gamepad &gamepad); void display_page2(N5110 &lcd, Gamepad &gamepad); void get_output(N5110 &lcd, Gamepad &gamepad);