![](/media/cache/profiles/LinkedIn_0NghoZJ.jpeg.50x50_q85.jpg)
Snake vs Block Game to be run upon K64F.
GameEngine/LengthManager/LengthManager.h@104:17040265b7b4, 2019-05-09 (annotated)
- Committer:
- AhmedPlaymaker
- Date:
- Thu May 09 14:52:19 2019 +0000
- Revision:
- 104:17040265b7b4
- Parent:
- 93:7f9c31ed5cab
Final Submission. I have read and agreed with Statement of Academic Integrity.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AhmedPlaymaker | 79:35cb65c52d25 | 1 | #ifndef LENGTHMANAGER_H |
AhmedPlaymaker | 79:35cb65c52d25 | 2 | #define LENGTHMANAGER_H |
AhmedPlaymaker | 79:35cb65c52d25 | 3 | |
AhmedPlaymaker | 79:35cb65c52d25 | 4 | #include "mbed.h" |
AhmedPlaymaker | 79:35cb65c52d25 | 5 | #include "N5110.h" |
AhmedPlaymaker | 79:35cb65c52d25 | 6 | #include "Gamepad.h" |
AhmedPlaymaker | 79:35cb65c52d25 | 7 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 8 | /** LengthManager Class |
AhmedPlaymaker | 93:7f9c31ed5cab | 9 | @brief This class calculates the length of the snake at every point during the game and can be used to set length values in other classes using _getLength(). |
AhmedPlaymaker | 93:7f9c31ed5cab | 10 | @author Ahmed N.Adamjee |
AhmedPlaymaker | 93:7f9c31ed5cab | 11 | @date 8th May 2019 |
AhmedPlaymaker | 93:7f9c31ed5cab | 12 | */ |
AhmedPlaymaker | 79:35cb65c52d25 | 13 | class LengthManager |
AhmedPlaymaker | 79:35cb65c52d25 | 14 | { |
AhmedPlaymaker | 79:35cb65c52d25 | 15 | public: |
AhmedPlaymaker | 93:7f9c31ed5cab | 16 | /** Constructor */ |
AhmedPlaymaker | 79:35cb65c52d25 | 17 | LengthManager(); |
AhmedPlaymaker | 93:7f9c31ed5cab | 18 | /** Destructor */ |
AhmedPlaymaker | 79:35cb65c52d25 | 19 | ~LengthManager(); |
AhmedPlaymaker | 79:35cb65c52d25 | 20 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 21 | /** |
AhmedPlaymaker | 93:7f9c31ed5cab | 22 | * @brief This function sets the initial length parameters and gets pointers of lcd and pad from int main() to be used privately in the entire class. |
AhmedPlaymaker | 93:7f9c31ed5cab | 23 | * @param N5110 *lcd @details pointer to the N5110 object in main, address of this pointer is saved to make availability to the entire class, without passing address to each function. |
AhmedPlaymaker | 93:7f9c31ed5cab | 24 | * @param Gamepad *pad @details pointer to the gamepad object in main, address of this pointer is saved to make availability to the entire class, without passing address to each function. |
AhmedPlaymaker | 93:7f9c31ed5cab | 25 | @code |
AhmedPlaymaker | 93:7f9c31ed5cab | 26 | _lcd = lcd; |
AhmedPlaymaker | 93:7f9c31ed5cab | 27 | _length = 4; |
AhmedPlaymaker | 93:7f9c31ed5cab | 28 | @endcode |
AhmedPlaymaker | 79:35cb65c52d25 | 29 | */ |
AhmedPlaymaker | 83:329da564799a | 30 | void init(N5110 *lcd); |
AhmedPlaymaker | 79:35cb65c52d25 | 31 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 32 | /** |
AhmedPlaymaker | 93:7f9c31ed5cab | 33 | * @brief This function decrements the length value by 1; |
AhmedPlaymaker | 93:7f9c31ed5cab | 34 | @code |
AhmedPlaymaker | 93:7f9c31ed5cab | 35 | _length -= 1; |
AhmedPlaymaker | 93:7f9c31ed5cab | 36 | @endcode |
AhmedPlaymaker | 79:35cb65c52d25 | 37 | */ |
AhmedPlaymaker | 79:35cb65c52d25 | 38 | void MinusLength(); |
AhmedPlaymaker | 79:35cb65c52d25 | 39 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 40 | /** |
AhmedPlaymaker | 93:7f9c31ed5cab | 41 | * @brief This function increments the length by one. |
AhmedPlaymaker | 93:7f9c31ed5cab | 42 | @code |
AhmedPlaymaker | 93:7f9c31ed5cab | 43 | _length += 1; |
AhmedPlaymaker | 93:7f9c31ed5cab | 44 | @endcode |
AhmedPlaymaker | 79:35cb65c52d25 | 45 | */ |
AhmedPlaymaker | 79:35cb65c52d25 | 46 | void PlusLength(); |
AhmedPlaymaker | 79:35cb65c52d25 | 47 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 48 | /** |
AhmedPlaymaker | 93:7f9c31ed5cab | 49 | * @brief This function prints the length on top edge of screen. |
AhmedPlaymaker | 93:7f9c31ed5cab | 50 | @code |
AhmedPlaymaker | 93:7f9c31ed5cab | 51 | char bufferscore[14]; |
AhmedPlaymaker | 93:7f9c31ed5cab | 52 | sprintf(bufferscore,"%d",_length); |
AhmedPlaymaker | 93:7f9c31ed5cab | 53 | _lcd->printString(bufferscore,1,0); |
AhmedPlaymaker | 93:7f9c31ed5cab | 54 | @endcode |
AhmedPlaymaker | 79:35cb65c52d25 | 55 | */ |
AhmedPlaymaker | 83:329da564799a | 56 | void print_length_on_screen(); |
AhmedPlaymaker | 79:35cb65c52d25 | 57 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 58 | /** |
AhmedPlaymaker | 93:7f9c31ed5cab | 59 | * @brief This sends the current length value when called. |
AhmedPlaymaker | 93:7f9c31ed5cab | 60 | * @returns _length @details This is the length of the snake, which is passed back after any manipulation such as MinusLength() or PlusLength(). |
AhmedPlaymaker | 93:7f9c31ed5cab | 61 | @code |
AhmedPlaymaker | 93:7f9c31ed5cab | 62 | return _length; |
AhmedPlaymaker | 93:7f9c31ed5cab | 63 | @endcode |
AhmedPlaymaker | 79:35cb65c52d25 | 64 | */ |
AhmedPlaymaker | 79:35cb65c52d25 | 65 | int _getLength(); |
AhmedPlaymaker | 79:35cb65c52d25 | 66 | |
AhmedPlaymaker | 93:7f9c31ed5cab | 67 | /** |
AhmedPlaymaker | 93:7f9c31ed5cab | 68 | * @brief This function obtains the length value to be altered for a specific operation. |
AhmedPlaymaker | 93:7f9c31ed5cab | 69 | * @param length @details This is the length of the snake, which is recieved from the calling function to either initialise this or update this. |
AhmedPlaymaker | 93:7f9c31ed5cab | 70 | @code |
AhmedPlaymaker | 93:7f9c31ed5cab | 71 | _length = length; |
AhmedPlaymaker | 93:7f9c31ed5cab | 72 | @endcode |
AhmedPlaymaker | 79:35cb65c52d25 | 73 | */ |
AhmedPlaymaker | 79:35cb65c52d25 | 74 | void _setLength(int length); |
AhmedPlaymaker | 79:35cb65c52d25 | 75 | |
AhmedPlaymaker | 79:35cb65c52d25 | 76 | private: |
AhmedPlaymaker | 79:35cb65c52d25 | 77 | int _length; |
AhmedPlaymaker | 83:329da564799a | 78 | //Pointer to the game pad object pad. |
AhmedPlaymaker | 83:329da564799a | 79 | Gamepad *_pad; |
AhmedPlaymaker | 83:329da564799a | 80 | //Pointer to the N5110 object lcd. |
AhmedPlaymaker | 83:329da564799a | 81 | N5110 *_lcd; |
AhmedPlaymaker | 79:35cb65c52d25 | 82 | |
AhmedPlaymaker | 79:35cb65c52d25 | 83 | }; |
AhmedPlaymaker | 79:35cb65c52d25 | 84 | #endif |