![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Adam Baker 201166301
Dependencies: mbed Gamepad N5110
Menu/Menu.h@41:4b20f909bbcb, 2019-05-08 (annotated)
- Committer:
- adambakerwa
- Date:
- Wed May 08 15:22:53 2019 +0000
- Revision:
- 41:4b20f909bbcb
- Parent:
- 40:f53c70793975
- Child:
- 43:11c5d098ce9d
final amendments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
adambakerwa | 36:6f452777b9ce | 1 | #ifndef MENU_H |
adambakerwa | 36:6f452777b9ce | 2 | #define MENU_H |
adambakerwa | 36:6f452777b9ce | 3 | |
adambakerwa | 36:6f452777b9ce | 4 | #include "mbed.h" |
adambakerwa | 36:6f452777b9ce | 5 | #include "Gamepad.h" |
adambakerwa | 36:6f452777b9ce | 6 | #include "N5110.h" |
adambakerwa | 38:51ed5820ffe5 | 7 | |
adambakerwa | 41:4b20f909bbcb | 8 | /** Menu Class |
adambakerwa | 41:4b20f909bbcb | 9 | * @brief Library for interfacing with ELEC2645 Gamepad PCB, University of Leeds |
adambakerwa | 41:4b20f909bbcb | 10 | * @author Adam P. Baker |
adambakerwa | 41:4b20f909bbcb | 11 | */ |
adambakerwa | 36:6f452777b9ce | 12 | |
adambakerwa | 36:6f452777b9ce | 13 | class Menu |
adambakerwa | 36:6f452777b9ce | 14 | { |
adambakerwa | 36:6f452777b9ce | 15 | public: |
adambakerwa | 41:4b20f909bbcb | 16 | /** |
adambakerwa | 41:4b20f909bbcb | 17 | *@brief Constructor |
adambakerwa | 41:4b20f909bbcb | 18 | */ |
adambakerwa | 36:6f452777b9ce | 19 | Menu(); |
adambakerwa | 41:4b20f909bbcb | 20 | |
adambakerwa | 41:4b20f909bbcb | 21 | /** |
adambakerwa | 41:4b20f909bbcb | 22 | *@brief Deconstructor |
adambakerwa | 41:4b20f909bbcb | 23 | */ |
adambakerwa | 36:6f452777b9ce | 24 | ~Menu(); |
adambakerwa | 41:4b20f909bbcb | 25 | |
adambakerwa | 41:4b20f909bbcb | 26 | /** |
adambakerwa | 41:4b20f909bbcb | 27 | *@brief intialises |
adambakerwa | 41:4b20f909bbcb | 28 | */ |
adambakerwa | 41:4b20f909bbcb | 29 | void init(); |
adambakerwa | 41:4b20f909bbcb | 30 | |
adambakerwa | 41:4b20f909bbcb | 31 | /** |
adambakerwa | 41:4b20f909bbcb | 32 | *@brief runs the title sequence |
adambakerwa | 41:4b20f909bbcb | 33 | *@param lcd @brief class which controlls lcd screen |
adambakerwa | 41:4b20f909bbcb | 34 | *@param pad @breif class for working with the gamepad |
adambakerwa | 41:4b20f909bbcb | 35 | */ |
adambakerwa | 37:23b6312c8315 | 36 | void title_intro(N5110 &lcd, Gamepad &pad); |
adambakerwa | 41:4b20f909bbcb | 37 | |
adambakerwa | 41:4b20f909bbcb | 38 | /** |
adambakerwa | 41:4b20f909bbcb | 39 | *@brief holds title screen and flashes 'press start' |
adambakerwa | 41:4b20f909bbcb | 40 | *@param lcd @brief class which controlls lcd screen |
adambakerwa | 41:4b20f909bbcb | 41 | *@param pad @breif class for working with the gamepad |
adambakerwa | 41:4b20f909bbcb | 42 | *@returns _start (1 when pressed, else 0) |
adambakerwa | 41:4b20f909bbcb | 43 | */ |
adambakerwa | 37:23b6312c8315 | 44 | int press_start(N5110 &lcd, Gamepad &pad); |
adambakerwa | 40:f53c70793975 | 45 | |
adambakerwa | 41:4b20f909bbcb | 46 | /** |
adambakerwa | 41:4b20f909bbcb | 47 | *@brief displays main menu screen and takes in input to select next state |
adambakerwa | 41:4b20f909bbcb | 48 | *@param lcd @brief class which controlls lcd screen |
adambakerwa | 41:4b20f909bbcb | 49 | *@param pad @breif class for working with the gamepad |
adambakerwa | 41:4b20f909bbcb | 50 | *@returns _input (1 when pressed, else 0) |
adambakerwa | 41:4b20f909bbcb | 51 | */ |
adambakerwa | 40:f53c70793975 | 52 | int select_input_main(Gamepad &pad, N5110 &lcd); |
adambakerwa | 41:4b20f909bbcb | 53 | |
adambakerwa | 41:4b20f909bbcb | 54 | /** |
adambakerwa | 41:4b20f909bbcb | 55 | *@brief displays continue menu screen and takes in input to select next state |
adambakerwa | 41:4b20f909bbcb | 56 | *@param lcd @brief class which controlls lcd screen |
adambakerwa | 41:4b20f909bbcb | 57 | *@param pad @breif class for working with the gamepad |
adambakerwa | 41:4b20f909bbcb | 58 | *@returns _input (1 when pressed, else 0) |
adambakerwa | 41:4b20f909bbcb | 59 | */ |
adambakerwa | 40:f53c70793975 | 60 | int select_input_continue(Gamepad &pad, N5110 &lcd); |
adambakerwa | 41:4b20f909bbcb | 61 | |
adambakerwa | 41:4b20f909bbcb | 62 | /** |
adambakerwa | 41:4b20f909bbcb | 63 | *@brief displays highscore screen |
adambakerwa | 41:4b20f909bbcb | 64 | *@param lcd @brief class which controlls lcd screen |
adambakerwa | 41:4b20f909bbcb | 65 | *@param highscore @breif highest level reached by user |
adambakerwa | 41:4b20f909bbcb | 66 | */ |
adambakerwa | 40:f53c70793975 | 67 | void print_highscore(N5110 &lcd, int highscore); |
adambakerwa | 41:4b20f909bbcb | 68 | |
adambakerwa | 41:4b20f909bbcb | 69 | /** |
adambakerwa | 41:4b20f909bbcb | 70 | *@brief displays continue menu screen and takes in input to select next state |
adambakerwa | 41:4b20f909bbcb | 71 | *@param lcd @brief class which controlls lcd screen |
adambakerwa | 41:4b20f909bbcb | 72 | *@param pad @breif class for working with the gamepad |
adambakerwa | 41:4b20f909bbcb | 73 | *@returns contrast level |
adambakerwa | 41:4b20f909bbcb | 74 | */ |
adambakerwa | 40:f53c70793975 | 75 | float print_settings(Gamepad &pad, N5110 &lcd); |
adambakerwa | 36:6f452777b9ce | 76 | private: |
adambakerwa | 36:6f452777b9ce | 77 | |
adambakerwa | 41:4b20f909bbcb | 78 | void print_main_menu(N5110 &lcd); //prints menu class visuals |
adambakerwa | 41:4b20f909bbcb | 79 | void print_continue_menu(N5110 &lcd); //prints continue class visuals |
adambakerwa | 40:f53c70793975 | 80 | |
adambakerwa | 41:4b20f909bbcb | 81 | void menu_decoration(N5110 &lcd); //prints menu border decoration |
adambakerwa | 40:f53c70793975 | 82 | |
adambakerwa | 41:4b20f909bbcb | 83 | void intro_b(N5110 &lcd, Gamepad &pad); //display b with note |
adambakerwa | 41:4b20f909bbcb | 84 | void intro_bl(N5110 &lcd, Gamepad &pad); //display bl with note |
adambakerwa | 41:4b20f909bbcb | 85 | void intro_blo(N5110 &lcd, Gamepad &pad); //display blo with note |
adambakerwa | 41:4b20f909bbcb | 86 | void intro_bloc(N5110 &lcd, Gamepad &pad); //display bloc with note |
adambakerwa | 41:4b20f909bbcb | 87 | void intro_block(N5110 &lcd, Gamepad &pad); //display block with note |
adambakerwa | 41:4b20f909bbcb | 88 | void intro_block_h(N5110 &lcd, Gamepad &pad); //display block h with note |
adambakerwa | 41:4b20f909bbcb | 89 | void intro_block_he(N5110 &lcd, Gamepad &pad); //display block he with note |
adambakerwa | 41:4b20f909bbcb | 90 | void intro_block_hea(N5110 &lcd, Gamepad &pad); //display block hea with note |
adambakerwa | 41:4b20f909bbcb | 91 | void intro_block_head(N5110 &lcd, Gamepad &pad); //display block head with note |
adambakerwa | 36:6f452777b9ce | 92 | |
adambakerwa | 41:4b20f909bbcb | 93 | void B(int x, int y, N5110 &lcd); //prints B HEAD sprite |
adambakerwa | 41:4b20f909bbcb | 94 | void BL(int x, int y, N5110 &lcd); //prints BL sprite |
adambakerwa | 41:4b20f909bbcb | 95 | void BLO(int x, int y, N5110 &lcd); //prints BLO sprite |
adambakerwa | 41:4b20f909bbcb | 96 | void BLOC(int x, int y, N5110 &lcd); //prints BLOC sprite |
adambakerwa | 41:4b20f909bbcb | 97 | void BLOCK(int x, int y, N5110 &lcd); //prints BLOCK sprite |
adambakerwa | 41:4b20f909bbcb | 98 | void BLOCK_H(int x, int y, N5110 &lcd); //prints BLOCK H sprite |
adambakerwa | 41:4b20f909bbcb | 99 | void BLOCK_HE(int x, int y, N5110 &lcd); //prints BLOCK HE sprite |
adambakerwa | 41:4b20f909bbcb | 100 | void BLOCK_HEA(int x, int y, N5110 &lcd); //prints BLOCK HEA sprite |
adambakerwa | 41:4b20f909bbcb | 101 | void BLOCK_HEAD(int x, int y, N5110 &lcd); //prints BLOCK HEAD sprite |
adambakerwa | 40:f53c70793975 | 102 | |
adambakerwa | 37:23b6312c8315 | 103 | int _start; |
adambakerwa | 37:23b6312c8315 | 104 | int _count; |
adambakerwa | 40:f53c70793975 | 105 | |
adambakerwa | 36:6f452777b9ce | 106 | int _select; |
adambakerwa | 36:6f452777b9ce | 107 | int _input; |
adambakerwa | 36:6f452777b9ce | 108 | int _stop; |
adambakerwa | 37:23b6312c8315 | 109 | bool _flash; |
adambakerwa | 40:f53c70793975 | 110 | |
adambakerwa | 36:6f452777b9ce | 111 | }; |
adambakerwa | 36:6f452777b9ce | 112 | |
adambakerwa | 36:6f452777b9ce | 113 | #endif |