Variablen.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. SCHIENE,
  24. TUNNEL,
  25. UMLENKUNG,
  26. TRIGGER,
  27. FEUERBALL_TREFFER,
  28. AKTION
  29. };
  30. class Variable
  31. {
  32. private:
  33. VariableTyp typ;
  34. int ref;
  35. public:
  36. Variable( VariableTyp typ );
  37. virtual ~Variable();
  38. VariableTyp getVariableTyp() const;
  39. Variable *getThis();
  40. Variable *release();
  41. };
  42. bool isTrue( Variable *v );
  43. class Integer : public Variable
  44. {
  45. private:
  46. int value;
  47. public:
  48. Integer( int value, bool taste = 0 );
  49. void setValue( int value );
  50. int getValue() const;
  51. };
  52. class Boolean : public Variable
  53. {
  54. private:
  55. bool value;
  56. public:
  57. Boolean( bool value );
  58. void setValue( bool value );
  59. bool getValue() const;
  60. };
  61. class String : public Variable
  62. {
  63. private:
  64. Text value;
  65. public:
  66. String( const char *value, bool richtung = 0 );
  67. void setValue( Text value );
  68. const Text &getValue() const;
  69. };
  70. class Float : public Variable
  71. {
  72. private:
  73. float value;
  74. public:
  75. Float( float value );
  76. void setValue( float value );
  77. float getValue() const;
  78. };