ELEC2645 (2018/19) / Mbed 2 deprecated fy14lkaa

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Sun May 05 13:05:57 2019 +0000
Revision:
100:b0e9c067d80a
Child:
126:c63c5ad39f73
change file's name of bullet.cpp to Bullet.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 100:b0e9c067d80a 1 #include "Bullet.h"
fy14lkaa 100:b0e9c067d80a 2
fy14lkaa 100:b0e9c067d80a 3
fy14lkaa 100:b0e9c067d80a 4 bullet::bullet()
fy14lkaa 100:b0e9c067d80a 5 {
fy14lkaa 100:b0e9c067d80a 6
fy14lkaa 100:b0e9c067d80a 7 }
fy14lkaa 100:b0e9c067d80a 8
fy14lkaa 100:b0e9c067d80a 9 bullet::~bullet()
fy14lkaa 100:b0e9c067d80a 10 {
fy14lkaa 100:b0e9c067d80a 11
fy14lkaa 100:b0e9c067d80a 12 }
fy14lkaa 100:b0e9c067d80a 13
fy14lkaa 100:b0e9c067d80a 14
fy14lkaa 100:b0e9c067d80a 15
fy14lkaa 100:b0e9c067d80a 16 const int bullet[4][10] = {
fy14lkaa 100:b0e9c067d80a 17 { 0,0,0,0,0,1,1,1,0,0 },
fy14lkaa 100:b0e9c067d80a 18 { 0,0,0,0,0,1,1,1,0,0 },
fy14lkaa 100:b0e9c067d80a 19 { 0,0,0,1,1,1,1,0,0,0 },
fy14lkaa 100:b0e9c067d80a 20 { 0,0,1,1,1,1,0,1,0,0 },
fy14lkaa 100:b0e9c067d80a 21 };
fy14lkaa 100:b0e9c067d80a 22
fy14lkaa 100:b0e9c067d80a 23
fy14lkaa 100:b0e9c067d80a 24
fy14lkaa 100:b0e9c067d80a 25
fy14lkaa 100:b0e9c067d80a 26 void bullet::init(int size,int speed)
fy14lkaa 100:b0e9c067d80a 27 {
fy14lkaa 100:b0e9c067d80a 28
fy14lkaa 100:b0e9c067d80a 29
fy14lkaa 100:b0e9c067d80a 30 srand(time(NULL));
fy14lkaa 100:b0e9c067d80a 31 int direction = rand() % 4; // randomise initial direction.
fy14lkaa 100:b0e9c067d80a 32
fy14lkaa 100:b0e9c067d80a 33 // 4 possibilities. Get random modulo and set velocities accordingly
fy14lkaa 100:b0e9c067d80a 34 if (direction == 0) {
fy14lkaa 100:b0e9c067d80a 35 _velocity.x = speed;
fy14lkaa 100:b0e9c067d80a 36 _velocity.y = speed;
fy14lkaa 100:b0e9c067d80a 37 } else if (direction == 1) {
fy14lkaa 100:b0e9c067d80a 38 _velocity.x = speed;
fy14lkaa 100:b0e9c067d80a 39 _velocity.y = -speed;
fy14lkaa 100:b0e9c067d80a 40 } else if (direction == 2) {
fy14lkaa 100:b0e9c067d80a 41 _velocity.x = speed;
fy14lkaa 100:b0e9c067d80a 42 _velocity.y = speed;
fy14lkaa 100:b0e9c067d80a 43 } else {
fy14lkaa 100:b0e9c067d80a 44 _velocity.x = -speed;
fy14lkaa 100:b0e9c067d80a 45 _velocity.y = -speed;
fy14lkaa 100:b0e9c067d80a 46 }
fy14lkaa 100:b0e9c067d80a 47
fy14lkaa 100:b0e9c067d80a 48
fy14lkaa 100:b0e9c067d80a 49
fy14lkaa 100:b0e9c067d80a 50 }
fy14lkaa 100:b0e9c067d80a 51
fy14lkaa 100:b0e9c067d80a 52
fy14lkaa 100:b0e9c067d80a 53 void bullet::draw(N5110 &lcd)
fy14lkaa 100:b0e9c067d80a 54 {
fy14lkaa 100:b0e9c067d80a 55 lcd.drawSprite(x_bullet,y_bullet,4,10,(int *)bullet);
fy14lkaa 100:b0e9c067d80a 56
fy14lkaa 100:b0e9c067d80a 57 }
fy14lkaa 100:b0e9c067d80a 58
fy14lkaa 100:b0e9c067d80a 59 void bullet::update()
fy14lkaa 100:b0e9c067d80a 60 {
fy14lkaa 100:b0e9c067d80a 61 _x += _velocity.x;
fy14lkaa 100:b0e9c067d80a 62 _y += _velocity.y;
fy14lkaa 100:b0e9c067d80a 63 }
fy14lkaa 100:b0e9c067d80a 64
fy14lkaa 100:b0e9c067d80a 65
fy14lkaa 100:b0e9c067d80a 66 void bullet::set_velocity(Vector2D v)
fy14lkaa 100:b0e9c067d80a 67 {
fy14lkaa 100:b0e9c067d80a 68 _velocity.x = v.x;
fy14lkaa 100:b0e9c067d80a 69 _velocity.y = v.y;
fy14lkaa 100:b0e9c067d80a 70 }
fy14lkaa 100:b0e9c067d80a 71
fy14lkaa 100:b0e9c067d80a 72 Vector2D bullet::get_velocity()
fy14lkaa 100:b0e9c067d80a 73 {
fy14lkaa 100:b0e9c067d80a 74 Vector2D v = {_velocity.x,_velocity.y};
fy14lkaa 100:b0e9c067d80a 75 return v;
fy14lkaa 100:b0e9c067d80a 76 }
fy14lkaa 100:b0e9c067d80a 77
fy14lkaa 100:b0e9c067d80a 78 Vector2D bullet::get_pos()
fy14lkaa 100:b0e9c067d80a 79 {
fy14lkaa 100:b0e9c067d80a 80 Vector2D p = {_x,_y};
fy14lkaa 100:b0e9c067d80a 81 return p;
fy14lkaa 100:b0e9c067d80a 82 }