Initial publish
Dependencies: mbed
Fork of el17dg by
menu/menu.h@40:e3bbda7444fa, 2019-05-07 (annotated)
- Committer:
- Noximilien
- Date:
- Tue May 07 15:22:35 2019 +0000
- Revision:
- 40:e3bbda7444fa
- Parent:
- 32:5403bb974294
The Final, Submission Version. I have read and agreed to the academic integrity. SID:201160286
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Noximilien | 4:02c63aaa2df9 | 1 | #ifndef MENU_H |
Noximilien | 4:02c63aaa2df9 | 2 | #define MENU_H |
Noximilien | 4:02c63aaa2df9 | 3 | |
Noximilien | 31:becb8f6bf7b7 | 4 | |
Noximilien | 32:5403bb974294 | 5 | /** |
Noximilien | 32:5403bb974294 | 6 | * The enumeration of available options in the menu. |
Noximilien | 32:5403bb974294 | 7 | */ |
Noximilien | 31:becb8f6bf7b7 | 8 | enum ScreenOption { |
Noximilien | 32:5403bb974294 | 9 | ScreenOption_Menu, /**< The menu option - Choosing other options */ |
Noximilien | 32:5403bb974294 | 10 | ScreenOption_Game, /**< The game option - To start the game */ |
Noximilien | 32:5403bb974294 | 11 | ScreenOption_Tutorial, /**< The tutorial option - To open tutorial */ |
Noximilien | 32:5403bb974294 | 12 | ScreenOption_Settings /**< The settings option - To open settings */ |
Noximilien | 4:02c63aaa2df9 | 13 | }; |
Noximilien | 4:02c63aaa2df9 | 14 | |
Noximilien | 31:becb8f6bf7b7 | 15 | /** |
Noximilien | 31:becb8f6bf7b7 | 16 | * Menu Class |
Noximilien | 31:becb8f6bf7b7 | 17 | * @brief Describes the menu. |
Noximilien | 30:d454d0cb72bc | 18 | * @author Dmitrijs Griskovs |
Noximilien | 30:d454d0cb72bc | 19 | * @date 15/04/2019 |
Noximilien | 30:d454d0cb72bc | 20 | */ |
Noximilien | 4:02c63aaa2df9 | 21 | class Menu { |
Noximilien | 31:becb8f6bf7b7 | 22 | public: |
Noximilien | 31:becb8f6bf7b7 | 23 | /** A constructor */ |
Noximilien | 31:becb8f6bf7b7 | 24 | Menu(); |
Noximilien | 31:becb8f6bf7b7 | 25 | /** |
Noximilien | 31:becb8f6bf7b7 | 26 | * @brief Updates and Draws menu. |
Noximilien | 31:becb8f6bf7b7 | 27 | * @details Updates and draws menu options. Also, allows to select an option availabe |
Noximilien | 31:becb8f6bf7b7 | 28 | * from the enum. It return "true" statment if the user picked a menu option. |
Noximilien | 31:becb8f6bf7b7 | 29 | */ |
Noximilien | 31:becb8f6bf7b7 | 30 | bool updateAndDraw(); |
Noximilien | 31:becb8f6bf7b7 | 31 | |
Noximilien | 31:becb8f6bf7b7 | 32 | /** Returns currently selected meny option */ |
Noximilien | 31:becb8f6bf7b7 | 33 | ScreenOption getCurrentScreenSelection(); |
Noximilien | 4:02c63aaa2df9 | 34 | |
Noximilien | 31:becb8f6bf7b7 | 35 | private: |
Noximilien | 32:5403bb974294 | 36 | int current_option; |
Noximilien | 32:5403bb974294 | 37 | static const int total_options = 3; |
Noximilien | 32:5403bb974294 | 38 | static const float time_delay = 50; |
Noximilien | 31:becb8f6bf7b7 | 39 | void pointerPosition(int menu_number); |
Noximilien | 31:becb8f6bf7b7 | 40 | void drawPointer(); |
Noximilien | 32:5403bb974294 | 41 | void DrawPressAIcon(); |
Noximilien | 32:5403bb974294 | 42 | void checkJoystick(); |
Noximilien | 4:02c63aaa2df9 | 43 | }; |
Noximilien | 4:02c63aaa2df9 | 44 | |
Noximilien | 4:02c63aaa2df9 | 45 | |
Noximilien | 4:02c63aaa2df9 | 46 | #endif |