Variablen.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. #pragma once
  2. #include <Text.h>
  3. using namespace Framework;
  4. enum VariableTyp
  5. {
  6. NICHTS,
  7. INTEGER,
  8. BOOLEAN,
  9. STRING,
  10. RICHTUNG,
  11. FLOAT,
  12. TASTE,
  13. SPIELER,
  14. TIMER,
  15. TEAM,
  16. BARIERE,
  17. SCHALTER,
  18. BASE,
  19. DROP,
  20. GEGENSTAND,
  21. GEGENSTAND_TYP,
  22. GESCHOSS,
  23. GESCHOSS_TYP,
  24. SCHIENE,
  25. TUNNEL,
  26. UMLENKUNG,
  27. TRIGGER,
  28. FEUERBALL_TREFFER,
  29. AKTION,
  30. GAME_OBJEKT,
  31. ALLE
  32. };
  33. enum GeschossTyp
  34. {
  35. GESCHOSS_PFEIL,
  36. GESCHOSS_KUGEL,
  37. GESCHOSS_DRACHENAUGE,
  38. GESCHOSS_FEUERBALL,
  39. GESCHOSS_MINE
  40. };
  41. GeschossTyp getGeschossTypFromString( Text str );
  42. enum Richtung
  43. {
  44. OBEN,
  45. RECHTS,
  46. UNTEN,
  47. LINKS,
  48. MITTE,
  49. RICHTUNG_ANZAHL
  50. };
  51. Richtung invert( Richtung r );
  52. Richtung getRichtungFromString( Text str );
  53. enum GegenstandTyp
  54. {
  55. KEIN_GEGENSTAND,
  56. PFEIL,
  57. LEBEN,
  58. SCHILD,
  59. SCHUH,
  60. GEIST,
  61. KUGEL,
  62. ROLLE,
  63. STURM,
  64. DRACHENAUGE,
  65. FEUERBALL,
  66. ENTERHAKEN,
  67. MINE,
  68. RWEISHEIT,
  69. RSTRENGTH,
  70. RBOSHEIT,
  71. RLEBEN,
  72. RTEMPO,
  73. ITEMANZAHL
  74. };
  75. bool operator==( VariableTyp a, VariableTyp b );
  76. bool operator!=( VariableTyp a, VariableTyp b );
  77. class Variable
  78. {
  79. private:
  80. VariableTyp typ;
  81. int ref;
  82. public:
  83. Variable( VariableTyp typ );
  84. virtual ~Variable();
  85. VariableTyp getVariableTyp() const;
  86. Variable *getThis();
  87. Variable *release();
  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. };