Projectile Library

Committer:
ll14c4p
Date:
Tue May 02 09:43:19 2017 +0000
Revision:
3:70c599d9f191
Parent:
2:b079859c59ba
Child:
4:977109f7b9f6
Actually spawns now, just need to make it spawn on player sprite location.

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 3:70c599d9f191 15 void Projectile::init()
ll14c4p 1:2aee0cb1ebf9 16 {
ll14c4p 1:2aee0cb1ebf9 17 //Make intial position of projectile = centre of player
ll14c4p 3:70c599d9f191 18
ll14c4p 1:2aee0cb1ebf9 19 }
ll14c4p 1:2aee0cb1ebf9 20
ll14c4p 3:70c599d9f191 21
ll14c4p 3:70c599d9f191 22
ll14c4p 1:2aee0cb1ebf9 23 void Projectile::draw(N5110 &lcd)
ll14c4p 3:70c599d9f191 24 {
ll14c4p 3:70c599d9f191 25 _velocity.x = 0;
ll14c4p 3:70c599d9f191 26 _velocity.y = -4;
ll14c4p 3:70c599d9f191 27
ll14c4p 3:70c599d9f191 28
ll14c4p 3:70c599d9f191 29
ll14c4p 3:70c599d9f191 30 if(_x <= -1){
ll14c4p 3:70c599d9f191 31 m = 0;
ll14c4p 3:70c599d9f191 32 }
ll14c4p 3:70c599d9f191 33 if(_x >= 85){
ll14c4p 3:70c599d9f191 34 m = 0;
ll14c4p 3:70c599d9f191 35 }
ll14c4p 3:70c599d9f191 36 if(_y <= -1){
ll14c4p 3:70c599d9f191 37 m = 0;
ll14c4p 3:70c599d9f191 38 }
ll14c4p 3:70c599d9f191 39 if(_y >= 49){
ll14c4p 3:70c599d9f191 40 m = 0;
ll14c4p 3:70c599d9f191 41 }
ll14c4p 3:70c599d9f191 42
ll14c4p 3:70c599d9f191 43
ll14c4p 3:70c599d9f191 44
ll14c4p 3:70c599d9f191 45 if(m == 0){
ll14c4p 3:70c599d9f191 46 _x = WIDTH/2; // Middle of screen // Change these values to change starting position
ll14c4p 3:70c599d9f191 47 _y = HEIGHT/2; // Near bottom of screen
ll14c4p 3:70c599d9f191 48 m = m+1;
ll14c4p 3:70c599d9f191 49 }
ll14c4p 3:70c599d9f191 50 lcd.drawRect(_x,_y,1,1,FILL_BLACK);
ll14c4p 3:70c599d9f191 51 printf("projdrawn %d %d \n", _x, _y);
ll14c4p 3:70c599d9f191 52 printf("playerpos in proj = %d %d \n", playerx, playery);
ll14c4p 3:70c599d9f191 53
ll14c4p 1:2aee0cb1ebf9 54 }
ll14c4p 1:2aee0cb1ebf9 55
ll14c4p 1:2aee0cb1ebf9 56 void Projectile::update()
ll14c4p 1:2aee0cb1ebf9 57 {
ll14c4p 1:2aee0cb1ebf9 58 _x += _velocity.x;
ll14c4p 1:2aee0cb1ebf9 59 _y += _velocity.y;
ll14c4p 1:2aee0cb1ebf9 60 }
ll14c4p 1:2aee0cb1ebf9 61
ll14c4p 1:2aee0cb1ebf9 62 void Projectile::set_velocity(Vector2D v)
ll14c4p 1:2aee0cb1ebf9 63 {
ll14c4p 3:70c599d9f191 64 _velocity.x = v.x;
ll14c4p 3:70c599d9f191 65 _velocity.y = v.y;
ll14c4p 1:2aee0cb1ebf9 66 }
ll14c4p 1:2aee0cb1ebf9 67
ll14c4p 1:2aee0cb1ebf9 68 Vector2D Projectile::get_velocity()
ll14c4p 1:2aee0cb1ebf9 69 {
ll14c4p 1:2aee0cb1ebf9 70 Vector2D v = {_velocity.x,_velocity.y};
ll14c4p 1:2aee0cb1ebf9 71 return v;
ll14c4p 1:2aee0cb1ebf9 72 }
ll14c4p 1:2aee0cb1ebf9 73
ll14c4p 1:2aee0cb1ebf9 74 Vector2D Projectile::get_pos()
ll14c4p 1:2aee0cb1ebf9 75 {
ll14c4p 3:70c599d9f191 76 Vector2D projpos = {_x,_y};
ll14c4p 3:70c599d9f191 77 printf("projpos = %f %f \n", projpos.x, projpos.y);
ll14c4p 3:70c599d9f191 78 return projpos;
ll14c4p 0:6914458c54cd 79 }