Asteroid.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef Asteroid_H
  2. #define Asteroid_H
  3. #include <Model2D.h>
  4. #include <Datei.h>
  5. #include <Random.h>
  6. using namespace Framework;
  7. class Schuss;
  8. class Asteroid
  9. {
  10. private:
  11. Model2D *asteroid;
  12. Vec2< float > pos;
  13. Vec2< float > speed;
  14. Bild *txt;
  15. float rSpeed;
  16. char id;
  17. int ref;
  18. public:
  19. // Konstruktor
  20. Asteroid( Model2DData *data, Bild *textur, Vec2< float > p, Vec2< float > s, float rS, float r = 0, float gr = 0, char num = 0 );
  21. // Destruktor
  22. ~Asteroid();
  23. // nicht constant
  24. void setTextur( Bild *textur );
  25. bool tick( double zeit, int breite, int höhe );
  26. void render( Bild &zRObj );
  27. bool istGetroffen( Schuss *zSchuss, Polygon2D &a, Polygon2D &b, Punkt &pa, Punkt &pb, RandomGenerator *zRand );
  28. void setDead();
  29. // constant
  30. void save( Datei *zD ) const;
  31. bool amLeben() const;
  32. Model2D *zModel() const;
  33. Punkt getPos() const;
  34. Bild *getTextur() const;
  35. Vec2< float > getSpeed() const;
  36. float getRSpeed() const;
  37. char getId() const;
  38. int getScore() const;
  39. // Refernece Counting
  40. Asteroid *getThis();
  41. Asteroid *release();
  42. };
  43. #endif