Harry Rance 200925395 Embedded Systems Project

Dependencies:   mbed

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?

UserRevisionLine numberNew 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