Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Fri Apr 26 18:30:25 2019 +0000
Revision:
51:387249f9b333
Parent:
Snake/Snake.h@41:4edac50f010d
Child:
53:527cf297b088
Sorted my game classes into folders to make it more organized

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 41:4edac50f010d 27 void 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 41:4edac50f010d 33 void update(Direction d, int* b);
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 41:4edac50f010d 39 Vector2D get_pos();
AhmedPlaymaker 41:4edac50f010d 40 Vector2D get_pos_before1();
AhmedPlaymaker 41:4edac50f010d 41 Vector2D get_pos_before2();
AhmedPlaymaker 41:4edac50f010d 42 Vector2D get_pos_before3();
AhmedPlaymaker 41:4edac50f010d 43 Vector2D get_pos_before4();
AhmedPlaymaker 41:4edac50f010d 44 Vector2D get_pos_before5();
AhmedPlaymaker 41:4edac50f010d 45 Vector2D get_pos_before6();
AhmedPlaymaker 41:4edac50f010d 46 Vector2D get_pos_before7();
AhmedPlaymaker 41:4edac50f010d 47 Vector2D get_pos_before8();
AhmedPlaymaker 41:4edac50f010d 48 Vector2D get_pos_before9();
AhmedPlaymaker 13:9785f2404045 49 int m;
AhmedPlaymaker 25:e827f1a8fadc 50 int b[15]; //each element in this array represents the beed number in the snake.
AhmedPlaymaker 41:4edac50f010d 51
AhmedPlaymaker 7:48ba87cd79b5 52 private:
AhmedPlaymaker 25:e827f1a8fadc 53 int _speed; //this is the speed of the snake flowing in the x axis.
AhmedPlaymaker 25:e827f1a8fadc 54 int _x[15]; //each element in this array represents the x position of each beed in the snake.
AhmedPlaymaker 25:e827f1a8fadc 55 int _y[15]; //each element in this array represents the y position of each beed in the snake.
AhmedPlaymaker 37:ee47699915b8 56 int _length;
AhmedPlaymaker 7:48ba87cd79b5 57
AhmedPlaymaker 7:48ba87cd79b5 58 };
AhmedPlaymaker 7:48ba87cd79b5 59 #endif