123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #include "Missile.h"
- Missile::Missile(SDL_Surface *screen, Collisions *gestionnaireCollisons, Sounderer *mediaPlayer, SDL_Surface* apparence)
- : Power(screen, gestionnaireCollisons, mediaPlayer, apparence)
- {
- }///Constructeur
- Missile::~Missile()
- {
- }///Destructeur
- void Missile::usePower(int orientation, int &x, int &y, int const &ID)
- {
- //[0] Bruitage
- m_mediaPlayer->play("Missile");
- //[1] Orientation de la trajectoire du missile
- int posX(x);
- int posY(y);
- int ajoutX(0);
- int ajoutY(0);
- convertDir(orientation, ajoutX, ajoutY);
- //[2] Parcours du missile dans le vide
- while (m_gestionnaireCollisions->tester(posX,posY) == VIDE)
- {
- posX += ajoutX;
- posY += ajoutY;
- }
- //[3] Perforation de toute l'épaisseur
- while (m_gestionnaireCollisions->tester(posX,posY) != VIDE)
- {
- m_gestionnaireCollisions->enlever(posX,posY);
- posX += ajoutX;
- posY += ajoutY;
- }
- //[END]
- m_used = true;
- }///usePower
- void Missile::postMortemPower(int const &x, int const &y, int const &ID)
- {
- //[0] Bruitage
- m_mediaPlayer->play("Missile");
- //[1] Explosion
- for (int i(-1); i<=1; i++)
- for (int j(-1); j<=1; j++)
- if (i != 0 || j != 0) m_gestionnaireCollisions->enlever(x+i, y+j);
- //[end]
- m_used = true;
- }///postMortemPower
|