ELEC2645 (2018/19) / Mbed 2 deprecated el17ebs

Dependencies:   mbed FATFileSystem

Revision:
14:08ac9aaa34c3
Parent:
13:681192091568
Child:
16:c8d68cbd1ae2
diff -r 681192091568 -r 08ac9aaa34c3 Menu/Menu.h
--- a/Menu/Menu.h	Mon May 06 10:00:57 2019 +0000
+++ b/Menu/Menu.h	Wed May 08 14:54:19 2019 +0000
@@ -7,6 +7,14 @@
 #include "SDFileSystem.h"
 #include <algorithm>
 
+/** Enum for wall types */
+enum MenuChoice { 
+  
+    START,  /**< start screen */
+    HIGHSCORES,       /**< highscores screen */
+    SETTINGS,      /**< settings screen */
+};
+
 /** Menu Class
 * @brief Library for navigating menu options
 * @author Ellis Blackford Stroud
@@ -26,53 +34,67 @@
     /** Sets class variables initial values */
     void init();
     
-    /** Prints opening message */
-    void print_welcome(N5110 &lcd);
+    /**Enters welcome screen loop */
+    void welcome_loop(Gamepad &pad, N5110 &lcd);
+    
+    /** Enters menu screen loop */
+    void menu_loop(Gamepad &pad, N5110 &lcd);
+    
+    /** Enters start screen loop */
+    void start_loop(Gamepad &pad, N5110 &lcd);
     
-    /** Prints menu screen */
-    bool menu_loop(Gamepad &pad, N5110 &lcd, SDFileSystem &sd);
-    
+    /** Enters highscores screen loop */
     void highscores_loop(Gamepad &pad, N5110 &lcd, SDFileSystem &sd);
-            
+    
+    /** Enters settings screen loop */
+    void settings_loop(Gamepad &pad, N5110 &lcd);
+    
     /** Returns frame rate 
-    * @returns frame rate chosen in settings
+    * @returns the current frame rate 
     */    
     int get_frame_rate();
     
+    /** Returns brightness 
+    * @returns the current brightness
+    */    
+    float get_brightness();
+        
+    /** Returns start game flag state 
+    * @returns the start game flag state
+    */    
+    bool get_start_game_flag();
+    
+    /** Resets start game flag */    
+    void reset_start_game_flag();
+    
+    /** Returns the current menu screen 
+    * @returns the current menu screen 
+    */    
+    MenuChoice get_screen();
+    
 private:
     
     void read_input(Gamepad &pad);
-    
     void sd_read(SDFileSystem &sd);
-    
-    bool menu_change(Gamepad &pad, N5110 &lcd, SDFileSystem &sd);  
-    
-    bool start_loop(Gamepad &pad, N5110 &lcd);
-        
-    void settings_loop(Gamepad &pad, N5110 &lcd, SDFileSystem &sd);
-
+    void change_screen();  
     void drawSettings(N5110 &lcd);
-    
     void drawSettingsBars(N5110 &lcd);
-    
     void move_cursor(N5110 &lcd);
-        
+    void cursor_pos_0();
+    void cursor_pos_1();
+    void cursor_pos_2();
     void drawCursor(N5110 &lcd);
         
+    MenuChoice _screen;
+    bool _start_game_flag;  
     int _cursor_pos;
-    
     float _pot;
-    
     float _contrast; 
-    
     float _brightness;
-    
     int _frame_rate;
-    
     int *_highscores_array; 
-    
+    int _n;
     Direction _joy_direction;
-
 };
 
 #endif
\ No newline at end of file