![](/media/cache/profiles/LinkedIn_0NghoZJ.jpeg.50x50_q85.jpg)
Snake vs Block Game to be run upon K64F.
MenuClasses/StartScreen/StartScreen.h@49:441c32f6603e, 2019-04-26 (annotated)
- Committer:
- AhmedPlaymaker
- Date:
- Fri Apr 26 17:16:22 2019 +0000
- Revision:
- 49:441c32f6603e
- Parent:
- 43:233f93860d08
- Child:
- 56:142e9fdb77a8
Fixed multiple issues with menu code, the show credits still needs some work
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AhmedPlaymaker | 3:fbb1fa853f09 | 1 | #ifndef StartScreen_H |
AhmedPlaymaker | 3:fbb1fa853f09 | 2 | #define StartScreen_H |
AhmedPlaymaker | 3:fbb1fa853f09 | 3 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 4 | #include "mbed.h" |
AhmedPlaymaker | 3:fbb1fa853f09 | 5 | #include "N5110.h" |
AhmedPlaymaker | 3:fbb1fa853f09 | 6 | #include "Gamepad.h" |
AhmedPlaymaker | 5:e4df87957a5b | 7 | #include "Settings.h" |
AhmedPlaymaker | 33:249cf423fb18 | 8 | #include "Stats.h" |
AhmedPlaymaker | 33:249cf423fb18 | 9 | #include "SDFileSystem.h" |
AhmedPlaymaker | 3:fbb1fa853f09 | 10 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 11 | class StartScreen |
AhmedPlaymaker | 3:fbb1fa853f09 | 12 | { |
AhmedPlaymaker | 3:fbb1fa853f09 | 13 | public: |
AhmedPlaymaker | 3:fbb1fa853f09 | 14 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 15 | StartScreen(); |
AhmedPlaymaker | 30:461231877c89 | 16 | ~StartScreen() |
AhmedPlaymaker | 30:461231877c89 | 17 | ; |
AhmedPlaymaker | 3:fbb1fa853f09 | 18 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 19 | /** Initialise StartScreen |
AhmedPlaymaker | 3:fbb1fa853f09 | 20 | * |
AhmedPlaymaker | 3:fbb1fa853f09 | 21 | * This function initialises the Game Interface and restarts the display. |
AhmedPlaymaker | 3:fbb1fa853f09 | 22 | */ |
AhmedPlaymaker | 33:249cf423fb18 | 23 | void init(); |
AhmedPlaymaker | 3:fbb1fa853f09 | 24 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 25 | /** Draw |
AhmedPlaymaker | 3:fbb1fa853f09 | 26 | * |
AhmedPlaymaker | 3:fbb1fa853f09 | 27 | * This function draws the Sprite onto the screen. |
AhmedPlaymaker | 3:fbb1fa853f09 | 28 | */ |
AhmedPlaymaker | 33:249cf423fb18 | 29 | void screen_saver(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 3:fbb1fa853f09 | 30 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 31 | /** Instruct |
AhmedPlaymaker | 3:fbb1fa853f09 | 32 | * |
AhmedPlaymaker | 3:fbb1fa853f09 | 33 | * This function updates the user about how to progress after the game banner has been displayed.. |
AhmedPlaymaker | 3:fbb1fa853f09 | 34 | */ |
AhmedPlaymaker | 33:249cf423fb18 | 35 | void instruct(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 3:fbb1fa853f09 | 36 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 37 | /** Display userID |
AhmedPlaymaker | 3:fbb1fa853f09 | 38 | * |
AhmedPlaymaker | 3:fbb1fa853f09 | 39 | * This function shows who the author of the game is before showing the menu screen. |
AhmedPlaymaker | 3:fbb1fa853f09 | 40 | */ |
AhmedPlaymaker | 49:441c32f6603e | 41 | void credits(N5110 &lcd); |
AhmedPlaymaker | 49:441c32f6603e | 42 | |
AhmedPlaymaker | 49:441c32f6603e | 43 | /** Read Stats |
AhmedPlaymaker | 49:441c32f6603e | 44 | * |
AhmedPlaymaker | 49:441c32f6603e | 45 | * This function just reads the current top level stored in the sd card and saves it for displaying in the menu. |
AhmedPlaymaker | 49:441c32f6603e | 46 | */ |
AhmedPlaymaker | 49:441c32f6603e | 47 | void read_stats(SDFileSystem &sd); |
AhmedPlaymaker | 3:fbb1fa853f09 | 48 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 49 | /** The First Menu Screen |
AhmedPlaymaker | 3:fbb1fa853f09 | 50 | * |
AhmedPlaymaker | 3:fbb1fa853f09 | 51 | * This function obtains the user input on how they want to progress. |
AhmedPlaymaker | 3:fbb1fa853f09 | 52 | */ |
AhmedPlaymaker | 49:441c32f6603e | 53 | void main_menu(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 30:461231877c89 | 54 | |
AhmedPlaymaker | 30:461231877c89 | 55 | /** Displaying The First Menu Screen |
AhmedPlaymaker | 30:461231877c89 | 56 | * |
AhmedPlaymaker | 30:461231877c89 | 57 | * This function just displays Menu Screen 1 contents. |
AhmedPlaymaker | 30:461231877c89 | 58 | */ |
AhmedPlaymaker | 34:89f53ffc81bb | 59 | void DisplayMMContents(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 34:89f53ffc81bb | 60 | |
AhmedPlaymaker | 34:89f53ffc81bb | 61 | /** Implementing The First Menu Screen |
AhmedPlaymaker | 34:89f53ffc81bb | 62 | * |
AhmedPlaymaker | 34:89f53ffc81bb | 63 | * This function just implements the things decided in main menu. |
AhmedPlaymaker | 34:89f53ffc81bb | 64 | */ |
AhmedPlaymaker | 49:441c32f6603e | 65 | void ImplementMM(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 33:249cf423fb18 | 66 | |
AhmedPlaymaker | 4:1fe015b66bb8 | 67 | /** The Second Menu Screen |
AhmedPlaymaker | 4:1fe015b66bb8 | 68 | * |
AhmedPlaymaker | 4:1fe015b66bb8 | 69 | * This function obtains the user input on the game type they would like to play. |
AhmedPlaymaker | 4:1fe015b66bb8 | 70 | */ |
AhmedPlaymaker | 49:441c32f6603e | 71 | void game_mode(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 4:1fe015b66bb8 | 72 | |
AhmedPlaymaker | 42:973bb6036f81 | 73 | /** Implementing GM |
AhmedPlaymaker | 42:973bb6036f81 | 74 | * |
AhmedPlaymaker | 42:973bb6036f81 | 75 | * This function just decides what has to selected in the next iteration. |
AhmedPlaymaker | 42:973bb6036f81 | 76 | */ |
AhmedPlaymaker | 42:973bb6036f81 | 77 | void ImplementGM(Gamepad &pad); |
AhmedPlaymaker | 42:973bb6036f81 | 78 | |
AhmedPlaymaker | 34:89f53ffc81bb | 79 | /** Displaying GAME mode Contents |
AhmedPlaymaker | 34:89f53ffc81bb | 80 | * |
AhmedPlaymaker | 34:89f53ffc81bb | 81 | * This function just displays game_mode contents. |
AhmedPlaymaker | 34:89f53ffc81bb | 82 | */ |
AhmedPlaymaker | 42:973bb6036f81 | 83 | void DisplayGMContents(N5110 &lcd); |
AhmedPlaymaker | 34:89f53ffc81bb | 84 | |
AhmedPlaymaker | 4:1fe015b66bb8 | 85 | /** The Third Menu Screen |
AhmedPlaymaker | 4:1fe015b66bb8 | 86 | * |
AhmedPlaymaker | 4:1fe015b66bb8 | 87 | * This function obtains the user input on the game speed that suits them. |
AhmedPlaymaker | 4:1fe015b66bb8 | 88 | */ |
AhmedPlaymaker | 49:441c32f6603e | 89 | void game_speed(N5110 &lcd, Gamepad &pad); |
AhmedPlaymaker | 33:249cf423fb18 | 90 | |
AhmedPlaymaker | 35:ce47cde57bd3 | 91 | /** Implementing GS |
AhmedPlaymaker | 35:ce47cde57bd3 | 92 | * |
AhmedPlaymaker | 35:ce47cde57bd3 | 93 | * This function just decides what has to be done next. |
AhmedPlaymaker | 35:ce47cde57bd3 | 94 | */ |
AhmedPlaymaker | 42:973bb6036f81 | 95 | void ImplementGS(Gamepad &pad); |
AhmedPlaymaker | 35:ce47cde57bd3 | 96 | |
AhmedPlaymaker | 35:ce47cde57bd3 | 97 | /** Displaying GAME speed Contents |
AhmedPlaymaker | 35:ce47cde57bd3 | 98 | * |
AhmedPlaymaker | 35:ce47cde57bd3 | 99 | * This function just displays game_speed contents. |
AhmedPlaymaker | 35:ce47cde57bd3 | 100 | */ |
AhmedPlaymaker | 42:973bb6036f81 | 101 | void DisplayGSContents(N5110 &lcd); |
AhmedPlaymaker | 35:ce47cde57bd3 | 102 | |
AhmedPlaymaker | 16:7b474f873683 | 103 | |
AhmedPlaymaker | 16:7b474f873683 | 104 | int fps; // this sends over the game speed |
AhmedPlaymaker | 30:461231877c89 | 105 | int i; |
AhmedPlaymaker | 30:461231877c89 | 106 | int lr; |
AhmedPlaymaker | 38:30e4e6191762 | 107 | int gs; |
AhmedPlaymaker | 39:210ac915e0a0 | 108 | int g_mode; //this helps to select between joystick and motion control. |
AhmedPlaymaker | 30:461231877c89 | 109 | int st; |
AhmedPlaymaker | 30:461231877c89 | 110 | int sc; |
AhmedPlaymaker | 30:461231877c89 | 111 | float cs; |
AhmedPlaymaker | 34:89f53ffc81bb | 112 | int back_pressed; //remembers if back is pressed. |
AhmedPlaymaker | 33:249cf423fb18 | 113 | |
AhmedPlaymaker | 33:249cf423fb18 | 114 | private: |
AhmedPlaymaker | 33:249cf423fb18 | 115 | int _level; |
AhmedPlaymaker | 33:249cf423fb18 | 116 | Stats _stats; |
AhmedPlaymaker | 3:fbb1fa853f09 | 117 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 118 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 119 | |
AhmedPlaymaker | 3:fbb1fa853f09 | 120 | }; |
AhmedPlaymaker | 3:fbb1fa853f09 | 121 | #endif |