Teleport.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "Teleport.h"
  2. Teleport::Teleport(SDL_Surface *screen, Collisions *gestionnaireCollisons, Sounderer *mediaPlayer, SDL_Surface* apparence)
  3. : Power(screen, gestionnaireCollisons, mediaPlayer, apparence)
  4. {
  5. }///Constructeur
  6. Teleport::~Teleport()
  7. {
  8. }///Destructeur
  9. void Teleport::usePower(int orientation, int &x, int &y, int const &ID)
  10. {
  11. //[0] Bruitage
  12. m_mediaPlayer->play("Teleport");
  13. //[1]Préparation de l'orientation du bond
  14. int ajoutX(0);
  15. int ajoutY(0);
  16. convertDir(orientation, ajoutX, ajoutY);
  17. //[2]Bond
  18. for (int i(0); i<6; i++)
  19. {
  20. x += ajoutX;
  21. y += ajoutY;
  22. }
  23. //[END]
  24. m_used = true;
  25. }///usePower
  26. void Teleport::postMortemPower(int const &x, int const &y, int const &ID)
  27. {
  28. //[0] Bruitage
  29. m_mediaPlayer->play("Teleport");
  30. //[1] Inversion
  31. for (int i(-1); i<=1; i++)
  32. for (int j(-1); j<=1; j++)
  33. if ((i != 0 || j != 0) && m_gestionnaireCollisions->tester(x+i, y+j) != VIDE) m_gestionnaireCollisions->enlever(x+i, y+j);
  34. else m_gestionnaireCollisions->ajouter(x+i, y+j, ID);
  35. m_used = true;
  36. }///postMortemPower