Missile.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef MISSILE_H
  2. #define MISSILE_H
  3. #include "../Shot.h"
  4. #define MISSILE_DEGAT 3055
  5. #define MISSILE_BOOST_SPEED 28
  6. #define MISSILE_TURN_SPEED 22
  7. /**
  8. Jovian Hersemeule
  9. Description du Missile :
  10. Le tir de type missile est assez lent à recharger mais offre
  11. des capacités extraordinaires de destruction. Le missile commence
  12. une approche en ligne droite avant de tourner à 90° vers le coeur
  13. de la cible.
  14. **/
  15. class Missile : public Shot
  16. {
  17. /// Méthodes
  18. public:
  19. Missile();
  20. Missile( Sint16 xMe, Sint16 yMe, bool ally = false );
  21. Missile( Sint16 xMe, Sint16 yMe, Sint16 xHim, Sint16 yHim, bool ally = false );
  22. virtual ~Missile();
  23. virtual void update();
  24. virtual void draw( SDL_Surface* screen );
  25. virtual bool damageSolid( Uint8** solid, const Uint16 dimH, const Uint16 dimW, const SDL_Rect& hitbox );
  26. private:
  27. void turn();
  28. /// Attributs
  29. private:
  30. Sint16 m_xHim;
  31. Sint16 m_yHim;
  32. bool m_hasTgt;
  33. Sint16 m_decay;
  34. Sint8 m_dir;
  35. #define MISSILE_UP -1
  36. #define MISSILE_DOWN 1
  37. #define MISSILE_BOOST 0
  38. };
  39. #endif // MISSILE_H