Final Submission. I have read and agreed with Statement of Academic Integrity.

Dependencies:   mbed Gamepad N5110 Joystick

Committer:
el16dlc
Date:
Thu May 09 13:52:41 2019 +0000
Revision:
10:aedca0082855
Parent:
4:0fc3441556e1
Final

Who changed what in which revision?

UserRevisionLine numberNew 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