Mochu Yao explorer game

Dependencies:   mbed

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);