#ifndef Asteroid_H #define Asteroid_H #include #include #include using namespace Framework; class Schuss; class Asteroid { private: Model2D *asteroid; Vec2< float > pos; Vec2< float > speed; Bild *txt; float rSpeed; char id; int ref; public: // Konstruktor Asteroid( Model2DData *data, Bild *textur, Vec2< float > p, Vec2< float > s, float rS, float r = 0, float gr = 0, char num = 0 ); // Destruktor ~Asteroid(); // nicht constant void setTextur( Bild *textur ); bool tick( double zeit, int breite, int höhe ); void render( Bild &zRObj ); bool istGetroffen( Schuss *zSchuss, Polygon2D &a, Polygon2D &b, Punkt &pa, Punkt &pb, RandomGenerator *zRand ); void setDead(); // constant void save( Datei *zD ) const; bool amLeben() const; Model2D *zModel() const; Punkt getPos() const; Bild *getTextur() const; Vec2< float > getSpeed() const; float getRSpeed() const; char getId() const; int getScore() const; // Refernece Counting Asteroid *getThis(); Asteroid *release(); }; #endif