Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Mon Apr 08 05:57:04 2019 +0000
Revision:
18:b391caa5754c
Parent:
17:54e13faeaf64
Child:
19:05cc9f801468
Dont know if this is the best way? but this makes the game easier to operate near the edges but makes the snake look distorted

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 17:54e13faeaf64 27 int draw(Gamepad &pad, 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 18:b391caa5754c 33 void update(Direction d,float mag,int length, int speed, int* b0_to_b14);
AhmedPlaymaker 18:b391caa5754c 34
AhmedPlaymaker 18:b391caa5754c 35 /** Set Position
AhmedPlaymaker 18:b391caa5754c 36 *
AhmedPlaymaker 18:b391caa5754c 37 * This function is used to change the position of the snake sprites to specific coordinates when called.
AhmedPlaymaker 18:b391caa5754c 38 */
AhmedPlaymaker 18:b391caa5754c 39 void set_pos(Vector2D s);
AhmedPlaymaker 7:48ba87cd79b5 40
AhmedPlaymaker 7:48ba87cd79b5 41 /** Get Position
AhmedPlaymaker 7:48ba87cd79b5 42 *
AhmedPlaymaker 9:d1d79d4ee673 43 * This function obtains the coordinate of the top-left pixel in the Snake sprite.
AhmedPlaymaker 7:48ba87cd79b5 44 */
AhmedPlaymaker 9:d1d79d4ee673 45 Vector2D get_pos(int length);
AhmedPlaymaker 13:9785f2404045 46 Vector2D get_pos_before1(int length);
AhmedPlaymaker 13:9785f2404045 47 Vector2D get_pos_before2(int length);
AhmedPlaymaker 13:9785f2404045 48 Vector2D get_pos_before3(int length);
AhmedPlaymaker 13:9785f2404045 49 Vector2D get_pos_before4(int length);
AhmedPlaymaker 13:9785f2404045 50 Vector2D get_pos_before5(int length);
AhmedPlaymaker 13:9785f2404045 51 Vector2D get_pos_before6(int length);
AhmedPlaymaker 13:9785f2404045 52 Vector2D get_pos_before7(int length);
AhmedPlaymaker 13:9785f2404045 53 Vector2D get_pos_before8(int length);
AhmedPlaymaker 13:9785f2404045 54 Vector2D get_pos_before9(int length);
AhmedPlaymaker 13:9785f2404045 55 Vector2D get_pos_before10(int length);
AhmedPlaymaker 13:9785f2404045 56 Vector2D get_pos_before11(int length);
AhmedPlaymaker 13:9785f2404045 57 Vector2D get_pos_before12(int length);
AhmedPlaymaker 13:9785f2404045 58 Vector2D get_pos_before13(int length);
AhmedPlaymaker 13:9785f2404045 59 Vector2D get_pos_before14(int length);
AhmedPlaymaker 7:48ba87cd79b5 60
AhmedPlaymaker 13:9785f2404045 61 int m;
AhmedPlaymaker 18:b391caa5754c 62 int b0;
AhmedPlaymaker 18:b391caa5754c 63 int b1;
AhmedPlaymaker 18:b391caa5754c 64 int b2;
AhmedPlaymaker 18:b391caa5754c 65 int b3;
AhmedPlaymaker 18:b391caa5754c 66 int b4;
AhmedPlaymaker 18:b391caa5754c 67 int b5;
AhmedPlaymaker 18:b391caa5754c 68 int b6;
AhmedPlaymaker 18:b391caa5754c 69 int b7;
AhmedPlaymaker 18:b391caa5754c 70 int b8;
AhmedPlaymaker 18:b391caa5754c 71 int b9;
AhmedPlaymaker 18:b391caa5754c 72 int b10;
AhmedPlaymaker 18:b391caa5754c 73 int b11;
AhmedPlaymaker 18:b391caa5754c 74 int b12;
AhmedPlaymaker 18:b391caa5754c 75 int b13;
AhmedPlaymaker 18:b391caa5754c 76 int b14;
AhmedPlaymaker 7:48ba87cd79b5 77 private:
AhmedPlaymaker 13:9785f2404045 78 int _speed;
AhmedPlaymaker 7:48ba87cd79b5 79 int _x;
AhmedPlaymaker 8:890b986b16a4 80 int _xa;
AhmedPlaymaker 8:890b986b16a4 81 int _xb;
AhmedPlaymaker 8:890b986b16a4 82 int _xc;
AhmedPlaymaker 8:890b986b16a4 83 int _xd;
AhmedPlaymaker 8:890b986b16a4 84 int _xe;
AhmedPlaymaker 8:890b986b16a4 85 int _xf ;
AhmedPlaymaker 8:890b986b16a4 86 int _xg;
AhmedPlaymaker 8:890b986b16a4 87 int _xh;
AhmedPlaymaker 8:890b986b16a4 88 int _xi;
AhmedPlaymaker 8:890b986b16a4 89 int _xj;
AhmedPlaymaker 8:890b986b16a4 90 int _xk;
AhmedPlaymaker 8:890b986b16a4 91 int _xl;
AhmedPlaymaker 8:890b986b16a4 92 int _xm;
AhmedPlaymaker 8:890b986b16a4 93 int _xn;
AhmedPlaymaker 7:48ba87cd79b5 94 int _y;
AhmedPlaymaker 13:9785f2404045 95 int _ya;
AhmedPlaymaker 13:9785f2404045 96 int _yb;
AhmedPlaymaker 13:9785f2404045 97 int _yc;
AhmedPlaymaker 13:9785f2404045 98 int _yd;
AhmedPlaymaker 13:9785f2404045 99 int _ye;
AhmedPlaymaker 13:9785f2404045 100 int _yf ;
AhmedPlaymaker 13:9785f2404045 101 int _yg;
AhmedPlaymaker 13:9785f2404045 102 int _yh;
AhmedPlaymaker 13:9785f2404045 103 int _yi;
AhmedPlaymaker 13:9785f2404045 104 int _yj;
AhmedPlaymaker 13:9785f2404045 105 int _yk;
AhmedPlaymaker 13:9785f2404045 106 int _yl;
AhmedPlaymaker 13:9785f2404045 107 int _ym;
AhmedPlaymaker 13:9785f2404045 108 int _yn;
AhmedPlaymaker 7:48ba87cd79b5 109
AhmedPlaymaker 7:48ba87cd79b5 110 };
AhmedPlaymaker 7:48ba87cd79b5 111 #endif