Map.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef Map_H
  2. #define Map_H
  3. #include <Bild.h>
  4. #include "Spieler.h"
  5. #include <Random.h>
  6. #include "KSGNetwork.h"
  7. using namespace Framework;
  8. class Map : public virtual ReferenceCounter
  9. {
  10. public:
  11. struct Save
  12. {
  13. int score;
  14. int scoreCheck;
  15. bool beendet;
  16. double gameTime;
  17. RCArray< Spieler > *gegner;
  18. RCArray< Spieler > *ziele;
  19. Spieler *spieler;
  20. };
  21. private:
  22. RCArray< Spieler > *gegner;
  23. RCArray< Spieler > *ziele;
  24. Spieler *spieler;
  25. Rahmen *feld;
  26. Rahmen *kam;
  27. Rahmen *map;
  28. int kamX;
  29. int kamY;
  30. int score;
  31. int scoreCheck;
  32. int breite;
  33. int höhe;
  34. int geschwindigkeit;
  35. int zAnzahl;
  36. int neuGegner;
  37. bool beendet;
  38. double gameTime;
  39. Datei capture;
  40. Critical cs;
  41. KSGClient::MinigameServerClient *klient;
  42. RandomGenerator *rGen;
  43. char tastenStände;
  44. public:
  45. // Konstruktor
  46. Map( KSGClient::MinigameServerClient *klient );
  47. // Destruktor
  48. ~Map();
  49. // nicht constant
  50. void reset( Text *zOptionen );
  51. void doPublicMausEreignis( MausEreignis &me );
  52. void doTastaturEreignis( TastaturEreignis &te );
  53. bool tick( double tickVal );
  54. void render( Bild &zRObj );
  55. void speichern();
  56. Save *saveState();
  57. void reloadState( Save *s );
  58. // constant
  59. int getScore() const;
  60. bool istBeendet() const;
  61. bool canGoLeft() const;
  62. bool canGoUp() const;
  63. bool canGoRight() const;
  64. bool canGoDown() const;
  65. int getBestOption( bool *left, bool *up, bool *right, bool *down, int maxSteps );
  66. };
  67. #endif