|
@@ -1,6 +1,7 @@
|
|
#include "Aktionen.h"
|
|
#include "Aktionen.h"
|
|
#include "Trigger.h"
|
|
#include "Trigger.h"
|
|
#include "Spiel.h"
|
|
#include "Spiel.h"
|
|
|
|
+#include "Bestenliste.h"
|
|
|
|
|
|
|
|
|
|
#define zParam( x ) zEvaluatedParam( x, zMemory, zPC )
|
|
#define zParam( x ) zEvaluatedParam( x, zMemory, zPC )
|
|
@@ -2650,31 +2651,14 @@ void BooleanRechnung::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMem
|
|
case TASTE:
|
|
case TASTE:
|
|
setReturn( new Boolean( ( op == GLEICH ) == ( ( (Integer *)zParam( 0 ) )->getValue() == ( (Integer *)zParam( 1 ) )->getValue() ) ) );
|
|
setReturn( new Boolean( ( op == GLEICH ) == ( ( (Integer *)zParam( 0 ) )->getValue() == ( (Integer *)zParam( 1 ) )->getValue() ) ) );
|
|
break;
|
|
break;
|
|
- case TIMER:
|
|
|
|
- case TEAM:
|
|
|
|
- case BARIERE:
|
|
|
|
- case SCHALTER:
|
|
|
|
- case BASE:
|
|
|
|
- case DROP:
|
|
|
|
- case GEGENSTAND:
|
|
|
|
- case GESCHOSS:
|
|
|
|
- case SCHIENE:
|
|
|
|
- case TUNNEL:
|
|
|
|
- case UMLENKUNG:
|
|
|
|
- case TRIGGER:
|
|
|
|
- case FEUERBALL_TREFFER:
|
|
|
|
- case AKTION:
|
|
|
|
- case GAME_OBJEKT:
|
|
|
|
- case ALLE:
|
|
|
|
- case SPIELER:
|
|
|
|
- setReturn( new Boolean( ( op == GLEICH ) == ( zParam( 0 ) == zParam( 1 ) ) ) );
|
|
|
|
- break;
|
|
|
|
case GEGENSTAND_TYP:
|
|
case GEGENSTAND_TYP:
|
|
setReturn( new Boolean( ( op == GLEICH ) == ( ( (GegenstandTypVar *)zParam( 0 ) )->getValue() == ( (GegenstandTypVar *)zParam( 1 ) )->getValue() ) ) );
|
|
setReturn( new Boolean( ( op == GLEICH ) == ( ( (GegenstandTypVar *)zParam( 0 ) )->getValue() == ( (GegenstandTypVar *)zParam( 1 ) )->getValue() ) ) );
|
|
break;
|
|
break;
|
|
case GESCHOSS_TYP:
|
|
case GESCHOSS_TYP:
|
|
setReturn( new Boolean( ( op == GLEICH ) == ( ( (String *)zParam( 0 ) )->getValue().istGleich( ( (String *)zParam( 1 ) )->getValue() ) ) ) );
|
|
setReturn( new Boolean( ( op == GLEICH ) == ( ( (String *)zParam( 0 ) )->getValue().istGleich( ( (String *)zParam( 1 ) )->getValue() ) ) ) );
|
|
break;
|
|
break;
|
|
|
|
+ default:
|
|
|
|
+ setReturn( new Boolean( ( op == GLEICH ) == ( zParam( 0 ) == zParam( 1 ) ) ) );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if( op == GREATER || op == SMALLER || op == GREATER_OR_EQUAL || op == SMALLER_OR_EQUAL )
|
|
if( op == GREATER || op == SMALLER || op == GREATER_OR_EQUAL || op == SMALLER_OR_EQUAL )
|
|
@@ -2843,4 +2827,69 @@ IntegerAusFloat::IntegerAusFloat( RCArray< Aktion > *subActions )
|
|
void IntegerAusFloat::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
void IntegerAusFloat::run( Spiel *zSpiel, Ereignis *zEreignis, LocalMemory *zMemory, ProgramCounter *zPC, double &waitCount )
|
|
{
|
|
{
|
|
setReturn( new Integer( (int)( (Float *)zParam( 0 ) )->getValue() ) );
|
|
setReturn( new Integer( (int)( (Float *)zParam( 0 ) )->getValue() ) );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BestenlisteNeu::BestenlisteNeu( RCArray<Aktion> *subActions )
|
|
|
|
+ : Aktion( BESTENLISTE_NEU, subActions )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+void BestenlisteNeu::run( Spiel * zSpiel, Ereignis * zEreignis, LocalMemory * zMemory, ProgramCounter * zPC, double &waitCount )
|
|
|
|
+{
|
|
|
|
+ setReturn( new Bestenliste( zSpiel->getNextId() ) );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BestenlisteAddZeile::BestenlisteAddZeile( RCArray<Aktion> *subActions )
|
|
|
|
+ : Aktion( BESTENLISTE_ADD_ZEILE, subActions )
|
|
|
|
+{
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( BESTENLISTE );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void BestenlisteAddZeile::run( Spiel * zSpiel, Ereignis * zEreignis, LocalMemory * zMemory, ProgramCounter * zPC, double &waitCount )
|
|
|
|
+{
|
|
|
|
+ ( (Bestenliste *)zParam( 1 ) )->addZeile( ( (String *)zParam( 0 ) )->getValue() );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BestenlisteAddSpalte::BestenlisteAddSpalte( RCArray<Aktion> *subActions )
|
|
|
|
+ : Aktion( BESTENLISTE_ADD_SPALTE, subActions )
|
|
|
|
+{
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( BESTENLISTE );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void BestenlisteAddSpalte::run( Spiel * zSpiel, Ereignis * zEreignis, LocalMemory * zMemory, ProgramCounter * zPC, double &waitCount )
|
|
|
|
+{
|
|
|
|
+ ( (Bestenliste *)zParam( 1 ) )->addSpalte( ( (String *)zParam( 0 ) )->getValue() );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BestenlisteSetWert::BestenlisteSetWert( RCArray<Aktion> *subActions )
|
|
|
|
+ : Aktion( BESTENLISTE_SET_WERT, subActions )
|
|
|
|
+{
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( BESTENLISTE );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void BestenlisteSetWert::run( Spiel * zSpiel, Ereignis * zEreignis, LocalMemory * zMemory, ProgramCounter * zPC, double &waitCount )
|
|
|
|
+{
|
|
|
|
+ ( (Bestenliste *)zParam( 3 ) )->setWert( ( (String *)zParam( 0 ) )->getValue(), ( (String *)zParam( 1 ) )->getValue(), ( (String *)zParam( 3 ) )->getValue() );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BestenlisteGetWert::BestenlisteGetWert( RCArray<Aktion> *subActions )
|
|
|
|
+ : Aktion( BESTENLISTE_GET_WERT, subActions )
|
|
|
|
+{
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( STRING );
|
|
|
|
+ erlaubteTypen.add( BESTENLISTE );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void BestenlisteGetWert::run( Spiel * zSpiel, Ereignis * zEreignis, LocalMemory * zMemory, ProgramCounter * zPC, double &waitCount )
|
|
|
|
+{
|
|
|
|
+ setReturn( new String( ( (Bestenliste *)zParam( 2 ) )->getWert( ( (String *)zParam( 0 ) )->getValue(), ( (String *)zParam( 1 ) )->getValue() ) ) );
|
|
}
|
|
}
|