Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Mon Apr 08 16:46:14 2019 +0000
Revision:
19:05cc9f801468
Parent:
18:b391caa5754c
Child:
20:1e6338403427
made progressive levels slightly more difficult, will test on people later, have to print levels on screen after each progressive level.

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 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 7:48ba87cd79b5 54
AhmedPlaymaker 13:9785f2404045 55 int m;
AhmedPlaymaker 18:b391caa5754c 56 int b0;
AhmedPlaymaker 18:b391caa5754c 57 int b1;
AhmedPlaymaker 18:b391caa5754c 58 int b2;
AhmedPlaymaker 18:b391caa5754c 59 int b3;
AhmedPlaymaker 18:b391caa5754c 60 int b4;
AhmedPlaymaker 18:b391caa5754c 61 int b5;
AhmedPlaymaker 18:b391caa5754c 62 int b6;
AhmedPlaymaker 18:b391caa5754c 63 int b7;
AhmedPlaymaker 18:b391caa5754c 64 int b8;
AhmedPlaymaker 18:b391caa5754c 65 int b9;
AhmedPlaymaker 18:b391caa5754c 66 int b10;
AhmedPlaymaker 18:b391caa5754c 67 int b11;
AhmedPlaymaker 18:b391caa5754c 68 int b12;
AhmedPlaymaker 18:b391caa5754c 69 int b13;
AhmedPlaymaker 18:b391caa5754c 70 int b14;
AhmedPlaymaker 7:48ba87cd79b5 71 private:
AhmedPlaymaker 13:9785f2404045 72 int _speed;
AhmedPlaymaker 7:48ba87cd79b5 73 int _x;
AhmedPlaymaker 8:890b986b16a4 74 int _xa;
AhmedPlaymaker 8:890b986b16a4 75 int _xb;
AhmedPlaymaker 8:890b986b16a4 76 int _xc;
AhmedPlaymaker 8:890b986b16a4 77 int _xd;
AhmedPlaymaker 8:890b986b16a4 78 int _xe;
AhmedPlaymaker 8:890b986b16a4 79 int _xf ;
AhmedPlaymaker 8:890b986b16a4 80 int _xg;
AhmedPlaymaker 8:890b986b16a4 81 int _xh;
AhmedPlaymaker 8:890b986b16a4 82 int _xi;
AhmedPlaymaker 8:890b986b16a4 83 int _xj;
AhmedPlaymaker 8:890b986b16a4 84 int _xk;
AhmedPlaymaker 8:890b986b16a4 85 int _xl;
AhmedPlaymaker 8:890b986b16a4 86 int _xm;
AhmedPlaymaker 8:890b986b16a4 87 int _xn;
AhmedPlaymaker 7:48ba87cd79b5 88 int _y;
AhmedPlaymaker 13:9785f2404045 89 int _ya;
AhmedPlaymaker 13:9785f2404045 90 int _yb;
AhmedPlaymaker 13:9785f2404045 91 int _yc;
AhmedPlaymaker 13:9785f2404045 92 int _yd;
AhmedPlaymaker 13:9785f2404045 93 int _ye;
AhmedPlaymaker 13:9785f2404045 94 int _yf ;
AhmedPlaymaker 13:9785f2404045 95 int _yg;
AhmedPlaymaker 13:9785f2404045 96 int _yh;
AhmedPlaymaker 13:9785f2404045 97 int _yi;
AhmedPlaymaker 13:9785f2404045 98 int _yj;
AhmedPlaymaker 13:9785f2404045 99 int _yk;
AhmedPlaymaker 13:9785f2404045 100 int _yl;
AhmedPlaymaker 13:9785f2404045 101 int _ym;
AhmedPlaymaker 13:9785f2404045 102 int _yn;
AhmedPlaymaker 7:48ba87cd79b5 103
AhmedPlaymaker 7:48ba87cd79b5 104 };
AhmedPlaymaker 7:48ba87cd79b5 105 #endif