Geschoss.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. #include "GameObject.h"
  3. #include "Spieler.h"
  4. enum GeschossTyp
  5. {
  6. GESCHOSS_PFEIL,
  7. GESCHOSS_KUGEL,
  8. GESCHOSS_DRACHENAUGE,
  9. GESCHOSS_FEUERBALL
  10. };
  11. class Geschoss : public GameObject
  12. {
  13. private:
  14. float speed;
  15. Richtung richtung;
  16. Spieler *besitzer;
  17. GeschossTyp typ;
  18. int tunnelBenutzt;
  19. int umgelenkt;
  20. int geschosseGetroffen;
  21. int schalter;
  22. int id;
  23. public:
  24. Geschoss( int id, float speed, GeschossTyp typ, Richtung r, int x, int y, Spieler *besitzer );
  25. ~Geschoss();
  26. void invertDirection();
  27. void addUmlenkung();
  28. void addGeschossTreffer();
  29. void addTunnel();
  30. void addSchalter();
  31. void setRichtung( Richtung r );
  32. void tick( double zeit );
  33. GeschossTyp getTyp() const;
  34. Spieler *zBesitzer() const;
  35. Spieler *getBesitzer() const;
  36. };
  37. // size: 150x150
  38. class FeuerballTreffer : public GameObject
  39. {
  40. private:
  41. int id;
  42. Spieler *besitzer;
  43. float timeLeft;
  44. public:
  45. FeuerballTreffer( int id, int x, int y, Spieler *besitzer, int maxZeit );
  46. ~FeuerballTreffer();
  47. void tick( double zeit );
  48. };