Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Wed Apr 03 17:51:19 2019 +0000
Revision:
13:9785f2404045
Parent:
9:d1d79d4ee673
Child:
16:7b474f873683
Tried to make the snake such that it does not go through the blocks once it is sideways, succeeded mostly but still has some minor glitches in doing so

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 7:48ba87cd79b5 1 #ifndef Snake_H
AhmedPlaymaker 7:48ba87cd79b5 2 #define Snake_H
AhmedPlaymaker 7:48ba87cd79b5 3
AhmedPlaymaker 7:48ba87cd79b5 4 #include "mbed.h"
AhmedPlaymaker 7:48ba87cd79b5 5 #include "N5110.h"
AhmedPlaymaker 7:48ba87cd79b5 6 #include "Gamepad.h"
AhmedPlaymaker 7:48ba87cd79b5 7
AhmedPlaymaker 7:48ba87cd79b5 8
AhmedPlaymaker 7:48ba87cd79b5 9 class Snake
AhmedPlaymaker 7:48ba87cd79b5 10 {
AhmedPlaymaker 7:48ba87cd79b5 11 public:
AhmedPlaymaker 7:48ba87cd79b5 12
AhmedPlaymaker 7:48ba87cd79b5 13
AhmedPlaymaker 7:48ba87cd79b5 14 Snake();
AhmedPlaymaker 7:48ba87cd79b5 15 ~Snake();
AhmedPlaymaker 7:48ba87cd79b5 16
AhmedPlaymaker 9:d1d79d4ee673 17 /** Initialise Snake
AhmedPlaymaker 7:48ba87cd79b5 18 *
AhmedPlaymaker 9:d1d79d4ee673 19 * This function initalises the Snake library.
AhmedPlaymaker 7:48ba87cd79b5 20 */
AhmedPlaymaker 7:48ba87cd79b5 21 void init();
AhmedPlaymaker 7:48ba87cd79b5 22
AhmedPlaymaker 7:48ba87cd79b5 23 /** Draw
AhmedPlaymaker 7:48ba87cd79b5 24 *
AhmedPlaymaker 9:d1d79d4ee673 25 * This function draws the Snake sprite onto the screen at the specified coordinates.
AhmedPlaymaker 7:48ba87cd79b5 26 */
AhmedPlaymaker 8:890b986b16a4 27 void draw(N5110 &lcd, int length);
AhmedPlaymaker 7:48ba87cd79b5 28
AhmedPlaymaker 7:48ba87cd79b5 29 /** Update
AhmedPlaymaker 7:48ba87cd79b5 30 *
AhmedPlaymaker 9:d1d79d4ee673 31 * This function updates the Snake sprite position on screen.
AhmedPlaymaker 7:48ba87cd79b5 32 */
AhmedPlaymaker 13:9785f2404045 33 void update(Direction d,float mag,int length, int speed);
AhmedPlaymaker 7:48ba87cd79b5 34
AhmedPlaymaker 7:48ba87cd79b5 35 /** Get Position
AhmedPlaymaker 7:48ba87cd79b5 36 *
AhmedPlaymaker 9:d1d79d4ee673 37 * This function obtains the coordinate of the top-left pixel in the Snake sprite.
AhmedPlaymaker 7:48ba87cd79b5 38 */
AhmedPlaymaker 9:d1d79d4ee673 39 Vector2D get_pos(int length);
AhmedPlaymaker 13:9785f2404045 40 Vector2D get_pos_before1(int length);
AhmedPlaymaker 13:9785f2404045 41 Vector2D get_pos_before2(int length);
AhmedPlaymaker 13:9785f2404045 42 Vector2D get_pos_before3(int length);
AhmedPlaymaker 13:9785f2404045 43 Vector2D get_pos_before4(int length);
AhmedPlaymaker 13:9785f2404045 44 Vector2D get_pos_before5(int length);
AhmedPlaymaker 13:9785f2404045 45 Vector2D get_pos_before6(int length);
AhmedPlaymaker 13:9785f2404045 46 Vector2D get_pos_before7(int length);
AhmedPlaymaker 13:9785f2404045 47 Vector2D get_pos_before8(int length);
AhmedPlaymaker 13:9785f2404045 48 Vector2D get_pos_before9(int length);
AhmedPlaymaker 13:9785f2404045 49 Vector2D get_pos_before10(int length);
AhmedPlaymaker 13:9785f2404045 50 Vector2D get_pos_before11(int length);
AhmedPlaymaker 13:9785f2404045 51 Vector2D get_pos_before12(int length);
AhmedPlaymaker 13:9785f2404045 52 Vector2D get_pos_before13(int length);
AhmedPlaymaker 13:9785f2404045 53 Vector2D get_pos_before14(int length);
AhmedPlaymaker 13:9785f2404045 54 Vector2D get_pos_before15(int length);
AhmedPlaymaker 7:48ba87cd79b5 55
AhmedPlaymaker 13:9785f2404045 56 int m;
AhmedPlaymaker 7:48ba87cd79b5 57 private:
AhmedPlaymaker 13:9785f2404045 58 int _speed;
AhmedPlaymaker 7:48ba87cd79b5 59 int _x;
AhmedPlaymaker 8:890b986b16a4 60 int _xa;
AhmedPlaymaker 8:890b986b16a4 61 int _xb;
AhmedPlaymaker 8:890b986b16a4 62 int _xc;
AhmedPlaymaker 8:890b986b16a4 63 int _xd;
AhmedPlaymaker 8:890b986b16a4 64 int _xe;
AhmedPlaymaker 8:890b986b16a4 65 int _xf ;
AhmedPlaymaker 8:890b986b16a4 66 int _xg;
AhmedPlaymaker 8:890b986b16a4 67 int _xh;
AhmedPlaymaker 8:890b986b16a4 68 int _xi;
AhmedPlaymaker 8:890b986b16a4 69 int _xj;
AhmedPlaymaker 8:890b986b16a4 70 int _xk;
AhmedPlaymaker 8:890b986b16a4 71 int _xl;
AhmedPlaymaker 8:890b986b16a4 72 int _xm;
AhmedPlaymaker 8:890b986b16a4 73 int _xn;
AhmedPlaymaker 7:48ba87cd79b5 74 int _y;
AhmedPlaymaker 13:9785f2404045 75 int _ya;
AhmedPlaymaker 13:9785f2404045 76 int _yb;
AhmedPlaymaker 13:9785f2404045 77 int _yc;
AhmedPlaymaker 13:9785f2404045 78 int _yd;
AhmedPlaymaker 13:9785f2404045 79 int _ye;
AhmedPlaymaker 13:9785f2404045 80 int _yf ;
AhmedPlaymaker 13:9785f2404045 81 int _yg;
AhmedPlaymaker 13:9785f2404045 82 int _yh;
AhmedPlaymaker 13:9785f2404045 83 int _yi;
AhmedPlaymaker 13:9785f2404045 84 int _yj;
AhmedPlaymaker 13:9785f2404045 85 int _yk;
AhmedPlaymaker 13:9785f2404045 86 int _yl;
AhmedPlaymaker 13:9785f2404045 87 int _ym;
AhmedPlaymaker 13:9785f2404045 88 int _yn;
AhmedPlaymaker 7:48ba87cd79b5 89
AhmedPlaymaker 7:48ba87cd79b5 90 };
AhmedPlaymaker 7:48ba87cd79b5 91 #endif