Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Mon May 06 09:05:09 2019 +0000
Revision:
81:4c1641e10dcd
Child:
82:c51ae8a501d1
Made Some Barriers, not sure about them tough

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 81:4c1641e10dcd 1 #include "Barriers.h"
AhmedPlaymaker 81:4c1641e10dcd 2
AhmedPlaymaker 81:4c1641e10dcd 3 Barriers::Barriers()
AhmedPlaymaker 81:4c1641e10dcd 4 {
AhmedPlaymaker 81:4c1641e10dcd 5
AhmedPlaymaker 81:4c1641e10dcd 6 }
AhmedPlaymaker 81:4c1641e10dcd 7
AhmedPlaymaker 81:4c1641e10dcd 8 Barriers::~Barriers()
AhmedPlaymaker 81:4c1641e10dcd 9 {
AhmedPlaymaker 81:4c1641e10dcd 10
AhmedPlaymaker 81:4c1641e10dcd 11 }
AhmedPlaymaker 81:4c1641e10dcd 12
AhmedPlaymaker 81:4c1641e10dcd 13 //Brrier Sprite.
AhmedPlaymaker 81:4c1641e10dcd 14 int Barrier[22][1] = {
AhmedPlaymaker 81:4c1641e10dcd 15 {1},
AhmedPlaymaker 81:4c1641e10dcd 16 {1},
AhmedPlaymaker 81:4c1641e10dcd 17 {1},
AhmedPlaymaker 81:4c1641e10dcd 18 {1},
AhmedPlaymaker 81:4c1641e10dcd 19 {1},
AhmedPlaymaker 81:4c1641e10dcd 20 {1},
AhmedPlaymaker 81:4c1641e10dcd 21 {1},
AhmedPlaymaker 81:4c1641e10dcd 22 {1},
AhmedPlaymaker 81:4c1641e10dcd 23 {1},
AhmedPlaymaker 81:4c1641e10dcd 24 {1},
AhmedPlaymaker 81:4c1641e10dcd 25 {1},
AhmedPlaymaker 81:4c1641e10dcd 26 {1},
AhmedPlaymaker 81:4c1641e10dcd 27 {1},
AhmedPlaymaker 81:4c1641e10dcd 28 {1},
AhmedPlaymaker 81:4c1641e10dcd 29 {1},
AhmedPlaymaker 81:4c1641e10dcd 30 {1},
AhmedPlaymaker 81:4c1641e10dcd 31 {1},
AhmedPlaymaker 81:4c1641e10dcd 32 {1},
AhmedPlaymaker 81:4c1641e10dcd 33 {1},
AhmedPlaymaker 81:4c1641e10dcd 34 {1},
AhmedPlaymaker 81:4c1641e10dcd 35 {1},
AhmedPlaymaker 81:4c1641e10dcd 36 {1},
AhmedPlaymaker 81:4c1641e10dcd 37 };
AhmedPlaymaker 81:4c1641e10dcd 38 void Barriers::init()
AhmedPlaymaker 81:4c1641e10dcd 39 {
AhmedPlaymaker 81:4c1641e10dcd 40 reset = 0;
AhmedPlaymaker 81:4c1641e10dcd 41 }
AhmedPlaymaker 81:4c1641e10dcd 42
AhmedPlaymaker 81:4c1641e10dcd 43
AhmedPlaymaker 81:4c1641e10dcd 44 void Barriers::draw(N5110 &lcd, int b_y)
AhmedPlaymaker 81:4c1641e10dcd 45 {
AhmedPlaymaker 81:4c1641e10dcd 46 velocity.x = 0;
AhmedPlaymaker 81:4c1641e10dcd 47 velocity.y = 1;
AhmedPlaymaker 81:4c1641e10dcd 48
AhmedPlaymaker 81:4c1641e10dcd 49 if((reset == 0)&&((b_y < (_blockgap-11))||(b_y > -8))){
AhmedPlaymaker 81:4c1641e10dcd 50 _barx = rand()%82; //this makes the barrier pop up at a random, unspecified location in the x axis.
AhmedPlaymaker 81:4c1641e10dcd 51 _bary = -22;
AhmedPlaymaker 81:4c1641e10dcd 52 reset = reset+1; //to stop this if function to keep executing.
AhmedPlaymaker 81:4c1641e10dcd 53 }
AhmedPlaymaker 81:4c1641e10dcd 54 lcd.drawSprite(_barx,_bary,22,1,(int *)Barrier); //Function to draw the frame at all i coordinates as x.
AhmedPlaymaker 81:4c1641e10dcd 55
AhmedPlaymaker 81:4c1641e10dcd 56 }
AhmedPlaymaker 81:4c1641e10dcd 57
AhmedPlaymaker 81:4c1641e10dcd 58 Vector2D Barriers::get_pos() //Obtains the X and Y coordinate of the target.
AhmedPlaymaker 81:4c1641e10dcd 59 {
AhmedPlaymaker 81:4c1641e10dcd 60 Vector2D barrierpos = {_barx,_bary};
AhmedPlaymaker 81:4c1641e10dcd 61 //printf("barrierpos is = %f %f \n", barrierpos.x, barrierpos.y);
AhmedPlaymaker 81:4c1641e10dcd 62 return barrierpos;
AhmedPlaymaker 81:4c1641e10dcd 63 }
AhmedPlaymaker 81:4c1641e10dcd 64
AhmedPlaymaker 81:4c1641e10dcd 65 void Barriers::update(int blockgap)
AhmedPlaymaker 81:4c1641e10dcd 66 {
AhmedPlaymaker 81:4c1641e10dcd 67 _blockgap = blockgap;
AhmedPlaymaker 81:4c1641e10dcd 68 _barriergap = _blockgap/3;
AhmedPlaymaker 81:4c1641e10dcd 69 if (_blockgap <= 60) { _barriergap = 60; }
AhmedPlaymaker 81:4c1641e10dcd 70 // this if function makes sure the block appears at the rate of blockgap.
AhmedPlaymaker 81:4c1641e10dcd 71 if(_bary >= _barriergap){
AhmedPlaymaker 81:4c1641e10dcd 72 reset = 0;
AhmedPlaymaker 81:4c1641e10dcd 73 }
AhmedPlaymaker 81:4c1641e10dcd 74 _barx += velocity.x;
AhmedPlaymaker 81:4c1641e10dcd 75 _bary += velocity.y;
AhmedPlaymaker 81:4c1641e10dcd 76
AhmedPlaymaker 81:4c1641e10dcd 77 }
AhmedPlaymaker 81:4c1641e10dcd 78
AhmedPlaymaker 81:4c1641e10dcd 79
AhmedPlaymaker 81:4c1641e10dcd 80 void Barriers::set_pos(Vector2D p)
AhmedPlaymaker 81:4c1641e10dcd 81 {
AhmedPlaymaker 81:4c1641e10dcd 82 _barx = p.x;
AhmedPlaymaker 81:4c1641e10dcd 83 _bary = p.y;
AhmedPlaymaker 81:4c1641e10dcd 84 }