Asteroid.h 1007 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. bool tick( double zeit, int breite, int höhe );
  25. void render( Bild &zRObj );
  26. bool istGetroffen( Schuss *zSchuss, Polygon2D &a, Polygon2D &b, Punkt &pa, Punkt &pb, RandomGenerator *zRand );
  27. void setDead();
  28. // constant
  29. void save( Datei *zD ) const;
  30. bool amLeben() const;
  31. Model2D *zModel() const;
  32. Punkt getPos() const;
  33. Bild *getTextur() const;
  34. Vec2< float > getSpeed() const;
  35. float getRSpeed() const;
  36. char getId() const;
  37. // Refernece Counting
  38. Asteroid *getThis();
  39. Asteroid *release();
  40. };
  41. #endif