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 FATFileSystem
Diff: Menu/Menu.h
- 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