Rolle.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "Rolle.h"
  2. #include "Spieler.h"
  3. RolleEffect::RolleEffect( Spieler *zSpieler, Richtung r )
  4. : Effect( zSpieler, 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() ) * (float)time );
  24. break;
  25. case RECHTS:
  26. zSpieler->setX( zSpieler->getX() + ( 75 + zSpieler->getLaufTempo() ) * (float)time );
  27. break;
  28. case UNTEN:
  29. zSpieler->setY( zSpieler->getY() + ( 75 + zSpieler->getLaufTempo() ) * (float)time );
  30. break;
  31. case LINKS:
  32. zSpieler->setX( zSpieler->getX() - ( 75 + zSpieler->getLaufTempo() ) * (float)time );
  33. break;
  34. default:
  35. break;
  36. }
  37. }
  38. bool RolleEffect::istGegenstandErlaubt( GegenstandTyp typ )
  39. {
  40. return typ != STURM && typ != ENTERHAKEN;
  41. }