harry rance
/
Revised_Space_Invaders
Harry Rance 200925395 Embedded Systems Project
Bullet.cpp@2:50feb42b982c, 2017-04-26 (annotated)
- Committer:
- harryrance
- Date:
- Wed Apr 26 17:40:17 2017 +0000
- Revision:
- 2:50feb42b982c
- Parent:
- 1:95d7dd44bb0d
- Child:
- 3:43970d8d642e
Game engine complete. Boss fight implemented (very hard!) and end game screen characteristics change depending on whether you defeated the boss or the boss defeated you.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
harryrance | 1:95d7dd44bb0d | 1 | #include "Bullet.h" |
harryrance | 1:95d7dd44bb0d | 2 | |
harryrance | 1:95d7dd44bb0d | 3 | Bullet::Bullet() |
harryrance | 1:95d7dd44bb0d | 4 | { |
harryrance | 1:95d7dd44bb0d | 5 | |
harryrance | 1:95d7dd44bb0d | 6 | } |
harryrance | 1:95d7dd44bb0d | 7 | |
harryrance | 1:95d7dd44bb0d | 8 | Bullet::~Bullet() |
harryrance | 1:95d7dd44bb0d | 9 | { |
harryrance | 1:95d7dd44bb0d | 10 | |
harryrance | 1:95d7dd44bb0d | 11 | } |
harryrance | 1:95d7dd44bb0d | 12 | |
harryrance | 1:95d7dd44bb0d | 13 | void Bullet::initialise(int x_origin, int y_origin, int speed, int button_check) |
harryrance | 1:95d7dd44bb0d | 14 | { |
harryrance | 1:95d7dd44bb0d | 15 | _x = x_origin; |
harryrance | 1:95d7dd44bb0d | 16 | _y = y_origin; |
harryrance | 1:95d7dd44bb0d | 17 | _button_check = button_check; |
harryrance | 1:95d7dd44bb0d | 18 | _speed = speed; |
harryrance | 1:95d7dd44bb0d | 19 | |
harryrance | 1:95d7dd44bb0d | 20 | } |
harryrance | 1:95d7dd44bb0d | 21 | |
harryrance | 1:95d7dd44bb0d | 22 | void Bullet::check_button_press(Gamepad &pad) |
harryrance | 1:95d7dd44bb0d | 23 | { |
harryrance | 1:95d7dd44bb0d | 24 | if (pad.check_event(Gamepad::A_PRESSED)){ |
harryrance | 1:95d7dd44bb0d | 25 | _button_check = 1; |
harryrance | 2:50feb42b982c | 26 | _speed = 2; |
harryrance | 1:95d7dd44bb0d | 27 | } |
harryrance | 1:95d7dd44bb0d | 28 | } |
harryrance | 1:95d7dd44bb0d | 29 | |
harryrance | 1:95d7dd44bb0d | 30 | void Bullet::draw(N5110 &lcd) |
harryrance | 1:95d7dd44bb0d | 31 | { |
harryrance | 1:95d7dd44bb0d | 32 | _y_origin = _y; |
harryrance | 1:95d7dd44bb0d | 33 | _x_origin = _x; |
harryrance | 1:95d7dd44bb0d | 34 | |
harryrance | 1:95d7dd44bb0d | 35 | if (_button_check){ |
harryrance | 1:95d7dd44bb0d | 36 | lcd.setPixel(_x_origin,_y_origin); |
harryrance | 1:95d7dd44bb0d | 37 | lcd.setPixel(_x_origin,_y_origin-1); |
harryrance | 1:95d7dd44bb0d | 38 | } |
harryrance | 2:50feb42b982c | 39 | if (_y < 10){ |
harryrance | 2:50feb42b982c | 40 | _button_check = 0; |
harryrance | 2:50feb42b982c | 41 | _speed = 0; |
harryrance | 2:50feb42b982c | 42 | _y = 42; |
harryrance | 2:50feb42b982c | 43 | } |
harryrance | 1:95d7dd44bb0d | 44 | } |
harryrance | 1:95d7dd44bb0d | 45 | |
harryrance | 1:95d7dd44bb0d | 46 | void Bullet::update() |
harryrance | 1:95d7dd44bb0d | 47 | { |
harryrance | 1:95d7dd44bb0d | 48 | _x += _velocity.x; |
harryrance | 1:95d7dd44bb0d | 49 | _y -= _velocity.y; |
harryrance | 1:95d7dd44bb0d | 50 | |
harryrance | 1:95d7dd44bb0d | 51 | int direction = 0; |
harryrance | 1:95d7dd44bb0d | 52 | |
harryrance | 1:95d7dd44bb0d | 53 | if(direction == 0) |
harryrance | 1:95d7dd44bb0d | 54 | { |
harryrance | 1:95d7dd44bb0d | 55 | _velocity.y = _speed; |
harryrance | 1:95d7dd44bb0d | 56 | } |
harryrance | 1:95d7dd44bb0d | 57 | } |
harryrance | 1:95d7dd44bb0d | 58 | |
harryrance | 1:95d7dd44bb0d | 59 | void Bullet::set_velocity(Vector2D v) |
harryrance | 1:95d7dd44bb0d | 60 | { |
harryrance | 1:95d7dd44bb0d | 61 | _velocity.x = v.x; |
harryrance | 1:95d7dd44bb0d | 62 | _velocity.y = v.y; |
harryrance | 1:95d7dd44bb0d | 63 | } |
harryrance | 1:95d7dd44bb0d | 64 | |
harryrance | 1:95d7dd44bb0d | 65 | void Bullet::set_position(Vector2D p) |
harryrance | 1:95d7dd44bb0d | 66 | { |
harryrance | 1:95d7dd44bb0d | 67 | _x = p.x; |
harryrance | 1:95d7dd44bb0d | 68 | _y = p.y; |
harryrance | 1:95d7dd44bb0d | 69 | } |
harryrance | 1:95d7dd44bb0d | 70 | |
harryrance | 1:95d7dd44bb0d | 71 | Vector2D Bullet::get_velocity() |
harryrance | 1:95d7dd44bb0d | 72 | { |
harryrance | 1:95d7dd44bb0d | 73 | Vector2D v = {_velocity.x,_velocity.y}; |
harryrance | 1:95d7dd44bb0d | 74 | |
harryrance | 1:95d7dd44bb0d | 75 | return v; |
harryrance | 1:95d7dd44bb0d | 76 | } |
harryrance | 1:95d7dd44bb0d | 77 | |
harryrance | 1:95d7dd44bb0d | 78 | Vector2D Bullet::get_position() |
harryrance | 1:95d7dd44bb0d | 79 | { |
harryrance | 1:95d7dd44bb0d | 80 | Vector2D p = {_x,_y}; |
harryrance | 1:95d7dd44bb0d | 81 | |
harryrance | 1:95d7dd44bb0d | 82 | return p; |
harryrance | 1:95d7dd44bb0d | 83 | } |
harryrance | 2:50feb42b982c | 84 | |
harryrance | 2:50feb42b982c | 85 | void Bullet::add_score() |
harryrance | 2:50feb42b982c | 86 | { |
harryrance | 2:50feb42b982c | 87 | _score++; |
harryrance | 2:50feb42b982c | 88 | } |
harryrance | 2:50feb42b982c | 89 | |
harryrance | 2:50feb42b982c | 90 | int Bullet::get_score() |
harryrance | 2:50feb42b982c | 91 | { |
harryrance | 2:50feb42b982c | 92 | return _score; |
harryrance | 2:50feb42b982c | 93 | } |
harryrance | 2:50feb42b982c | 94 | |
harryrance | 2:50feb42b982c | 95 | void Bullet::add_coins() |
harryrance | 2:50feb42b982c | 96 | { |
harryrance | 2:50feb42b982c | 97 | _coins += 10; |
harryrance | 2:50feb42b982c | 98 | } |
harryrance | 2:50feb42b982c | 99 | |
harryrance | 2:50feb42b982c | 100 | int Bullet::get_coins() |
harryrance | 2:50feb42b982c | 101 | { |
harryrance | 2:50feb42b982c | 102 | return _coins; |
harryrance | 2:50feb42b982c | 103 | } |
harryrance | 1:95d7dd44bb0d | 104 |