Variablen.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #pragma once
  2. #include <Text.h>
  3. #define BOOLEAN _BOOLEAN
  4. #define FLOAT _FLOAT
  5. using namespace Framework;
  6. enum VariableTyp
  7. {
  8. NICHTS,
  9. INTEGER,
  10. BOOLEAN,
  11. STRING,
  12. RICHTUNG,
  13. FLOAT,
  14. TASTE,
  15. SPIELER,
  16. TIMER,
  17. TEAM,
  18. BARIERE,
  19. SCHALTER,
  20. BASE,
  21. DROP,
  22. GEGENSTAND,
  23. GEGENSTAND_TYP,
  24. GESCHOSS,
  25. GESCHOSS_TYP,
  26. SCHIENE,
  27. TUNNEL,
  28. UMLENKUNG,
  29. TRIGGER,
  30. FEUERBALL_TREFFER,
  31. AKTION,
  32. GAME_OBJEKT,
  33. ALLE
  34. };
  35. enum GeschossTyp
  36. {
  37. GESCHOSS_PFEIL,
  38. GESCHOSS_KUGEL,
  39. GESCHOSS_DRACHENAUGE,
  40. GESCHOSS_FEUERBALL,
  41. GESCHOSS_MINE
  42. };
  43. GeschossTyp getGeschossTypFromString( Text str );
  44. enum Richtung
  45. {
  46. OBEN,
  47. RECHTS,
  48. UNTEN,
  49. LINKS,
  50. MITTE,
  51. RICHTUNG_ANZAHL
  52. };
  53. Richtung invert( Richtung r );
  54. Richtung getRichtungFromString( Text str );
  55. bool operator==( VariableTyp a, VariableTyp b );
  56. bool operator!=( VariableTyp a, VariableTyp b );
  57. class Variable
  58. {
  59. private:
  60. VariableTyp typ;
  61. int ref;
  62. public:
  63. Variable( VariableTyp typ );
  64. virtual ~Variable();
  65. VariableTyp getVariableTyp() const;
  66. Variable *getThis();
  67. Variable *release();
  68. };
  69. bool isTrue( Variable *v );
  70. class Integer : public Variable
  71. {
  72. private:
  73. int value;
  74. public:
  75. Integer( int value, bool taste = 0 );
  76. void setValue( int value );
  77. int getValue() const;
  78. };
  79. class Boolean : public Variable
  80. {
  81. private:
  82. bool value;
  83. public:
  84. Boolean( bool value );
  85. void setValue( bool value );
  86. bool getValue() const;
  87. };
  88. class String : public Variable
  89. {
  90. private:
  91. Text value;
  92. public:
  93. String( const char *value );
  94. String( Richtung r );
  95. String( GeschossTyp typ );
  96. void setValue( Text value );
  97. const Text &getValue() const;
  98. };
  99. class Float : public Variable
  100. {
  101. private:
  102. float value;
  103. public:
  104. Float( float value );
  105. void setValue( float value );
  106. float getValue() const;
  107. };