Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Tue Mar 26 14:45:15 2019 +0000
Revision:
7:48ba87cd79b5
Child:
8:890b986b16a4
Game screen created, snake class and snake vs block class also created.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 7:48ba87cd79b5 1 #include "SnakevsBlock.h"
AhmedPlaymaker 7:48ba87cd79b5 2
AhmedPlaymaker 7:48ba87cd79b5 3 SnakevsBlock::SnakevsBlock()
AhmedPlaymaker 7:48ba87cd79b5 4 {
AhmedPlaymaker 7:48ba87cd79b5 5
AhmedPlaymaker 7:48ba87cd79b5 6 }
AhmedPlaymaker 7:48ba87cd79b5 7
AhmedPlaymaker 7:48ba87cd79b5 8 SnakevsBlock::~SnakevsBlock()
AhmedPlaymaker 7:48ba87cd79b5 9 {
AhmedPlaymaker 7:48ba87cd79b5 10
AhmedPlaymaker 7:48ba87cd79b5 11 }
AhmedPlaymaker 7:48ba87cd79b5 12
AhmedPlaymaker 7:48ba87cd79b5 13 void SnakevsBlock::init()
AhmedPlaymaker 7:48ba87cd79b5 14 {
AhmedPlaymaker 7:48ba87cd79b5 15 //The snake length configuration and all the other initial information passing will be done here
AhmedPlaymaker 7:48ba87cd79b5 16 length=1;
AhmedPlaymaker 7:48ba87cd79b5 17
AhmedPlaymaker 7:48ba87cd79b5 18 }
AhmedPlaymaker 7:48ba87cd79b5 19
AhmedPlaymaker 7:48ba87cd79b5 20
AhmedPlaymaker 7:48ba87cd79b5 21
AhmedPlaymaker 7:48ba87cd79b5 22 void SnakevsBlock::read_input(Gamepad &pad)
AhmedPlaymaker 7:48ba87cd79b5 23 {
AhmedPlaymaker 7:48ba87cd79b5 24 _d = pad.get_direction(); //Obtains Direction pushed towards on Joystick.
AhmedPlaymaker 7:48ba87cd79b5 25 _mag = pad.get_mag(); //Obtains Magnitude of Joystick.
AhmedPlaymaker 7:48ba87cd79b5 26 }
AhmedPlaymaker 7:48ba87cd79b5 27
AhmedPlaymaker 7:48ba87cd79b5 28 void SnakevsBlock::draw(N5110 &lcd, Gamepad &pad)
AhmedPlaymaker 7:48ba87cd79b5 29 {
AhmedPlaymaker 7:48ba87cd79b5 30 _s.draw(lcd); //Draws the Snake.
AhmedPlaymaker 7:48ba87cd79b5 31
AhmedPlaymaker 7:48ba87cd79b5 32 //Code to print length on game screen.
AhmedPlaymaker 7:48ba87cd79b5 33 char bufferscore[14];
AhmedPlaymaker 7:48ba87cd79b5 34 sprintf(bufferscore,"%d",length);
AhmedPlaymaker 7:48ba87cd79b5 35 lcd.printString(bufferscore,1,0);
AhmedPlaymaker 7:48ba87cd79b5 36
AhmedPlaymaker 7:48ba87cd79b5 37 if(pad.check_event(Gamepad::BACK_PRESSED)){ //Waits for Back button to be pressed.
AhmedPlaymaker 7:48ba87cd79b5 38
AhmedPlaymaker 7:48ba87cd79b5 39 NVIC_SystemReset(); //Software Reset.
AhmedPlaymaker 7:48ba87cd79b5 40
AhmedPlaymaker 7:48ba87cd79b5 41 }
AhmedPlaymaker 7:48ba87cd79b5 42
AhmedPlaymaker 7:48ba87cd79b5 43
AhmedPlaymaker 7:48ba87cd79b5 44 }
AhmedPlaymaker 7:48ba87cd79b5 45
AhmedPlaymaker 7:48ba87cd79b5 46
AhmedPlaymaker 7:48ba87cd79b5 47 void SnakevsBlock::update(Gamepad &pad) //Updates objects on screen.
AhmedPlaymaker 7:48ba87cd79b5 48 {
AhmedPlaymaker 7:48ba87cd79b5 49 _s.update(_d,_mag);
AhmedPlaymaker 7:48ba87cd79b5 50 }
AhmedPlaymaker 7:48ba87cd79b5 51
AhmedPlaymaker 7:48ba87cd79b5 52 void SnakevsBlock::get_pos()
AhmedPlaymaker 7:48ba87cd79b5 53 {
AhmedPlaymaker 7:48ba87cd79b5 54 Vector2D snake_pos = _s.get_pos();
AhmedPlaymaker 7:48ba87cd79b5 55 //printf("player pos = %f %f \n", player_pos.x, player_pos.y); //top left of player sprite
AhmedPlaymaker 7:48ba87cd79b5 56 // 81.000000 0.000000 top right
AhmedPlaymaker 7:48ba87cd79b5 57 // 0.000000 0.000000 is top left
AhmedPlaymaker 7:48ba87cd79b5 58 // 81.000000 45.000000 bottom right
AhmedPlaymaker 7:48ba87cd79b5 59 snakex = snake_pos.x;
AhmedPlaymaker 7:48ba87cd79b5 60 snakey = snake_pos.y;
AhmedPlaymaker 7:48ba87cd79b5 61 //printf("snakexy in GAME = %d %d \n", snakex, snakey);
AhmedPlaymaker 7:48ba87cd79b5 62 }
AhmedPlaymaker 7:48ba87cd79b5 63
AhmedPlaymaker 7:48ba87cd79b5 64