#pragma once #include using namespace Framework; enum VariableTyp { NICHTS, INTEGER, BOOLEAN, STRING, RICHTUNG, FLOAT, TASTE, SPIELER, TIMER, TEAM, BARIERE, SCHALTER, BASE, DROP, GEGENSTAND, GEGENSTAND_TYP, GESCHOSS, SCHIENE, TUNNEL, UMLENKUNG, TRIGGER, FEUERBALL_TREFFER, AKTION }; class Variable { private: VariableTyp typ; int ref; public: Variable( VariableTyp typ ); virtual ~Variable(); VariableTyp getVariableTyp() const; Variable *getThis(); Variable *release(); }; bool isTrue( Variable *v ); class Integer : public Variable { private: int value; public: Integer( int value, bool taste = 0 ); void setValue( int value ); int getValue() const; }; class Boolean : public Variable { private: bool value; public: Boolean( bool value ); void setValue( bool value ); bool getValue() const; }; class String : public Variable { private: Text value; public: String( const char *value, bool richtung = 0 ); void setValue( Text value ); const Text &getValue() const; }; class Float : public Variable { private: float value; public: Float( float value ); void setValue( float value ); float getValue() const; };