12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "Boost.h"
- Boost::Boost(SDL_Surface *screen, Collisions *gestionnaireCollisons, Sounderer *mediaPlayer, SDL_Surface* apparence)
- : Power(screen, gestionnaireCollisons, mediaPlayer, apparence)
- {
- }
- Boost::~Boost()
- {
- }
- void Boost::usePower(int orientation, int &x, int &y, int const &ID)
- {
-
- m_mediaPlayer->play("Boost");
-
- int ajoutX(0);
- int ajoutY(0);
- convertDir(orientation, ajoutX, ajoutY);
- bool sboum(false);
-
- for (int i(0); i<6; i++)
- {
- if (m_gestionnaireCollisions->tester(x, y) != VIDE || sboum)
- {
- if (!sboum)
- {
- x -= ajoutX;
- y -= ajoutY;
- }
- sboum = true;
- }
- else
- {
- m_gestionnaireCollisions->ajouter(x, y, ID);
- x += ajoutX;
- y += ajoutY;
- }
- }
-
- m_used = true;
- }
- void Boost::postMortemPower(int const &x, int const &y, int const &ID)
- {
-
- m_mediaPlayer->play("Boost");
-
- 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;
- }
|