Abstract Unit class

This commit is contained in:
Love 2024-09-11 17:16:15 +02:00
parent 534b7a35f3
commit 0bcf77a56b
4 changed files with 14 additions and 11 deletions

View File

@ -17,3 +17,7 @@ void Hero::draw(QGraphicsScene *scene) const {
Unit *Hero::clone() const { Unit *Hero::clone() const {
return new Hero(*this); return new Hero(*this);
} }
bool Hero::isAlive() const { return true; }
bool Hero::isToBeJunked() const { return false; }
void Hero::doCrash() {}

View File

@ -15,10 +15,12 @@ public:
Unit *clone() const override; Unit *clone() const override;
/* /*
* Draws this hero onto the given QGraphicsScene. * Draws this hero onto the given QGraphicsScene.
*/ */
void draw(QGraphicsScene *scene) const override; void draw(QGraphicsScene *scene) const override;
bool isAlive() const override;
bool isToBeJunked() const override;
void doCrash() override;
}; };
#endif // HERO_H #endif // HERO_H

View File

@ -59,7 +59,4 @@ void Unit::checkBounds() {
} }
// Default implementation // Default implementation
bool Unit::isAlive() const { return true; }
bool Unit::isToBeJunked() const { return false; }
void Unit::doCrash() {}
void Unit::draw(QGraphicsScene *) const {}

View File

@ -57,10 +57,10 @@ public:
*/ */
double distanceTo(const Unit& u) const; double distanceTo(const Unit& u) const;
virtual bool isAlive() const; virtual bool isAlive() const = 0;
virtual bool isToBeJunked() const; virtual bool isToBeJunked() const = 0;
virtual void doCrash(); virtual void doCrash() = 0;
virtual void draw(QGraphicsScene *scene) const; virtual void draw(QGraphicsScene *scene) const = 0;
private: private:
int x; // x position of this unit int x; // x position of this unit
int y; // y position of this unit int y; // y position of this unit