Geschoss.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #pragma once
  2. #include "GameObject.h"
  3. #include "Spieler.h"
  4. class Spiel;
  5. #define PFEIL_DAMAGE 100
  6. #define KUGEL_DAMAGE 100
  7. class Geschoss : public GameObject
  8. {
  9. private:
  10. float speed;
  11. Richtung richtung;
  12. Spieler *besitzer;
  13. GeschossTyp typ;
  14. int tunnelBenutzt;
  15. int umgelenkt;
  16. int geschosseGetroffen;
  17. int schalter;
  18. bool intersectWithOwner;
  19. int id;
  20. public:
  21. Geschoss( int id, float speed, GeschossTyp typ, Richtung r, int x, int y, Spieler *besitzer );
  22. ~Geschoss();
  23. void invertDirection();
  24. void addUmlenkung( Spiel *zSpiel );
  25. void addGeschossTreffer( Spiel *zSpiel );
  26. void addTunnel( Spiel *zSpiel );
  27. void addSchalter();
  28. void setSpeed( float speed );
  29. void setBesitzer( Spieler *besitzer );
  30. void setTyp( GeschossTyp typ );
  31. void setRichtung( Richtung r );
  32. void tick( double zeit );
  33. bool intersectsWith( GameObject *zObj ) override;
  34. int getId() const;
  35. GeschossTyp getTyp() const;
  36. Spieler *zBesitzer() const;
  37. Spieler *getBesitzer() const;
  38. Richtung getRichtung() const;
  39. };
  40. // size: 150x150
  41. class FeuerballTreffer : public GameObject
  42. {
  43. private:
  44. int id;
  45. Spieler *besitzer;
  46. int count;
  47. float timeLeft;
  48. public:
  49. FeuerballTreffer( int id, int x, int y, Spieler *besitzer, int maxZeit );
  50. ~FeuerballTreffer();
  51. void tick( double zeit );
  52. bool isOver() const;
  53. bool makeDamage() const;
  54. Spieler *zVerursacher() const;
  55. };