Rolle.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "Rolle.h"
  2. #include "Spieler.h"
  3. RolleEffect::RolleEffect( Spieler *zSpieler, Richtung r )
  4. : Effect( zSpieler, (int)( 2.f + ( 2.f / 100.f ) * zSpieler->getAbklingZeitVerringerung() ) )
  5. {
  6. this->r = r;
  7. }
  8. RolleEffect::~RolleEffect()
  9. {}
  10. bool RolleEffect::istSpielerBeweglich( Richtung r )
  11. {
  12. return false;
  13. }
  14. bool RolleEffect::istSpielerVerwundbar( Richtung r )
  15. {
  16. return r == MITTE;
  17. }
  18. void RolleEffect::move( double time )
  19. {
  20. switch( r )
  21. {
  22. case OBEN:
  23. zSpieler->setY( zSpieler->getY() - ( 75 + zSpieler->getLaufTempo() ) * time );
  24. break;
  25. case RECHTS:
  26. zSpieler->setX( zSpieler->getX() + ( 75 + zSpieler->getLaufTempo() ) * time );
  27. break;
  28. case UNTEN:
  29. zSpieler->setY( zSpieler->getY() + ( 75 + zSpieler->getLaufTempo() ) * time );
  30. break;
  31. case LINKS:
  32. zSpieler->setX( zSpieler->getX() - ( 75 + zSpieler->getLaufTempo() ) * time );
  33. break;
  34. }
  35. }
  36. bool RolleEffect::istGegenstandErlaubt( GegenstandTyp typ )
  37. {
  38. return typ != STURM && typ != ENTERHAKEN;
  39. }