|
@@ -48,7 +48,7 @@ bool Aktion::runNext( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
Variable *result = zReturn;
|
|
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();
|
|
zPC->stepOut();
|
|
return 1;
|
|
return 1;
|
|
@@ -341,7 +341,7 @@ void SpielEnde::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, P
|
|
Variable *t = zParam( 0 );
|
|
Variable *t = zParam( 0 );
|
|
if( t->getVariableTyp() != NICHTS && t->getVariableTyp() != TEAM )
|
|
if( t->getVariableTyp() != NICHTS && t->getVariableTyp() != TEAM )
|
|
t = 0;
|
|
t = 0;
|
|
- zSpiel->setEnde( t->getVariableTyp() == NICHTS ? 0 : (Team *)t );
|
|
|
|
|
|
+ zSpiel->setEnde( ( !t || t->getVariableTyp() == NICHTS ) ? 0 : (Team *)t );
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1037,7 +1037,8 @@ void DropZuletztGedropt::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *z
|
|
|
|
|
|
|
|
|
|
IntegerRechnen::IntegerRechnen( RCArray< Aktion > *subActions, Operator op )
|
|
IntegerRechnen::IntegerRechnen( RCArray< Aktion > *subActions, Operator op )
|
|
- : Aktion( INTEGER_RECHNEN, subActions )
|
|
|
|
|
|
+ : Aktion( INTEGER_RECHNEN, subActions ),
|
|
|
|
+ op()
|
|
{
|
|
{
|
|
erlaubteTypen.add( INTEGER );
|
|
erlaubteTypen.add( INTEGER );
|
|
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 mi = ( (Integer *)zParam( 0 ) )->getValue();
|
|
int ma = ( (Integer *)zParam( 1 ) )->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 ) ) );
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|