Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: SpaceEngine/SpaceEngine.cpp
- Revision:
- 147:c008c0a32d23
- Parent:
- 146:5014ef83d4e6
- Child:
- 148:83e5a4dedffd
--- a/SpaceEngine/SpaceEngine.cpp Thu May 09 10:35:00 2019 +0000
+++ b/SpaceEngine/SpaceEngine.cpp Thu May 09 11:57:29 2019 +0000
@@ -8,42 +8,41 @@
}
-//void function to initalise all the parameters of SpaceEngine Class.
void SpaceEngine::init(int x_spaceship,int y_spaceship, int x_bullet, int y_bullet,int fired_bullet, int x_alien,int y_alien, int speed_alien, int speed_bullet, int speed_spaceship)
{
- _x_spaceship=x_spaceship; // represents the x-cooridante of the spaceship.
- _y_spaceship=y_spaceship; //represents the y-cooridante of the spaceship.
- _speed_spaceship=speed_spaceship; // speed of the spaceship.
- _x_bullet=x_bullet; //the x-cooridante of the bullet.
- _y_bullet=y_bullet; //the y-cooridante of the bullet.
- _fired_bullet= fired_bullet; //spaceship fired the alien by relaseing the bullet.
- _x_alien= x_alien; // x-cooridante of the alien.
- _y_alien= y_alien; //y-cooridante of the alien.
- _speed_alien= speed_alien; // the speed of the alien.
- _speed_bullet=speed_bullet; // the speed of the bullet
-
- _bullet.init(_x_bullet, _y_bullet, speed_bullet,fired_bullet); //initalise bullet.
- _alien.init (_x_alien, _y_alien,_speed_alien); //initalise alien
- _spaceship.init( _x_spaceship, _y_spaceship, _speed_spaceship); //initalise spaceship
- _alien_killed = 0; // set the killed alien at 0.
+ _x_spaceship=x_spaceship; //represents the x-cooridante of the spaceship.
+ _y_spaceship=y_spaceship; //represents the y-cooridante of the spaceship.
+ _speed_spaceship=speed_spaceship; // speed of the spaceship.
+ _x_bullet=x_bullet; //represents the x-cooridante of the spaceship.
+ _y_bullet=y_bullet; //represents the y-cooridante of the spaceship.
+ _fired_bullet= fired_bullet; // spaceship fired the alien by relaseing the bullet.
+ _x_alien= x_alien; //represents the x-cooridante of the alien.
+ _y_alien= y_alien; //represents the y-cooridante of the spaceship.
+ _speed_alien= speed_alien; // speed of the alien.
+ _speed_bullet=speed_bullet; // speed of the bullet.
+
+ _bullet.init(_x_bullet, _y_bullet, speed_bullet,fired_bullet); //initalise the object bullet.
+ _alien.init (_x_alien, _y_alien,_speed_alien); //initalise the object alien.
+ _spaceship.init( _x_spaceship, _y_spaceship, _speed_spaceship); //initalise the object spaceship.
+ _alien_killed = 0; // set the killed alien at 0.
}
+
// void function for Gamepad library to read the position of the objects.
void SpaceEngine::read_input(Gamepad &pad)
{
-
+
_d = pad.get_direction();
_mag = pad.get_mag();
-
}
-
/**this function draw the objects on the screen
*by using the (N5110 &lcd) libraries
* if statment to check if the alien is alive so the lcd can draw it on the screen
* else if statment will check if the alien dead so it should disappear
*also it draws the spaceship
*/
+
void SpaceEngine::draw(N5110 &lcd)
{
_bullet.draw(lcd);
@@ -51,8 +50,8 @@
if (_alien.isAlive() == true) {
_alien.draw(lcd);
} else { // alien is dead
- int y_pos = (rand() % 30) + 10; // random number 10 to 39.
- _alien.init(70,y_pos,1); //initalise alien.
+ int y_pos = (rand() % 30) + 10; // random number 10 to 39
+ _alien.init(70,y_pos,1);
wait(0.2);
}
@@ -63,10 +62,11 @@
lcd.printString(kills,70,0);
}
- /*
- *this void function for reading the the positions of the inputs(objects)by(Gamepad &pad)libraries in class SpaceEngine to detect the collisions.
- *this inculde if statment that shows when joystic's direction to the east the bullt will fired.
- */
+
+/*
+*this void function for reading the the positions of the inputs(objects)by(Gamepad &pad)libraries in class SpaceEngine to detect the collisions.
+*this inculde if statment that shows when joystic's direction to the east the bullt will fired.
+*/
void SpaceEngine::update(Gamepad &pad)
{
_bullet.update(_d,_mag);
@@ -79,12 +79,20 @@
_x_bullet = _bullet.get_pos_x();
if(_d==E) {
_fired_bullet=1;
- }
- _bullet.set_pos(_spaceship.get_pos_x()+33, _spaceship.get_pos_y()); //set the position of the bullet where the x= x_spaceship+x_bullet but the y are same
+
+ _bullet.set_pos(_spaceship.get_pos_x()+33, _spaceship.get_pos_y());
+ }
}
-
-
-
+
+
+
+ /*void function that checks the collision between the objects
+ *if statment is to detect if x-coordinate of the bullet is larger or equal 65
+ *and less than or equal to the 68 and if y-cooridante of the bullet is larger
+ *than y-corrdindate of the alien-5 and y_alien+15 is larger or equal y_bullet
+ *then the alien gets killed.
+ */
+
void SpaceEngine::check_space_collision(Gamepad &pad) {
if(_x_bullet >= 65 && _x_bullet <= 68 && _y_bullet >= _y_alien-5 && _y_bullet <= _y_alien+15) {
@@ -92,4 +100,4 @@
_alien_killed++;
}
- }
+ }
\ No newline at end of file