Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Tue Apr 02 17:06:22 2019 +0000
Revision:
12:1e601b176437
Parent:
10:751bd953fa27
Child:
13:9785f2404045
Completed the snake and block collision function, the blocks decrease in number as the snake collides while the snake decreases in length

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 12:1e601b176437 52 int blocknum;
AhmedPlaymaker 12:1e601b176437 53 int srn;
AhmedPlaymaker 12:1e601b176437 54 int send; //makes sure that the block number is only updated when send is activated.
AhmedPlaymaker 12:1e601b176437 55 //int memory; //this remembers the previous y pos of the block.
AhmedPlaymaker 12:1e601b176437 56 //int blocknumt; // this is also a memeory number to make sure length doesnt't keep decreasing by itself
AhmedPlaymaker 7:48ba87cd79b5 57
AhmedPlaymaker 7:48ba87cd79b5 58 private:
AhmedPlaymaker 7:48ba87cd79b5 59
AhmedPlaymaker 7:48ba87cd79b5 60 Snake _s;
AhmedPlaymaker 9:d1d79d4ee673 61 SnakeFood _f;
AhmedPlaymaker 9:d1d79d4ee673 62 SnakeFood _ff;
AhmedPlaymaker 9:d1d79d4ee673 63 SnakeFood _fff;
AhmedPlaymaker 10:751bd953fa27 64 Blocks _b;
AhmedPlaymaker 7:48ba87cd79b5 65 int _speed;
AhmedPlaymaker 7:48ba87cd79b5 66 Direction _d;
AhmedPlaymaker 7:48ba87cd79b5 67 float _mag;
AhmedPlaymaker 7:48ba87cd79b5 68 int n;
AhmedPlaymaker 7:48ba87cd79b5 69
AhmedPlaymaker 9:d1d79d4ee673 70 /** Check for Snake and Food collision
AhmedPlaymaker 9:d1d79d4ee673 71 *
AhmedPlaymaker 9:d1d79d4ee673 72 * This function checks if the Snake has come into contact with it's food.
AhmedPlaymaker 9:d1d79d4ee673 73 */
AhmedPlaymaker 9:d1d79d4ee673 74 void CheckSnakeFoodCollision(Gamepad &pad);
AhmedPlaymaker 9:d1d79d4ee673 75
AhmedPlaymaker 12:1e601b176437 76 /** Check for Snake and Block collision
AhmedPlaymaker 12:1e601b176437 77 *
AhmedPlaymaker 12:1e601b176437 78 * This function checks if the Snake has come into contact with any Block.
AhmedPlaymaker 12:1e601b176437 79 */
AhmedPlaymaker 12:1e601b176437 80 void CheckSnakeBlockCollision(Gamepad &pad);
AhmedPlaymaker 7:48ba87cd79b5 81 };
AhmedPlaymaker 7:48ba87cd79b5 82 #endif