Variablen.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  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. BESTENLISTE,
  34. ALLE
  35. };
  36. enum GeschossTyp
  37. {
  38. GESCHOSS_PFEIL,
  39. GESCHOSS_KUGEL,
  40. GESCHOSS_DRACHENAUGE,
  41. GESCHOSS_FEUERBALL,
  42. GESCHOSS_MINE
  43. };
  44. GeschossTyp getGeschossTypFromString( Text str );
  45. enum Richtung
  46. {
  47. OBEN,
  48. RECHTS,
  49. UNTEN,
  50. LINKS,
  51. MITTE,
  52. RICHTUNG_ANZAHL
  53. };
  54. Richtung invert( Richtung r );
  55. Richtung getRichtungFromString( Text str );
  56. enum GegenstandTyp
  57. {
  58. KEIN_GEGENSTAND,
  59. PFEIL,
  60. LEBEN,
  61. SCHILD,
  62. SCHUH,
  63. GEIST,
  64. KUGEL,
  65. ROLLE,
  66. STURM,
  67. DRACHENAUGE,
  68. FEUERBALL,
  69. ENTERHAKEN,
  70. MINE,
  71. RWEISHEIT,
  72. RSTRENGTH,
  73. RBOSHEIT,
  74. RLEBEN,
  75. RTEMPO,
  76. ITEMANZAHL
  77. };
  78. bool operator==( VariableTyp a, VariableTyp b );
  79. bool operator!=( VariableTyp a, VariableTyp b );
  80. class Variable : public virtual ReferenceCounter
  81. {
  82. private:
  83. VariableTyp typ;
  84. public:
  85. Variable( VariableTyp typ );
  86. virtual ~Variable();
  87. VariableTyp getVariableTyp() const;
  88. };
  89. bool isTrue( Variable *v );
  90. class Integer : public Variable
  91. {
  92. private:
  93. int value;
  94. public:
  95. Integer( int value, bool taste = 0 );
  96. void setValue( int value );
  97. int getValue() const;
  98. };
  99. class Boolean : public Variable
  100. {
  101. private:
  102. bool value;
  103. public:
  104. Boolean( bool value );
  105. void setValue( bool value );
  106. bool getValue() const;
  107. };
  108. class String : public Variable
  109. {
  110. private:
  111. Text value;
  112. public:
  113. String( const char *value );
  114. String( Richtung r );
  115. String( GeschossTyp typ );
  116. void setValue( Text value );
  117. const Text &getValue() const;
  118. };
  119. class Float : public Variable
  120. {
  121. private:
  122. float value;
  123. public:
  124. Float( float value );
  125. void setValue( float value );
  126. float getValue() const;
  127. };
  128. class Template : public Variable
  129. {
  130. private:
  131. int id;
  132. public:
  133. Template( VariableTyp typ, int id );
  134. void setId( int id );
  135. int getId() const;
  136. };