Variablen.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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
  81. {
  82. private:
  83. VariableTyp typ;
  84. int ref;
  85. public:
  86. Variable( VariableTyp typ );
  87. virtual ~Variable();
  88. VariableTyp getVariableTyp() const;
  89. Variable *getThis();
  90. Variable *release();
  91. };
  92. bool isTrue( Variable *v );
  93. class Integer : public Variable
  94. {
  95. private:
  96. int value;
  97. public:
  98. Integer( int value, bool taste = 0 );
  99. void setValue( int value );
  100. int getValue() const;
  101. };
  102. class Boolean : public Variable
  103. {
  104. private:
  105. bool value;
  106. public:
  107. Boolean( bool value );
  108. void setValue( bool value );
  109. bool getValue() const;
  110. };
  111. class String : public Variable
  112. {
  113. private:
  114. Text value;
  115. public:
  116. String( const char *value );
  117. String( Richtung r );
  118. String( GeschossTyp typ );
  119. void setValue( Text value );
  120. const Text &getValue() const;
  121. };
  122. class Float : public Variable
  123. {
  124. private:
  125. float value;
  126. public:
  127. Float( float value );
  128. void setValue( float value );
  129. float getValue() const;
  130. };