#include "Rolle.h" #include "Spieler.h" RolleEffect::RolleEffect( Spieler *zSpieler, Richtung r ) : Effect( zSpieler, 2.f + ( 2.f / 100.f ) * zSpieler->getAbklingZeitVerringerung() ) { this->r = r; } RolleEffect::~RolleEffect() {} bool RolleEffect::istSpielerBeweglich( Richtung r ) const { return false; } bool RolleEffect::istSpielerVerwundbar( Richtung r ) const { return r == MITTE; } void RolleEffect::move( Richtung ri, double time ) { if( 1 != ri ) return; switch( r ) { case OBEN: zSpieler->setY( zSpieler->getY() - ( 75 + zSpieler->getLaufTempo() ) * (float)time ); break; case RECHTS: zSpieler->setX( zSpieler->getX() + ( 75 + zSpieler->getLaufTempo() ) * (float)time ); break; case UNTEN: zSpieler->setY( zSpieler->getY() + ( 75 + zSpieler->getLaufTempo() ) * (float)time ); break; case LINKS: zSpieler->setX( zSpieler->getX() - ( 75 + zSpieler->getLaufTempo() ) * (float)time ); break; default: break; } } bool RolleEffect::istGegenstandErlaubt( GegenstandTyp typ ) const { return typ != STURM && typ != ENTERHAKEN; }