Ahmed Adamjee / Mbed 2 deprecated SnakeVSBlock

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Tue Apr 09 05:32:54 2019 +0000
Revision:
20:1e6338403427
Parent:
19:05cc9f801468
Child:
21:e41126528cc6
Made initial levels easier and made a fun transition between levels

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 20:1e6338403427 27 int draw(Gamepad &pad, N5110 &lcd, int length, int level);
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