Harry Rance 200925395 Embedded Systems Project

Dependencies:   mbed

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?

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