|
@@ -458,20 +458,20 @@ void Spieler::addGetroffen()
|
|
getroffen++;
|
|
getroffen++;
|
|
}
|
|
}
|
|
|
|
|
|
-void Spieler::move( double zeit )
|
|
|
|
|
|
+void Spieler::move( Richtung r, double zeit )
|
|
{
|
|
{
|
|
- if( istAmLeben() )
|
|
|
|
|
|
+ if( istAmLeben() && istBeweglich( r ) )
|
|
{
|
|
{
|
|
- if( tastenStand[ 'w' ] && istBeweglich( OBEN ) )
|
|
|
|
|
|
+ if( tastenStand[ 'w' ] && r == OBEN )
|
|
y -= laufTempo * (float)zeit;
|
|
y -= laufTempo * (float)zeit;
|
|
- if( tastenStand[ 'a' ] && istBeweglich( LINKS ) )
|
|
|
|
|
|
+ if( tastenStand[ 'a' ] && r == LINKS )
|
|
x -= laufTempo * (float)zeit;
|
|
x -= laufTempo * (float)zeit;
|
|
- if( tastenStand[ 's' ] && istBeweglich( UNTEN ) )
|
|
|
|
|
|
+ if( tastenStand[ 's' ] && r == UNTEN )
|
|
y += laufTempo * (float)zeit;
|
|
y += laufTempo * (float)zeit;
|
|
- if( tastenStand[ 'd' ] && istBeweglich( RECHTS ) )
|
|
|
|
|
|
+ if( tastenStand[ 'd' ] && r == RECHTS )
|
|
x += laufTempo * (float)zeit;
|
|
x += laufTempo * (float)zeit;
|
|
for( auto e = effekte.getIterator(); e; e++ )
|
|
for( auto e = effekte.getIterator(); e; e++ )
|
|
- e->move( zeit );
|
|
|
|
|
|
+ e->move( r, zeit );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|