Projectile Library

Committer:
ll14c4p
Date:
Wed May 03 13:32:42 2017 +0000
Revision:
7:50b6d2c95156
Parent:
6:70b35ebfa8c8
Child:
8:36610092060f
Updated Projectile Size

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ll14c4p 0:6914458c54cd 1 #include "Projectile.h"
ll14c4p 1:2aee0cb1ebf9 2 #include "Player.h"
ll14c4p 0:6914458c54cd 3
ll14c4p 0:6914458c54cd 4 Projectile::Projectile()
ll14c4p 0:6914458c54cd 5 {
ll14c4p 0:6914458c54cd 6
ll14c4p 0:6914458c54cd 7 }
ll14c4p 0:6914458c54cd 8
ll14c4p 0:6914458c54cd 9 Projectile::~Projectile()
ll14c4p 0:6914458c54cd 10 {
ll14c4p 0:6914458c54cd 11
ll14c4p 1:2aee0cb1ebf9 12 }
ll14c4p 1:2aee0cb1ebf9 13
ll14c4p 3:70c599d9f191 14
ll14c4p 4:977109f7b9f6 15 void Projectile::init(int playerx, int playery)
ll14c4p 1:2aee0cb1ebf9 16 {
ll14c4p 6:70b35ebfa8c8 17 //printf("playerxy proj = %d %d \n", playerx, playery);
ll14c4p 4:977109f7b9f6 18 _playerx = playerx;
ll14c4p 4:977109f7b9f6 19 _playery = playery;
ll14c4p 1:2aee0cb1ebf9 20 //Make intial position of projectile = centre of player
ll14c4p 3:70c599d9f191 21
ll14c4p 1:2aee0cb1ebf9 22 }
ll14c4p 1:2aee0cb1ebf9 23
ll14c4p 3:70c599d9f191 24
ll14c4p 3:70c599d9f191 25
ll14c4p 1:2aee0cb1ebf9 26 void Projectile::draw(N5110 &lcd)
ll14c4p 3:70c599d9f191 27 {
ll14c4p 3:70c599d9f191 28 _velocity.x = 0;
ll14c4p 6:70b35ebfa8c8 29 _velocity.y = -5;
ll14c4p 3:70c599d9f191 30
ll14c4p 4:977109f7b9f6 31
ll14c4p 6:70b35ebfa8c8 32 //printf("playerxy projdraw = %d %d \n", _playerx, _playery);
ll14c4p 3:70c599d9f191 33
ll14c4p 3:70c599d9f191 34
ll14c4p 7:50b6d2c95156 35
ll14c4p 3:70c599d9f191 36 if(_y <= -1){
ll14c4p 3:70c599d9f191 37 m = 0;
ll14c4p 3:70c599d9f191 38 }
ll14c4p 7:50b6d2c95156 39
ll14c4p 3:70c599d9f191 40
ll14c4p 3:70c599d9f191 41
ll14c4p 3:70c599d9f191 42
ll14c4p 3:70c599d9f191 43 if(m == 0){
ll14c4p 7:50b6d2c95156 44 _x = _playerx +2; // Middle of screen // Change these values to change starting position
ll14c4p 7:50b6d2c95156 45 _y = _playery; // Near bottom of screen
ll14c4p 3:70c599d9f191 46 m = m+1;
ll14c4p 3:70c599d9f191 47 }
ll14c4p 7:50b6d2c95156 48 lcd.drawRect(_x,_y,2,2,FILL_BLACK);
ll14c4p 6:70b35ebfa8c8 49 //printf("projdrawn %d %d \n", _x, _y);
ll14c4p 4:977109f7b9f6 50 //printf("playerpos in proj = %d %d \n", playerx, playery);
ll14c4p 3:70c599d9f191 51
ll14c4p 1:2aee0cb1ebf9 52 }
ll14c4p 1:2aee0cb1ebf9 53
ll14c4p 1:2aee0cb1ebf9 54 void Projectile::update()
ll14c4p 1:2aee0cb1ebf9 55 {
ll14c4p 1:2aee0cb1ebf9 56 _x += _velocity.x;
ll14c4p 1:2aee0cb1ebf9 57 _y += _velocity.y;
ll14c4p 1:2aee0cb1ebf9 58 }
ll14c4p 1:2aee0cb1ebf9 59
ll14c4p 1:2aee0cb1ebf9 60 void Projectile::set_velocity(Vector2D v)
ll14c4p 1:2aee0cb1ebf9 61 {
ll14c4p 3:70c599d9f191 62 _velocity.x = v.x;
ll14c4p 3:70c599d9f191 63 _velocity.y = v.y;
ll14c4p 1:2aee0cb1ebf9 64 }
ll14c4p 1:2aee0cb1ebf9 65
ll14c4p 1:2aee0cb1ebf9 66 Vector2D Projectile::get_velocity()
ll14c4p 1:2aee0cb1ebf9 67 {
ll14c4p 1:2aee0cb1ebf9 68 Vector2D v = {_velocity.x,_velocity.y};
ll14c4p 1:2aee0cb1ebf9 69 return v;
ll14c4p 1:2aee0cb1ebf9 70 }
ll14c4p 1:2aee0cb1ebf9 71
ll14c4p 1:2aee0cb1ebf9 72 Vector2D Projectile::get_pos()
ll14c4p 1:2aee0cb1ebf9 73 {
ll14c4p 3:70c599d9f191 74 Vector2D projpos = {_x,_y};
ll14c4p 4:977109f7b9f6 75 //printf("projpos = %f %f \n", projpos.x, projpos.y);
ll14c4p 3:70c599d9f191 76 return projpos;
ll14c4p 6:70b35ebfa8c8 77 }
ll14c4p 6:70b35ebfa8c8 78
ll14c4p 6:70b35ebfa8c8 79 void Projectile::set_pos(Vector2D p)
ll14c4p 6:70b35ebfa8c8 80 {
ll14c4p 6:70b35ebfa8c8 81 _x = p.x;
ll14c4p 6:70b35ebfa8c8 82 _y = p.y;
ll14c4p 0:6914458c54cd 83 }