harry rance
/
Revised_Space_Invaders
Harry Rance 200925395 Embedded Systems Project
Bullet.cpp@3:43970d8d642e, 2017-04-30 (annotated)
- Committer:
- harryrance
- Date:
- Sun Apr 30 15:23:56 2017 +0000
- Revision:
- 3:43970d8d642e
- Parent:
- 2:50feb42b982c
- Child:
- 6:dca8b5e2ebe5
full game engine complete with audio and led feedback, potentiometer implemented. Menu system in place (mostly finished).;
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 | 3:43970d8d642e | 13 | void Bullet::initialise(int x_origin, int y_origin, int speed, int button_check, int coins, int score) |
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 | 3:43970d8d642e | 19 | _coins = coins; |
harryrance | 3:43970d8d642e | 20 | _score = score; |
harryrance | 1:95d7dd44bb0d | 21 | |
harryrance | 1:95d7dd44bb0d | 22 | } |
harryrance | 1:95d7dd44bb0d | 23 | |
harryrance | 1:95d7dd44bb0d | 24 | void Bullet::check_button_press(Gamepad &pad) |
harryrance | 1:95d7dd44bb0d | 25 | { |
harryrance | 1:95d7dd44bb0d | 26 | if (pad.check_event(Gamepad::A_PRESSED)){ |
harryrance | 1:95d7dd44bb0d | 27 | _button_check = 1; |
harryrance | 2:50feb42b982c | 28 | _speed = 2; |
harryrance | 1:95d7dd44bb0d | 29 | } |
harryrance | 1:95d7dd44bb0d | 30 | } |
harryrance | 1:95d7dd44bb0d | 31 | |
harryrance | 1:95d7dd44bb0d | 32 | void Bullet::draw(N5110 &lcd) |
harryrance | 1:95d7dd44bb0d | 33 | { |
harryrance | 1:95d7dd44bb0d | 34 | _y_origin = _y; |
harryrance | 1:95d7dd44bb0d | 35 | _x_origin = _x; |
harryrance | 1:95d7dd44bb0d | 36 | |
harryrance | 1:95d7dd44bb0d | 37 | if (_button_check){ |
harryrance | 1:95d7dd44bb0d | 38 | lcd.setPixel(_x_origin,_y_origin); |
harryrance | 1:95d7dd44bb0d | 39 | lcd.setPixel(_x_origin,_y_origin-1); |
harryrance | 1:95d7dd44bb0d | 40 | } |
harryrance | 2:50feb42b982c | 41 | if (_y < 10){ |
harryrance | 2:50feb42b982c | 42 | _button_check = 0; |
harryrance | 2:50feb42b982c | 43 | _speed = 0; |
harryrance | 2:50feb42b982c | 44 | _y = 42; |
harryrance | 2:50feb42b982c | 45 | } |
harryrance | 1:95d7dd44bb0d | 46 | } |
harryrance | 1:95d7dd44bb0d | 47 | |
harryrance | 1:95d7dd44bb0d | 48 | void Bullet::update() |
harryrance | 1:95d7dd44bb0d | 49 | { |
harryrance | 1:95d7dd44bb0d | 50 | _x += _velocity.x; |
harryrance | 1:95d7dd44bb0d | 51 | _y -= _velocity.y; |
harryrance | 1:95d7dd44bb0d | 52 | |
harryrance | 1:95d7dd44bb0d | 53 | int direction = 0; |
harryrance | 1:95d7dd44bb0d | 54 | |
harryrance | 1:95d7dd44bb0d | 55 | if(direction == 0) |
harryrance | 1:95d7dd44bb0d | 56 | { |
harryrance | 1:95d7dd44bb0d | 57 | _velocity.y = _speed; |
harryrance | 1:95d7dd44bb0d | 58 | } |
harryrance | 1:95d7dd44bb0d | 59 | } |
harryrance | 1:95d7dd44bb0d | 60 | |
harryrance | 1:95d7dd44bb0d | 61 | void Bullet::set_velocity(Vector2D v) |
harryrance | 1:95d7dd44bb0d | 62 | { |
harryrance | 1:95d7dd44bb0d | 63 | _velocity.x = v.x; |
harryrance | 1:95d7dd44bb0d | 64 | _velocity.y = v.y; |
harryrance | 1:95d7dd44bb0d | 65 | } |
harryrance | 1:95d7dd44bb0d | 66 | |
harryrance | 1:95d7dd44bb0d | 67 | void Bullet::set_position(Vector2D p) |
harryrance | 1:95d7dd44bb0d | 68 | { |
harryrance | 1:95d7dd44bb0d | 69 | _x = p.x; |
harryrance | 1:95d7dd44bb0d | 70 | _y = p.y; |
harryrance | 1:95d7dd44bb0d | 71 | } |
harryrance | 1:95d7dd44bb0d | 72 | |
harryrance | 1:95d7dd44bb0d | 73 | Vector2D Bullet::get_velocity() |
harryrance | 1:95d7dd44bb0d | 74 | { |
harryrance | 1:95d7dd44bb0d | 75 | Vector2D v = {_velocity.x,_velocity.y}; |
harryrance | 1:95d7dd44bb0d | 76 | |
harryrance | 1:95d7dd44bb0d | 77 | return v; |
harryrance | 1:95d7dd44bb0d | 78 | } |
harryrance | 1:95d7dd44bb0d | 79 | |
harryrance | 1:95d7dd44bb0d | 80 | Vector2D Bullet::get_position() |
harryrance | 1:95d7dd44bb0d | 81 | { |
harryrance | 1:95d7dd44bb0d | 82 | Vector2D p = {_x,_y}; |
harryrance | 1:95d7dd44bb0d | 83 | |
harryrance | 1:95d7dd44bb0d | 84 | return p; |
harryrance | 1:95d7dd44bb0d | 85 | } |
harryrance | 2:50feb42b982c | 86 | |
harryrance | 2:50feb42b982c | 87 | void Bullet::add_score() |
harryrance | 2:50feb42b982c | 88 | { |
harryrance | 2:50feb42b982c | 89 | _score++; |
harryrance | 2:50feb42b982c | 90 | } |
harryrance | 2:50feb42b982c | 91 | |
harryrance | 2:50feb42b982c | 92 | int Bullet::get_score() |
harryrance | 2:50feb42b982c | 93 | { |
harryrance | 2:50feb42b982c | 94 | return _score; |
harryrance | 2:50feb42b982c | 95 | } |
harryrance | 2:50feb42b982c | 96 | |
harryrance | 2:50feb42b982c | 97 | void Bullet::add_coins() |
harryrance | 2:50feb42b982c | 98 | { |
harryrance | 2:50feb42b982c | 99 | _coins += 10; |
harryrance | 2:50feb42b982c | 100 | } |
harryrance | 2:50feb42b982c | 101 | |
harryrance | 3:43970d8d642e | 102 | void Bullet::dec_coins_for_life() |
harryrance | 3:43970d8d642e | 103 | { |
harryrance | 3:43970d8d642e | 104 | _coins -= 100; |
harryrance | 3:43970d8d642e | 105 | } |
harryrance | 3:43970d8d642e | 106 | |
harryrance | 3:43970d8d642e | 107 | void Bullet::dec_coins_for_x() |
harryrance | 3:43970d8d642e | 108 | { |
harryrance | 3:43970d8d642e | 109 | _coins -= 50; |
harryrance | 3:43970d8d642e | 110 | } |
harryrance | 3:43970d8d642e | 111 | |
harryrance | 3:43970d8d642e | 112 | void Bullet::dec_coins_for_y() |
harryrance | 3:43970d8d642e | 113 | { |
harryrance | 3:43970d8d642e | 114 | _coins -= 100; |
harryrance | 3:43970d8d642e | 115 | } |
harryrance | 3:43970d8d642e | 116 | |
harryrance | 3:43970d8d642e | 117 | void Bullet::dec_coins_for_b() |
harryrance | 3:43970d8d642e | 118 | { |
harryrance | 3:43970d8d642e | 119 | _coins -= 150; |
harryrance | 3:43970d8d642e | 120 | } |
harryrance | 3:43970d8d642e | 121 | |
harryrance | 3:43970d8d642e | 122 | void Bullet::dec_coins_for_r() |
harryrance | 3:43970d8d642e | 123 | { |
harryrance | 3:43970d8d642e | 124 | _coins -= 200; |
harryrance | 3:43970d8d642e | 125 | } |
harryrance | 3:43970d8d642e | 126 | |
harryrance | 2:50feb42b982c | 127 | int Bullet::get_coins() |
harryrance | 2:50feb42b982c | 128 | { |
harryrance | 2:50feb42b982c | 129 | return _coins; |
harryrance | 2:50feb42b982c | 130 | } |
harryrance | 1:95d7dd44bb0d | 131 |