From 7a60ab9f178dd813c876fcf8e25c947f9a9a5e06 Mon Sep 17 00:00:00 2001 From: Simponic Date: Tue, 30 Jun 2020 20:04:55 -0600 Subject: Updated indentation --- rocks.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 rocks.cpp (limited to 'rocks.cpp') diff --git a/rocks.cpp b/rocks.cpp new file mode 100644 index 0000000..7c3c13e --- /dev/null +++ b/rocks.cpp @@ -0,0 +1,63 @@ +#include "rocks.h" +#include "uiDraw.h" +#include +#define M_PI 3.14159265 + +// Destroy Big Rock and return vector of new *rocks +vector BigRock :: destroy() +{ + vector rocks; + Velocity rockVel = this->velocity; + Point rockPoint = this->point; + + rockVel.addDy ( 1 ); + rocks.push_back ( new MediumRock ( rockPoint , rockVel ) ); + + rockVel.addDy ( -2 ); // Original rockvel dy - 1 + rocks.push_back ( new MediumRock ( rockPoint , rockVel ) ); + + rockVel.addDy ( 1 ); // Original rockvel dy + rockVel.addDx ( (float) random ( 1.0 , 3.0 ) ); + rocks.push_back ( new SmallRock ( rockPoint , rockVel ) ); + + return rocks; +} + +// Draw big rock +void BigRock :: draw() +{ + drawLargeAsteroid ( this->point , this->angle ); +} + +// Destroy Medium Rock and return vector of new *rocks +vector MediumRock :: destroy() +{ + vector rocks; + Velocity rockVel = this->velocity; + Point rockPoint = this->point; + + rockVel.addDx ( 3 ); + rocks.push_back ( new SmallRock ( rockPoint , rockVel ) ); + rockVel.addDx ( -6 ); + rocks.push_back ( new SmallRock ( rockPoint , rockVel ) ); + + return rocks; +} + +// Draw Medium Rock +void MediumRock :: draw() +{ + drawMediumAsteroid ( this->point , this->angle ); +} + +// Destroy Small Rock and return an empty *rock vector +vector SmallRock :: destroy() +{ + return vector(); +} + +// Draw small rock +void SmallRock :: draw() +{ + drawSmallAsteroid ( this->point , this->angle ); +} -- cgit v1.2.3-70-g09d2