SpielKlasse.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef SpielKlasse_H
  2. #define SpielKlasse_H
  3. #include "SpielV.h"
  4. #include "Spieler\Spieler.h"
  5. #include "Karte\Karte.h"
  6. #include "Chat\Chat.h"
  7. #include "Ende\Ende.h"
  8. #include "Bestenliste\Bestenliste.h"
  9. #include "..\Netzwerk\STKNachricht.h"
  10. #include "Schuss\Laser.h"
  11. #include <Bildschirm.h>
  12. #include "Objekt/SpielObjekt.h"
  13. #include <Kamera2D.h>
  14. #include "Asteroid/Asteroid.h"
  15. #include "Asteroid/Pixel.h"
  16. class SpielKlasse : public SpielV
  17. {
  18. private:
  19. struct SaveData
  20. {
  21. int spielZeit;
  22. };
  23. RCArray< STKNachricht > *stkn;
  24. int stkna;
  25. Bestenliste *bestenliste;
  26. Schrift *schrift;
  27. KSGClient::InformationServerClient *infoKlient;
  28. KSGClient::SpielServerClient *spielKlient;
  29. RCArray< Spieler > *spieler;
  30. RCArray< Asteroid > *asteroids;
  31. RCArray< Team > *teams;
  32. RCArray< SpielObjekt > *objekte;
  33. RCArray< Laser > *schüsse;
  34. Bildschirm *screen;
  35. Karte *map;
  36. Kamera2D *kam;
  37. Kamera2D *minimap;
  38. Welt2D *welt;
  39. SpielChat *chat;
  40. Ende *end;
  41. SpielerGUI *shipGUI;
  42. Datei csv;
  43. RCArray< DeadPlayer > *deads;
  44. RCArray< Model2DData > *asteroidModels;
  45. RCArray< Textur2D > *asteroidTextures;
  46. RCArray< Pixel > *pixel;
  47. bool rendern;
  48. int spielZeit;
  49. double rZeit;
  50. int spielerAnzahl;
  51. int karteId;
  52. int ladenProzent;
  53. int spielerNummer;
  54. char *tasten;
  55. bool spielPause;
  56. SaveData last;
  57. bool setKam;
  58. int ref;
  59. bool istAmLeben() const;
  60. void goBackInTime( int zeit );
  61. void goToPresence( int zeit );
  62. void load();
  63. void save();
  64. void tick();
  65. public:
  66. // Konstruktor
  67. SpielKlasse();
  68. // Destruktor
  69. ~SpielKlasse();
  70. // nicht constant
  71. void lock();
  72. void unlock();
  73. void setSchrift( Schrift *schrift ) override; // call 4
  74. void setBildschirm( Bildschirm *zScreen ) override; // call 3
  75. void nachricht( int län, char *bytes ) override;
  76. void setKlients( KSGClient::InformationServerClient *infoKlient, KSGClient::SpielServerClient *spielKlient ) override; // call 2
  77. void setKarteId( int karteId ) override; // call 1
  78. void ladeDaten() override; // call 5
  79. void doMausEreignis( MausEreignis &me ) override;
  80. void doTastaturEreignis( TastaturEreignis &te ) override;
  81. void stknVerarbeitung();
  82. bool tick( double zeit ) override;
  83. void render( Bild &zRObj ) override;
  84. // constant
  85. int läuft() const override;
  86. // Reference Counting
  87. SpielV *getThis() override;
  88. SpielV *release() override;
  89. };
  90. #endif