Spiel.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. int ref;
  48. // privat
  49. int getTeamVonSpieler( int sNum );
  50. public:
  51. // Konstruktor
  52. Spiel();
  53. // Destruktor
  54. ~Spiel();
  55. // nicht constant
  56. virtual void setPSQLK( SSDatenbankV *psqldb ); // call 1
  57. virtual void setSpielId( int id ); // call 2
  58. virtual void setKarteId( int karteId ); // call 3
  59. virtual void setTempPfad( char *pfad ); // call 3.5
  60. virtual void setAccounts( int anzahl, Array< int > *zAccounts ); // call 4
  61. virtual void setKlients( int anzahl, RCArray< SSKlientV > *zKlients ); // call 5
  62. virtual void setSpielerNummern( int anzahl, Array< int > *spielerNummern ); // call 6
  63. virtual void klientOffline( int accountId );
  64. virtual void klientOnline( int accountId, SSKlientV *zKlient );
  65. virtual void nachricht( int accountId, int len, char *bytes );
  66. void tick( double zeit );
  67. virtual void run(); // call 7
  68. // constant
  69. virtual StatistikV *getStatistik() const;
  70. // Reference Counting
  71. virtual SpielKlasse *getThis();
  72. virtual SpielKlasse *release();
  73. };
  74. #endif