|
@@ -2902,9 +2902,13 @@ SchalterMitNummer::SchalterMitNummer( RCArray<Aktion> *subActions )
|
|
erlaubteTypen.add( INTEGER );
|
|
erlaubteTypen.add( INTEGER );
|
|
}
|
|
}
|
|
|
|
|
|
-void SchalterMitNummer::run( Spiel * zSpiel, Ereignis * zEreignis, LocalMemory * zMemory, ProgramCounter * zPC, double &waitCount )
|
|
|
|
|
|
+void SchalterMitNummer::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
{
|
|
{
|
|
- setReturn( zSpiel->getSchalter( ( (Integer *)zParam( 0 ) )->getValue() ) );
|
|
|
|
|
|
+ Schalter *s = zSpiel->getSchalter( ( (Integer *)zParam( 0 ) )->getValue() );
|
|
|
|
+ if( s )
|
|
|
|
+ setReturn( s );
|
|
|
|
+ else
|
|
|
|
+ setReturn( new Variable( VariableTyp::NICHTS ) );
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2916,7 +2920,11 @@ BaseMitNummer::BaseMitNummer( RCArray<Aktion> *subActions )
|
|
|
|
|
|
void BaseMitNummer::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
void BaseMitNummer::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
{
|
|
{
|
|
- setReturn( zSpiel->getBase( ( (Integer *)zParam( 0 ) )->getValue() ) );
|
|
|
|
|
|
+ Base *b = zSpiel->getBase( ( (Integer *)zParam( 0 ) )->getValue() );
|
|
|
|
+ if( b )
|
|
|
|
+ setReturn( b );
|
|
|
|
+ else
|
|
|
|
+ setReturn( new Variable( VariableTyp::NICHTS ) );
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2945,4 +2953,20 @@ void TeamVonBase::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory,
|
|
setReturn( t );
|
|
setReturn( t );
|
|
else
|
|
else
|
|
setReturn( new Variable( VariableTyp::NICHTS ) );
|
|
setReturn( new Variable( VariableTyp::NICHTS ) );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+SpielerMitNummer::SpielerMitNummer( RCArray<Aktion> *subActions )
|
|
|
|
+ : Aktion( SPIELER_MIT_NUMMER, subActions )
|
|
|
|
+{
|
|
|
|
+ erlaubteTypen.add( INTEGER );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void SpielerMitNummer::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
|
|
+{
|
|
|
|
+ Spieler *s = zSpiel->getSpieler( ( (Integer *)zParam( 0 ) )->getValue() );
|
|
|
|
+ if( s )
|
|
|
|
+ setReturn( s );
|
|
|
|
+ else
|
|
|
|
+ setReturn( new Variable( VariableTyp::NICHTS ) );
|
|
}
|
|
}
|