Spiel.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef Spiel_H
  2. #define Spiel_H
  3. #include "SpielKlasse.h"
  4. #include <Datei.h>
  5. #include "STS.h"
  6. #include "Spieler.h"
  7. #include "Karte.h"
  8. #include "SpielObjekt.h"
  9. #include "Asteroid.h"
  10. #include <Welt2D.h>
  11. #include <Random.h>
  12. #include "Pixel.h"
  13. class Statistik;
  14. class StatistikV;
  15. class Spiel : public SpielKlasse
  16. {
  17. private:
  18. RandomGenerator randG;
  19. RCArray< Asteroid > *asteroids;
  20. RCArray< Model2DData > *asteroidModels;
  21. Statistik *stat;
  22. RCArray< Team > *teams;
  23. int teamAnzahl;
  24. Array< int > *zAccounts;
  25. RCArray< SSKlientV > *zKlients;
  26. RCArray< Spieler > *spieler;
  27. RCArray< Laser > *shots;
  28. RCArray< SpielObjekt > *objekte;
  29. RCArray< Pixel > *pixel;
  30. Welt2D *welt;
  31. SSDatenbankV *psqldb;
  32. int spielId;
  33. int karteId;
  34. int spielerAnzahl;
  35. Karte *karte;
  36. CRITICAL_SECTION cs;
  37. SpielerTeamStruktur *sts;
  38. Datei *log;
  39. Text mapPfad;
  40. bool isRunning;
  41. int spielZeit;
  42. bool ende;
  43. int nextSchussId;
  44. double nextAsteroid;
  45. int asteroidId;
  46. int pixelId;
  47. // privat
  48. int getTeamVonSpieler( int sNum );
  49. public:
  50. // Konstruktor
  51. Spiel();
  52. // Destruktor
  53. ~Spiel();
  54. // nicht constant
  55. virtual void setPSQLK( SSDatenbankV *psqldb ); // call 1
  56. virtual void setSpielId( int id ); // call 2
  57. virtual void setKarteId( int karteId ); // call 3
  58. virtual void setTempPfad( char *pfad ); // call 3.5
  59. virtual void setAccounts( int anzahl, Array< int > *zAccounts ); // call 4
  60. virtual void setKlients( int anzahl, RCArray< SSKlientV > *zKlients ); // call 5
  61. virtual void setSpielerNummern( int anzahl, Array< int > *spielerNummern ); // call 6
  62. virtual void klientOffline( int accountId );
  63. virtual void klientOnline( int accountId, SSKlientV *zKlient );
  64. virtual void nachricht( int accountId, int len, char *bytes );
  65. void tick( double zeit );
  66. virtual void run(); // call 7
  67. // constant
  68. virtual StatistikV *getStatistik() const;
  69. };
  70. #endif