|
@@ -48,7 +48,7 @@ bool Aktion::runNext( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory,
|
|
|
return 0;
|
|
|
}
|
|
|
Variable *result = zReturn;
|
|
|
- if( ( !result && erlaubteTypen.get( i ) != NICHTS ) || result->getVariableTyp() != erlaubteTypen.get( i ) )
|
|
|
+ if( ( !result && erlaubteTypen.get( i ) != NICHTS ) || ( result && result->getVariableTyp() != erlaubteTypen.get( i ) ) )
|
|
|
{
|
|
|
zPC->stepOut();
|
|
|
return 1;
|
|
@@ -146,7 +146,7 @@ void KonstantVariable::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMe
|
|
|
if( zMemory->zVariable( name ) )
|
|
|
setReturn( zMemory->getVariable( name ) );
|
|
|
else if( zEreignis->zParameter( name ) )
|
|
|
- setReturn( zEreignis->zParameter( name ) );
|
|
|
+ setReturn( zEreignis->getParameter( name ) );
|
|
|
else if( zSpiel->zVariable( name ) )
|
|
|
setReturn( zSpiel->getVariable( name ) );
|
|
|
else
|
|
@@ -341,7 +341,7 @@ void SpielEnde::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, P
|
|
|
Variable *t = zParam( 0 );
|
|
|
if( t->getVariableTyp() != NICHTS && t->getVariableTyp() != TEAM )
|
|
|
t = 0;
|
|
|
- zSpiel->setEnde( t->getVariableTyp() == NICHTS ? 0 : (Team *)t );
|
|
|
+ zSpiel->setEnde( ( !t || t->getVariableTyp() == NICHTS ) ? 0 : (Team *)t );
|
|
|
}
|
|
|
|
|
|
|
|
@@ -652,7 +652,7 @@ BariereSetTeam::BariereSetTeam( RCArray< Aktion > *subActions )
|
|
|
|
|
|
void BariereSetTeam::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
|
{
|
|
|
- ( (Bariere *)zParam( 1 ) )->setTeam( ( (Team *)zParam( 0 ) ) );
|
|
|
+ ( (Bariere *)zParam( 1 ) )->setTeam( ( (Team *)getParam( 0 ) ) );
|
|
|
}
|
|
|
|
|
|
|
|
@@ -757,7 +757,7 @@ BaseSetTeam::BaseSetTeam( RCArray< Aktion > *subActions )
|
|
|
|
|
|
void BaseSetTeam::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
|
{
|
|
|
- ( (Base *)zParam( 1 ) )->setTeam( ( (Team *)zParam( 0 ) ), zSpiel );
|
|
|
+ ( (Base *)zParam( 1 ) )->setTeam( ( (Team *)getParam( 0 ) ), zSpiel );
|
|
|
}
|
|
|
|
|
|
|
|
@@ -770,7 +770,7 @@ BaseStartTeamChange::BaseStartTeamChange( RCArray< Aktion > *subActions )
|
|
|
|
|
|
void BaseStartTeamChange::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
|
{
|
|
|
- ( (Base *)zParam( 1 ) )->startChange( ( (Team *)zParam( 0 ) ) );
|
|
|
+ ( (Base *)zParam( 1 ) )->startChange( ( (Team *)getParam( 0 ) ) );
|
|
|
}
|
|
|
|
|
|
|
|
@@ -906,7 +906,7 @@ GeschossSetPlayer::GeschossSetPlayer( RCArray< Aktion > *subActions )
|
|
|
|
|
|
void GeschossSetPlayer::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
|
{
|
|
|
- ( (Geschoss *)zParam( 1 ) )->setBesitzer( ( (Spieler *)zMemory->getVariable( zPC->getUniqueString() + "R0__" ) ) );
|
|
|
+ ( (Geschoss *)zParam( 1 ) )->setBesitzer( ( (Spieler *)getParam( 0 ) ) );
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1037,7 +1037,8 @@ void DropZuletztGedropt::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *z
|
|
|
|
|
|
|
|
|
IntegerRechnen::IntegerRechnen( RCArray< Aktion > *subActions, Operator op )
|
|
|
- : Aktion( INTEGER_RECHNEN, subActions )
|
|
|
+ : Aktion( INTEGER_RECHNEN, subActions ),
|
|
|
+ op()
|
|
|
{
|
|
|
erlaubteTypen.add( INTEGER );
|
|
|
erlaubteTypen.add( INTEGER );
|
|
@@ -1133,7 +1134,7 @@ void IntegerZufall::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemor
|
|
|
{
|
|
|
int mi = ( (Integer *)zParam( 0 ) )->getValue();
|
|
|
int ma = ( (Integer *)zParam( 1 ) )->getValue();
|
|
|
- setReturn( new Integer( (int)( zSpiel->getRand() * ( ma - mi ) + mi ) ) );
|
|
|
+ setReturn( new Integer( (int)( zSpiel->getRand() * ( (__int64)ma - mi ) + mi ) ) );
|
|
|
}
|
|
|
|
|
|
|