12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "Boost.h"
- Boost::Boost(SDL_Surface *screen, Collisions *gestionnaireCollisons, Sounderer *mediaPlayer, SDL_Surface* apparence)
- : Power(screen, gestionnaireCollisons, mediaPlayer, apparence)
- {
- }///Constructeur
- Boost::~Boost()
- {
- }///Destructeur
- void Boost::usePower(int orientation, int &x, int &y, int const &ID)
- {
- //[0] Bruitage
- m_mediaPlayer->play("Boost");
- //[1]Préparation de l'orientation du bond
- int ajoutX(0);
- int ajoutY(0);
- convertDir(orientation, ajoutX, ajoutY);
- bool sboum(false);
- //[2]Bond
- for (int i(0); i<6; i++)
- {
- if (m_gestionnaireCollisions->tester(x, y) != VIDE || sboum)
- {
- if (!sboum)
- {
- x -= ajoutX;
- y -= ajoutY;
- }
- sboum = true;
- }
- else
- {//Si pas de mur rencontré
- m_gestionnaireCollisions->ajouter(x, y, ID);
- x += ajoutX;
- y += ajoutY;
- }
- }
- //[END]
- m_used = true;
- }///usePower
- void Boost::postMortemPower(int const &x, int const &y, int const &ID)
- {
- //[0] Bruitage
- m_mediaPlayer->play("Boost");
- //[1] Etalage
- int portee(2);
- for (int i(-portee); i <= portee; i++)
- if ( i != 0 )
- m_gestionnaireCollisions->ajouter(x, y+i, ID);
- for (int i(-portee); i <= portee; i++)
- if ( i != 0 )
- m_gestionnaireCollisions->ajouter(x+i, y, ID);
- m_used = true;
- }///postMortemPower
|