Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Mon May 06 14:28:35 2019 +0000
Revision:
83:329da564799a
Parent:
81:4c1641e10dcd
Child:
97:819c0689efa7
Now, I have put gamepad and lcd objects from the main() in a pointer, so that i can declare them in init() in every class i use them in and use them as global objects for each class, without having to send their addresses to all of the functions.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 9:d1d79d4ee673 1 #ifndef SNAKEFOOD_H
AhmedPlaymaker 9:d1d79d4ee673 2 #define SNAKEFOOD_H
AhmedPlaymaker 9:d1d79d4ee673 3
AhmedPlaymaker 9:d1d79d4ee673 4 #include "mbed.h"
AhmedPlaymaker 9:d1d79d4ee673 5 #include "N5110.h"
AhmedPlaymaker 9:d1d79d4ee673 6 #include "Gamepad.h"
AhmedPlaymaker 9:d1d79d4ee673 7
AhmedPlaymaker 9:d1d79d4ee673 8
AhmedPlaymaker 9:d1d79d4ee673 9 class SnakeFood
AhmedPlaymaker 9:d1d79d4ee673 10 {
AhmedPlaymaker 9:d1d79d4ee673 11 public:
AhmedPlaymaker 9:d1d79d4ee673 12 SnakeFood();
AhmedPlaymaker 9:d1d79d4ee673 13 ~SnakeFood();
AhmedPlaymaker 9:d1d79d4ee673 14
AhmedPlaymaker 9:d1d79d4ee673 15 /** Initialise SnakeFood
AhmedPlaymaker 9:d1d79d4ee673 16 *
AhmedPlaymaker 9:d1d79d4ee673 17 * This function initialises the SnakeFood library.
AhmedPlaymaker 9:d1d79d4ee673 18 */
AhmedPlaymaker 83:329da564799a 19 void init(N5110 *lcd);
AhmedPlaymaker 9:d1d79d4ee673 20
AhmedPlaymaker 9:d1d79d4ee673 21 /** Draw
AhmedPlaymaker 9:d1d79d4ee673 22 *
AhmedPlaymaker 9:d1d79d4ee673 23 * This function draws the SnakeFood sprite onto the screen.
AhmedPlaymaker 9:d1d79d4ee673 24 */
AhmedPlaymaker 83:329da564799a 25 void draw();
AhmedPlaymaker 9:d1d79d4ee673 26
AhmedPlaymaker 9:d1d79d4ee673 27 /** Update
AhmedPlaymaker 9:d1d79d4ee673 28 *
AhmedPlaymaker 9:d1d79d4ee673 29 * This function updates the position of the SnakeFood as it moves down the screen.
AhmedPlaymaker 9:d1d79d4ee673 30 */
AhmedPlaymaker 9:d1d79d4ee673 31 void update();
AhmedPlaymaker 9:d1d79d4ee673 32
AhmedPlaymaker 9:d1d79d4ee673 33 /** Get Position
AhmedPlaymaker 9:d1d79d4ee673 34 *
AhmedPlaymaker 9:d1d79d4ee673 35 * This function obtains the coordinates of the top-left pixel in the SnakeFood sprite.
AhmedPlaymaker 9:d1d79d4ee673 36 */
AhmedPlaymaker 9:d1d79d4ee673 37 Vector2D get_pos();
AhmedPlaymaker 9:d1d79d4ee673 38
AhmedPlaymaker 9:d1d79d4ee673 39 /** Set Position
AhmedPlaymaker 9:d1d79d4ee673 40 *
AhmedPlaymaker 9:d1d79d4ee673 41 * This function is used to change the position of the sprite to specific coordinates when called.
AhmedPlaymaker 9:d1d79d4ee673 42 */
AhmedPlaymaker 9:d1d79d4ee673 43 void set_pos(Vector2D p);
AhmedPlaymaker 38:30e4e6191762 44 Vector2D velocity;
AhmedPlaymaker 9:d1d79d4ee673 45
AhmedPlaymaker 9:d1d79d4ee673 46 private:
AhmedPlaymaker 81:4c1641e10dcd 47 int reset;
AhmedPlaymaker 9:d1d79d4ee673 48 int _fx; //food x
AhmedPlaymaker 9:d1d79d4ee673 49 int _fy; //food y
AhmedPlaymaker 38:30e4e6191762 50 int _blockbuff;
AhmedPlaymaker 83:329da564799a 51
AhmedPlaymaker 83:329da564799a 52 //Pointer to the game pad object pad.
AhmedPlaymaker 83:329da564799a 53 Gamepad *_pad;
AhmedPlaymaker 83:329da564799a 54 //Pointer to the N5110 object lcd.
AhmedPlaymaker 83:329da564799a 55 N5110 *_lcd;
AhmedPlaymaker 9:d1d79d4ee673 56
AhmedPlaymaker 9:d1d79d4ee673 57 };
AhmedPlaymaker 9:d1d79d4ee673 58 #endif