Variablen.h 2.1 KB

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