Ahmed Adamjee
/
SnakeVSBlock
Snake vs Block Game to be run upon K64F.
GameObjects/Barriers/Barriers.cpp@81:4c1641e10dcd, 2019-05-06 (annotated)
- 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?
User | Revision | Line number | New 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 | } |