Final Submission. I have read and agreed with Statement of Academic Integrity.
Dependencies: mbed Gamepad N5110 Joystick
Snake/Snake.h@10:aedca0082855, 2019-05-09 (annotated)
- Committer:
- el16dlc
- Date:
- Thu May 09 13:52:41 2019 +0000
- Revision:
- 10:aedca0082855
- Parent:
- 4:0fc3441556e1
Final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el16dlc | 1:b9f3b7d869d8 | 1 | #ifndef SNAKE_H |
el16dlc | 1:b9f3b7d869d8 | 2 | #define SNAKE_H |
el16dlc | 1:b9f3b7d869d8 | 3 | |
el16dlc | 1:b9f3b7d869d8 | 4 | #include "mbed.h" |
el16dlc | 1:b9f3b7d869d8 | 5 | #include "N5110.h" |
el16dlc | 1:b9f3b7d869d8 | 6 | #include "Gamepad.h" |
el16dlc | 1:b9f3b7d869d8 | 7 | |
el16dlc | 10:aedca0082855 | 8 | /** Snake Class |
el16dlc | 10:aedca0082855 | 9 | * @brief The class for drawing snake and determining snake position for snake game |
el16dlc | 10:aedca0082855 | 10 | * @author Daniel Crockford 201039580 |
el16dlc | 10:aedca0082855 | 11 | * @date 09 May 2019 |
el16dlc | 10:aedca0082855 | 12 | */ |
el16dlc | 1:b9f3b7d869d8 | 13 | class Snake { |
el16dlc | 1:b9f3b7d869d8 | 14 | |
el16dlc | 1:b9f3b7d869d8 | 15 | public: |
el16dlc | 10:aedca0082855 | 16 | /** Constructor */ |
el16dlc | 1:b9f3b7d869d8 | 17 | Snake(); |
el16dlc | 1:b9f3b7d869d8 | 18 | |
el16dlc | 10:aedca0082855 | 19 | /** Deconstructor */ |
el16dlc | 1:b9f3b7d869d8 | 20 | ~Snake(); |
el16dlc | 1:b9f3b7d869d8 | 21 | |
el16dlc | 10:aedca0082855 | 22 | /** initialise snake */ |
el16dlc | 1:b9f3b7d869d8 | 23 | void init(); |
el16dlc | 10:aedca0082855 | 24 | |
el16dlc | 10:aedca0082855 | 25 | /** draw the snake head |
el16dlc | 10:aedca0082855 | 26 | * @param N5110 class for controlling the lcd screen */ |
el16dlc | 1:b9f3b7d869d8 | 27 | void draw_head(N5110 &lcd); |
el16dlc | 10:aedca0082855 | 28 | |
el16dlc | 10:aedca0082855 | 29 | /** allows snake horizontal position to be set from outside |
el16dlc | 10:aedca0082855 | 30 | * @param value between 0 and 80 */ |
el16dlc | 10:aedca0082855 | 31 | void set_snake_posX(int snake_posX); |
el16dlc | 10:aedca0082855 | 32 | |
el16dlc | 10:aedca0082855 | 33 | /** allows snake vertical position to be set from outside |
el16dlc | 10:aedca0082855 | 34 | * @param value between 0 and 44 */ |
el16dlc | 2:0bd6711eae26 | 35 | void set_snake_posY(int snake_posY); |
el16dlc | 10:aedca0082855 | 36 | |
el16dlc | 10:aedca0082855 | 37 | /** get snake horizontal position */ |
el16dlc | 10:aedca0082855 | 38 | int get_snake_posX(); |
el16dlc | 10:aedca0082855 | 39 | |
el16dlc | 10:aedca0082855 | 40 | /** get snake vertical position*/ |
el16dlc | 2:0bd6711eae26 | 41 | int get_snake_posY(); |
el16dlc | 10:aedca0082855 | 42 | |
el16dlc | 10:aedca0082855 | 43 | /** draw food |
el16dlc | 10:aedca0082855 | 44 | * @param N5110 class for controlling the lcd screen*/ |
el16dlc | 3:660de4311976 | 45 | void draw_food(N5110 &lcd); |
el16dlc | 10:aedca0082855 | 46 | |
el16dlc | 10:aedca0082855 | 47 | /** allows food horizontal position to be set from outside |
el16dlc | 10:aedca0082855 | 48 | * @param value between 4 and 80 */ |
el16dlc | 10:aedca0082855 | 49 | void set_food_posX(int food_posX); |
el16dlc | 10:aedca0082855 | 50 | |
el16dlc | 10:aedca0082855 | 51 | /** allows food vertical position to be set from outside |
el16dlc | 10:aedca0082855 | 52 | * @param value between 4 and 40 */ |
el16dlc | 3:660de4311976 | 53 | void set_food_posY(int food_posY); |
el16dlc | 10:aedca0082855 | 54 | |
el16dlc | 10:aedca0082855 | 55 | /** get snake food horizontal position */ |
el16dlc | 10:aedca0082855 | 56 | int get_food_posX(); |
el16dlc | 10:aedca0082855 | 57 | |
el16dlc | 10:aedca0082855 | 58 | /** get food vertical position */ |
el16dlc | 3:660de4311976 | 59 | int get_food_posY(); |
el16dlc | 1:b9f3b7d869d8 | 60 | |
el16dlc | 1:b9f3b7d869d8 | 61 | private: |
el16dlc | 1:b9f3b7d869d8 | 62 | int _snake_posX; |
el16dlc | 1:b9f3b7d869d8 | 63 | int _snake_posY; |
el16dlc | 3:660de4311976 | 64 | int _food_posX; |
el16dlc | 3:660de4311976 | 65 | int _food_posY; |
el16dlc | 1:b9f3b7d869d8 | 66 | }; |
el16dlc | 1:b9f3b7d869d8 | 67 | #endif |
el16dlc | 1:b9f3b7d869d8 | 68 |