1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #include "Bomb.h"
- Bomb::Bomb(SDL_Surface *screen, Collisions *gestionnaireCollisons, Sounderer *mediaPlayer, SDL_Surface* apparence)
- : Power(screen, gestionnaireCollisons, mediaPlayer, apparence)
- {
- }///Constructeur
- Bomb::~Bomb()
- {
- }///Destructeur
- void Bomb::usePower(int orientation, int &x, int &y, int const &ID)
- {
- //[0] Bruitage
- m_mediaPlayer->play("Bomb");
- //[1] Orientation de la trajectoire du Bomb
- int posX(x);
- int posY(y);
- int ajoutX(0);
- int ajoutY(0);
- convertDir(orientation, ajoutX, ajoutY);
- //[2] Parcours du Bomb dans le vide
- while (m_gestionnaireCollisions->tester(posX, posY) == VIDE)
- {
- posX += ajoutX;
- posY += ajoutY;
- }
- posX -= ajoutX;
- posY -= ajoutY;
- //[3] Boum
- for (int i(-2); i<=2; i++)
- for (int j(-2); j<=2; j++)
- if (i != 0 || j != 0) m_gestionnaireCollisions->ajouter(posX+i, posY+j, ID);
- //[END]
- m_used = true;
- }///usePower
- void Bomb::postMortemPower(int const &x, int const &y, int const &ID)
- {
- //[0] Bruitage
- m_mediaPlayer->play("Bomb");
- //[1] Explosion de blocs
- 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
|