Harry Rance 200925395 Embedded Systems Project

Dependencies:   mbed

Revision:
6:dca8b5e2ebe5
Parent:
3:43970d8d642e
--- a/Bullet.cpp	Tue May 02 18:47:22 2017 +0000
+++ b/Bullet.cpp	Wed May 03 16:24:01 2017 +0000
@@ -1,15 +1,15 @@
 #include "Bullet.h"
-
+//Constructor
 Bullet::Bullet()
 {
 
 }
-
+//Destructor
 Bullet::~Bullet()
 {
 
 }
-
+//Initialise function - initialises all starting game parameters defined in the header file.
 void Bullet::initialise(int x_origin, int y_origin, int speed, int button_check, int coins, int score)
 {
   _x = x_origin;
@@ -20,7 +20,7 @@
   _score = score;
 
 }
-
+//Checks if the A button has been pressed. If so, change the _button_check and _speed variables.
 void Bullet::check_button_press(Gamepad &pad)
 {
   if (pad.check_event(Gamepad::A_PRESSED)){
@@ -28,23 +28,23 @@
     _speed = 2;
   }
 }
-
+//Draw function - draws the bullet on the screen
 void Bullet::draw(N5110 &lcd)
 {
   _y_origin = _y;
   _x_origin = _x;
 
-  if (_button_check){
+  if (_button_check){ //draw bullet only if the A buttonhas been pressed
     lcd.setPixel(_x_origin,_y_origin);
     lcd.setPixel(_x_origin,_y_origin-1);
   }
-  if (_y < 10){
-    _button_check = 0;
-    _speed = 0;
-    _y = 42;
+  if (_y < 10){ //resets the bullet if it moves above a certain point on the screen to its original y position.
+    _button_check = 0; //also reset the button check variable in order to allow another bullet to be fired.
+    _speed = 0; //sets the speed to 0 so that the velocity does not update and bullet can be redrawn at the origin.
+    _y = 42; //y origin
   }
 }
-
+//Update function - updates the velocity and direction of movement for the bullet.
 void Bullet::update()
 {
   _x += _velocity.x;
@@ -57,73 +57,73 @@
     _velocity.y = _speed;
   }
 }
-
+//sets the x and y velocity of the bullet.
 void Bullet::set_velocity(Vector2D v)
 {
   _velocity.x = v.x;
   _velocity.y = v.y;
 }
-
+//sets the x and y position of the bullet.
 void Bullet::set_position(Vector2D p)
 {
   _x = p.x;
   _y = p.y;
 }
-
+//returns a struct containing x and y members of the bullet velocity.
 Vector2D Bullet::get_velocity()
 {
   Vector2D v = {_velocity.x,_velocity.y};
 
   return v;
 }
-
+//returns a struct containing x and y members of the bullet position.
 Vector2D Bullet::get_position()
 {
   Vector2D p = {_x,_y};
 
   return p;
 }
-
+//increments the score variable.
 void Bullet::add_score()
 {
   _score++;
 }
-
+//returns the score variable integer.
 int Bullet::get_score()
 {
   return _score;
 }
-
+//adds 10 to the coins integer variable.
 void Bullet::add_coins()
 {
   _coins += 10;
 }
-
+//decrements the coins variable by 100 for when a life is purchased.
 void Bullet::dec_coins_for_life()
 {
   _coins -= 100;
 }
-
+//decrements the coins variable by 50 if a ship is purchased.
 void Bullet::dec_coins_for_x()
 {
   _coins -= 50;
 }
-
+//decrements the coins variable by 100 if a ship is purchased.
 void Bullet::dec_coins_for_y()
 {
   _coins -= 100;
 }
-
+//decrements the coins variable by 150 if a ship is purchased.
 void Bullet::dec_coins_for_b()
 {
   _coins -= 150;
 }
-
+//decrements the coins variable by 200 if a ship is purchased.
 void Bullet::dec_coins_for_r()
 {
   _coins -= 200;
 }
-
+//returns the coins integer variable to display user balance on the screen.
 int Bullet::get_coins()
 {
   return _coins;