Variablen.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. enum GegenstandTyp
  56. {
  57. KEIN_GEGENSTAND,
  58. PFEIL,
  59. LEBEN,
  60. SCHILD,
  61. SCHUH,
  62. GEIST,
  63. KUGEL,
  64. ROLLE,
  65. STURM,
  66. DRACHENAUGE,
  67. FEUERBALL,
  68. ENTERHAKEN,
  69. MINE,
  70. RWEISHEIT,
  71. RSTRENGTH,
  72. RBOSHEIT,
  73. RLEBEN,
  74. RTEMPO,
  75. ITEMANZAHL
  76. };
  77. bool operator==( VariableTyp a, VariableTyp b );
  78. bool operator!=( VariableTyp a, VariableTyp b );
  79. class Variable
  80. {
  81. private:
  82. VariableTyp typ;
  83. int ref;
  84. public:
  85. Variable( VariableTyp typ );
  86. virtual ~Variable();
  87. VariableTyp getVariableTyp() const;
  88. Variable *getThis();
  89. Variable *release();
  90. };
  91. bool isTrue( Variable *v );
  92. class Integer : public Variable
  93. {
  94. private:
  95. int value;
  96. public:
  97. Integer( int value, bool taste = 0 );
  98. void setValue( int value );
  99. int getValue() const;
  100. };
  101. class Boolean : public Variable
  102. {
  103. private:
  104. bool value;
  105. public:
  106. Boolean( bool value );
  107. void setValue( bool value );
  108. bool getValue() const;
  109. };
  110. class String : public Variable
  111. {
  112. private:
  113. Text value;
  114. public:
  115. String( const char *value );
  116. String( Richtung r );
  117. String( GeschossTyp typ );
  118. void setValue( Text value );
  119. const Text &getValue() const;
  120. };
  121. class Float : public Variable
  122. {
  123. private:
  124. float value;
  125. public:
  126. Float( float value );
  127. void setValue( float value );
  128. float getValue() const;
  129. };