Final Commit

Dependencies:   mbed

Committer:
JRM1986
Date:
Tue Apr 03 12:24:18 2018 +0000
Revision:
9:561e5681b7a6
Parent:
3:50f01159c61d
Child:
10:62d8cb7742c3
Functions to set and return direction of snake head, and position of snake head respectively done but not tested

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JRM1986 2:ea90cec2489a 1 #ifndef SNAKE_H
JRM1986 2:ea90cec2489a 2 #define SNAKE_H
JRM1986 2:ea90cec2489a 3
JRM1986 2:ea90cec2489a 4 #include "mbed.h"
JRM1986 3:50f01159c61d 5 #include "FXOS8700CQ.h"
JRM1986 3:50f01159c61d 6 #include "Gamepad.h"
JRM1986 2:ea90cec2489a 7 #include "N5110.h"
JRM1986 2:ea90cec2489a 8
JRM1986 9:561e5681b7a6 9 struct StateDirection {
JRM1986 9:561e5681b7a6 10
JRM1986 9:561e5681b7a6 11 Direction output;
JRM1986 9:561e5681b7a6 12 Direction nextState[4];
JRM1986 9:561e5681b7a6 13
JRM1986 9:561e5681b7a6 14 };
JRM1986 9:561e5681b7a6 15
JRM1986 9:561e5681b7a6 16
JRM1986 2:ea90cec2489a 17 /** Snake Class
JRM1986 1:c3fdbc4b1293 18 * @brief Describes the methods and functions for the snake
JRM1986 1:c3fdbc4b1293 19 * @author Joshua R. Marshall
JRM1986 1:c3fdbc4b1293 20 * @date Feb, 2018
JRM1986 2:ea90cec2489a 21 */
JRM1986 9:561e5681b7a6 22
JRM1986 2:ea90cec2489a 23 class Snake
JRM1986 2:ea90cec2489a 24 {
JRM1986 2:ea90cec2489a 25
JRM1986 2:ea90cec2489a 26 public:
JRM1986 9:561e5681b7a6 27
JRM1986 2:ea90cec2489a 28 Snake(); // constructor
JRM1986 2:ea90cec2489a 29 ~Snake(); // destructor
JRM1986 9:561e5681b7a6 30 void init();
JRM1986 9:561e5681b7a6 31 void update(Direction d);
JRM1986 9:561e5681b7a6 32 void draw(N5110 &lcd);
JRM1986 9:561e5681b7a6 33
JRM1986 9:561e5681b7a6 34 void set_snake_direction(Direction input);
JRM1986 9:561e5681b7a6 35 Direction get_snake_direction();
JRM1986 9:561e5681b7a6 36 void set_snake_position();
JRM1986 9:561e5681b7a6 37 Vector2D get_snake_position();
JRM1986 2:ea90cec2489a 38
JRM1986 2:ea90cec2489a 39 private:
JRM1986 9:561e5681b7a6 40
JRM1986 9:561e5681b7a6 41 Direction _direction;
JRM1986 9:561e5681b7a6 42 int _x;
JRM1986 9:561e5681b7a6 43 int _y;
JRM1986 9:561e5681b7a6 44
JRM1986 2:ea90cec2489a 45 };
JRM1986 2:ea90cec2489a 46 #endif