Adam Baker 201166301
Dependencies: mbed Gamepad N5110
Menu/Menu.h@43:11c5d098ce9d, 2019-05-08 (annotated)
- Committer:
- adambakerwa
- Date:
- Wed May 08 22:00:17 2019 +0000
- Revision:
- 43:11c5d098ce9d
- Parent:
- 41:4b20f909bbcb
- Child:
- 44:03059810630d
final level addition
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 | 43:11c5d098ce9d | 16 | /** Constructor */ |
adambakerwa | 36:6f452777b9ce | 17 | Menu(); |
adambakerwa | 43:11c5d098ce9d | 18 | |
adambakerwa | 43:11c5d098ce9d | 19 | /** Deconstructor */ |
adambakerwa | 36:6f452777b9ce | 20 | ~Menu(); |
adambakerwa | 43:11c5d098ce9d | 21 | |
adambakerwa | 43:11c5d098ce9d | 22 | /** intialises */ |
adambakerwa | 41:4b20f909bbcb | 23 | void init(); |
adambakerwa | 43:11c5d098ce9d | 24 | |
adambakerwa | 43:11c5d098ce9d | 25 | /** runs the title sequence |
adambakerwa | 43:11c5d098ce9d | 26 | *@param N5110 class which controlls lcd screen |
adambakerwa | 43:11c5d098ce9d | 27 | *@param Gamepad class for working with the gamepad |
adambakerwa | 41:4b20f909bbcb | 28 | */ |
adambakerwa | 37:23b6312c8315 | 29 | void title_intro(N5110 &lcd, Gamepad &pad); |
adambakerwa | 43:11c5d098ce9d | 30 | |
adambakerwa | 43:11c5d098ce9d | 31 | /**holds title screen and flashes 'press start' |
adambakerwa | 43:11c5d098ce9d | 32 | *@param N5110 class which controlls lcd screen |
adambakerwa | 43:11c5d098ce9d | 33 | *@param Gamepad class for working with the gamepad |
adambakerwa | 43:11c5d098ce9d | 34 | *@returns _start (1 when pressed, else 0) (int) |
adambakerwa | 41:4b20f909bbcb | 35 | */ |
adambakerwa | 37:23b6312c8315 | 36 | int press_start(N5110 &lcd, Gamepad &pad); |
adambakerwa | 40:f53c70793975 | 37 | |
adambakerwa | 43:11c5d098ce9d | 38 | /** displays main menu screen and takes in input to select next state |
adambakerwa | 43:11c5d098ce9d | 39 | *@param Gamepad class for working with the gamepad |
adambakerwa | 43:11c5d098ce9d | 40 | *@param N5110 class which controlls lcd screen |
adambakerwa | 43:11c5d098ce9d | 41 | *@returns _input (1 when pressed, else 0) (int) |
adambakerwa | 41:4b20f909bbcb | 42 | */ |
adambakerwa | 40:f53c70793975 | 43 | int select_input_main(Gamepad &pad, N5110 &lcd); |
adambakerwa | 43:11c5d098ce9d | 44 | |
adambakerwa | 43:11c5d098ce9d | 45 | /** displays continue menu screen and takes in input to select next state |
adambakerwa | 43:11c5d098ce9d | 46 | *@param Gamepad class for working with the gamepad |
adambakerwa | 43:11c5d098ce9d | 47 | *@param N5110 class which controlls lcd screen |
adambakerwa | 43:11c5d098ce9d | 48 | *@returns _input (1 when pressed, else 0) (int) |
adambakerwa | 41:4b20f909bbcb | 49 | */ |
adambakerwa | 40:f53c70793975 | 50 | int select_input_continue(Gamepad &pad, N5110 &lcd); |
adambakerwa | 43:11c5d098ce9d | 51 | |
adambakerwa | 43:11c5d098ce9d | 52 | /** displays highscore screen |
adambakerwa | 43:11c5d098ce9d | 53 | *@param N5110 class which controlls lcd screen |
adambakerwa | 43:11c5d098ce9d | 54 | *@param highest level reached by user (int) |
adambakerwa | 41:4b20f909bbcb | 55 | */ |
adambakerwa | 40:f53c70793975 | 56 | void print_highscore(N5110 &lcd, int highscore); |
adambakerwa | 43:11c5d098ce9d | 57 | |
adambakerwa | 43:11c5d098ce9d | 58 | /** displays continue menu screen and takes in input to select next state |
adambakerwa | 43:11c5d098ce9d | 59 | *@param Gamepad class for working with the gamepad |
adambakerwa | 43:11c5d098ce9d | 60 | *@param N5110 class which controlls lcd screen |
adambakerwa | 43:11c5d098ce9d | 61 | *@returns contrast level (float) |
adambakerwa | 41:4b20f909bbcb | 62 | */ |
adambakerwa | 40:f53c70793975 | 63 | float print_settings(Gamepad &pad, N5110 &lcd); |
adambakerwa | 36:6f452777b9ce | 64 | private: |
adambakerwa | 36:6f452777b9ce | 65 | |
adambakerwa | 43:11c5d098ce9d | 66 | void print_main_menu(N5110 &lcd); //prints menu class visuals |
adambakerwa | 41:4b20f909bbcb | 67 | void print_continue_menu(N5110 &lcd); //prints continue class visuals |
adambakerwa | 40:f53c70793975 | 68 | |
adambakerwa | 41:4b20f909bbcb | 69 | void menu_decoration(N5110 &lcd); //prints menu border decoration |
adambakerwa | 40:f53c70793975 | 70 | |
adambakerwa | 41:4b20f909bbcb | 71 | void intro_b(N5110 &lcd, Gamepad &pad); //display b with note |
adambakerwa | 41:4b20f909bbcb | 72 | void intro_bl(N5110 &lcd, Gamepad &pad); //display bl with note |
adambakerwa | 41:4b20f909bbcb | 73 | void intro_blo(N5110 &lcd, Gamepad &pad); //display blo with note |
adambakerwa | 41:4b20f909bbcb | 74 | void intro_bloc(N5110 &lcd, Gamepad &pad); //display bloc with note |
adambakerwa | 43:11c5d098ce9d | 75 | void intro_block(N5110 &lcd, Gamepad &pad); //display block with note |
adambakerwa | 41:4b20f909bbcb | 76 | void intro_block_h(N5110 &lcd, Gamepad &pad); //display block h with note |
adambakerwa | 41:4b20f909bbcb | 77 | void intro_block_he(N5110 &lcd, Gamepad &pad); //display block he with note |
adambakerwa | 41:4b20f909bbcb | 78 | void intro_block_hea(N5110 &lcd, Gamepad &pad); //display block hea with note |
adambakerwa | 41:4b20f909bbcb | 79 | void intro_block_head(N5110 &lcd, Gamepad &pad); //display block head with note |
adambakerwa | 36:6f452777b9ce | 80 | |
adambakerwa | 41:4b20f909bbcb | 81 | void B(int x, int y, N5110 &lcd); //prints B HEAD sprite |
adambakerwa | 41:4b20f909bbcb | 82 | void BL(int x, int y, N5110 &lcd); //prints BL sprite |
adambakerwa | 41:4b20f909bbcb | 83 | void BLO(int x, int y, N5110 &lcd); //prints BLO sprite |
adambakerwa | 41:4b20f909bbcb | 84 | void BLOC(int x, int y, N5110 &lcd); //prints BLOC sprite |
adambakerwa | 41:4b20f909bbcb | 85 | void BLOCK(int x, int y, N5110 &lcd); //prints BLOCK sprite |
adambakerwa | 41:4b20f909bbcb | 86 | void BLOCK_H(int x, int y, N5110 &lcd); //prints BLOCK H sprite |
adambakerwa | 41:4b20f909bbcb | 87 | void BLOCK_HE(int x, int y, N5110 &lcd); //prints BLOCK HE sprite |
adambakerwa | 41:4b20f909bbcb | 88 | void BLOCK_HEA(int x, int y, N5110 &lcd); //prints BLOCK HEA sprite |
adambakerwa | 41:4b20f909bbcb | 89 | void BLOCK_HEAD(int x, int y, N5110 &lcd); //prints BLOCK HEAD sprite |
adambakerwa | 40:f53c70793975 | 90 | |
adambakerwa | 37:23b6312c8315 | 91 | int _start; |
adambakerwa | 37:23b6312c8315 | 92 | int _count; |
adambakerwa | 40:f53c70793975 | 93 | |
adambakerwa | 36:6f452777b9ce | 94 | int _select; |
adambakerwa | 36:6f452777b9ce | 95 | int _input; |
adambakerwa | 36:6f452777b9ce | 96 | int _stop; |
adambakerwa | 37:23b6312c8315 | 97 | bool _flash; |
adambakerwa | 40:f53c70793975 | 98 | |
adambakerwa | 36:6f452777b9ce | 99 | }; |
adambakerwa | 36:6f452777b9ce | 100 | |
adambakerwa | 36:6f452777b9ce | 101 | #endif |