Variablen.h 2.1 KB

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