Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Sat Mar 30 17:09:18 2019 +0000
Revision:
10:751bd953fa27
Parent:
9:d1d79d4ee673
Child:
12:1e601b176437
Can now draw blocks and generate random numbers in them, they can be seen on screen, the next step is creating collision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 7:48ba87cd79b5 1 #ifndef SNAKEVSBLOCK_H
AhmedPlaymaker 7:48ba87cd79b5 2 #define SNAKEVSBLOCK_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 #include "Snake.h"
AhmedPlaymaker 9:d1d79d4ee673 8 #include "SnakeFood.h"
AhmedPlaymaker 10:751bd953fa27 9 #include "Blocks.h"
AhmedPlaymaker 7:48ba87cd79b5 10
AhmedPlaymaker 7:48ba87cd79b5 11 class SnakevsBlock
AhmedPlaymaker 7:48ba87cd79b5 12 {
AhmedPlaymaker 7:48ba87cd79b5 13 public:
AhmedPlaymaker 7:48ba87cd79b5 14 SnakevsBlock();
AhmedPlaymaker 7:48ba87cd79b5 15 ~SnakevsBlock();
AhmedPlaymaker 7:48ba87cd79b5 16
AhmedPlaymaker 7:48ba87cd79b5 17 /** Initialise Game Machine
AhmedPlaymaker 7:48ba87cd79b5 18 *
AhmedPlaymaker 7:48ba87cd79b5 19 * This function initialises the game machine.
AhmedPlaymaker 7:48ba87cd79b5 20 */
AhmedPlaymaker 7:48ba87cd79b5 21 void init( );
AhmedPlaymaker 7:48ba87cd79b5 22
AhmedPlaymaker 7:48ba87cd79b5 23 /** Read Input
AhmedPlaymaker 7:48ba87cd79b5 24 *
AhmedPlaymaker 7:48ba87cd79b5 25 * This function obtains numeric data from the gamepads joystick.
AhmedPlaymaker 7:48ba87cd79b5 26 */
AhmedPlaymaker 7:48ba87cd79b5 27 void read_input(Gamepad &pad);
AhmedPlaymaker 7:48ba87cd79b5 28
AhmedPlaymaker 7:48ba87cd79b5 29 /** Update
AhmedPlaymaker 7:48ba87cd79b5 30 *
AhmedPlaymaker 7:48ba87cd79b5 31 * This function contains the update functions of the other libraries used in the game.
AhmedPlaymaker 7:48ba87cd79b5 32 */
AhmedPlaymaker 7:48ba87cd79b5 33 void update(Gamepad &pad);
AhmedPlaymaker 7:48ba87cd79b5 34
AhmedPlaymaker 7:48ba87cd79b5 35 /** Draw
AhmedPlaymaker 7:48ba87cd79b5 36 *
AhmedPlaymaker 7:48ba87cd79b5 37 * This function contains the draw functions of the other libraries used in the game.
AhmedPlaymaker 7:48ba87cd79b5 38 */
AhmedPlaymaker 7:48ba87cd79b5 39 void draw(N5110 &lcd, Gamepad &pad);
AhmedPlaymaker 7:48ba87cd79b5 40
AhmedPlaymaker 7:48ba87cd79b5 41 /** Get Position
AhmedPlaymaker 7:48ba87cd79b5 42 *
AhmedPlaymaker 7:48ba87cd79b5 43 * This function contains the Get Position functions of the otehr libraries used in the game.
AhmedPlaymaker 7:48ba87cd79b5 44 */
AhmedPlaymaker 7:48ba87cd79b5 45 void get_pos();
AhmedPlaymaker 7:48ba87cd79b5 46
AhmedPlaymaker 7:48ba87cd79b5 47
AhmedPlaymaker 7:48ba87cd79b5 48 int snakex;
AhmedPlaymaker 7:48ba87cd79b5 49 int snakey;
AhmedPlaymaker 7:48ba87cd79b5 50 int length;
AhmedPlaymaker 9:d1d79d4ee673 51 int foodbuff; //this makes food 1,2,and 3 come at seperate times
AhmedPlaymaker 7:48ba87cd79b5 52
AhmedPlaymaker 7:48ba87cd79b5 53 private:
AhmedPlaymaker 7:48ba87cd79b5 54
AhmedPlaymaker 7:48ba87cd79b5 55 Snake _s;
AhmedPlaymaker 9:d1d79d4ee673 56 SnakeFood _f;
AhmedPlaymaker 9:d1d79d4ee673 57 SnakeFood _ff;
AhmedPlaymaker 9:d1d79d4ee673 58 SnakeFood _fff;
AhmedPlaymaker 10:751bd953fa27 59 Blocks _b;
AhmedPlaymaker 7:48ba87cd79b5 60 int _speed;
AhmedPlaymaker 7:48ba87cd79b5 61 Direction _d;
AhmedPlaymaker 7:48ba87cd79b5 62 float _mag;
AhmedPlaymaker 7:48ba87cd79b5 63 int n;
AhmedPlaymaker 7:48ba87cd79b5 64
AhmedPlaymaker 9:d1d79d4ee673 65 /** Check for Snake and Food collision
AhmedPlaymaker 9:d1d79d4ee673 66 *
AhmedPlaymaker 9:d1d79d4ee673 67 * This function checks if the Snake has come into contact with it's food.
AhmedPlaymaker 9:d1d79d4ee673 68 */
AhmedPlaymaker 9:d1d79d4ee673 69 void CheckSnakeFoodCollision(Gamepad &pad);
AhmedPlaymaker 9:d1d79d4ee673 70
AhmedPlaymaker 7:48ba87cd79b5 71 };
AhmedPlaymaker 7:48ba87cd79b5 72 #endif