Variablen.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. bool operator==( VariableTyp a, VariableTyp b );
  54. bool operator!=( VariableTyp a, VariableTyp b );
  55. class Variable
  56. {
  57. private:
  58. VariableTyp typ;
  59. int ref;
  60. public:
  61. Variable( VariableTyp typ );
  62. virtual ~Variable();
  63. VariableTyp getVariableTyp() const;
  64. Variable *getThis();
  65. Variable *release();
  66. };
  67. bool isTrue( Variable *v );
  68. class Integer : public Variable
  69. {
  70. private:
  71. int value;
  72. public:
  73. Integer( int value, bool taste = 0 );
  74. void setValue( int value );
  75. int getValue() const;
  76. };
  77. class Boolean : public Variable
  78. {
  79. private:
  80. bool value;
  81. public:
  82. Boolean( bool value );
  83. void setValue( bool value );
  84. bool getValue() const;
  85. };
  86. class String : public Variable
  87. {
  88. private:
  89. Text value;
  90. public:
  91. String( const char *value );
  92. String( Richtung r );
  93. String( GeschossTyp typ );
  94. void setValue( Text value );
  95. const Text &getValue() const;
  96. };
  97. class Float : public Variable
  98. {
  99. private:
  100. float value;
  101. public:
  102. Float( float value );
  103. void setValue( float value );
  104. float getValue() const;
  105. };