Spiel.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. class Statistik;
  10. class StatistikV;
  11. class Spiel : public SpielKlasse
  12. {
  13. private:
  14. Statistik *stat;
  15. RCArray< Team > *teams;
  16. int teamAnzahl;
  17. Array< int > *zAccounts;
  18. RCArray< SSKlientV > *zKlients;
  19. RCArray< Spieler > *spieler;
  20. RCArray< Laser > *shots;
  21. RCArray< SpielObjekt > *objekte;
  22. SSDatenbankV *psqldb;
  23. int spielId;
  24. int karteId;
  25. int spielerAnzahl;
  26. Karte *karte;
  27. CRITICAL_SECTION cs;
  28. SpielerTeamStruktur *sts;
  29. Datei *log;
  30. Text mapPfad;
  31. bool isRunning;
  32. int spielZeit;
  33. bool ende;
  34. int nextSchussId;
  35. int ref;
  36. // privat
  37. int getTeamVonSpieler( int sNum );
  38. public:
  39. // Konstruktor
  40. Spiel();
  41. // Destruktor
  42. ~Spiel();
  43. // nicht constant
  44. virtual void setPSQLK( SSDatenbankV *psqldb ); // call 1
  45. virtual void setSpielId( int id ); // call 2
  46. virtual void setKarteId( int karteId ); // call 3
  47. virtual void setTempPfad( char *pfad ); // call 3.5
  48. virtual void setAccounts( int anzahl, Array< int > *zAccounts ); // call 4
  49. virtual void setKlients( int anzahl, RCArray< SSKlientV > *zKlients ); // call 5
  50. virtual void setSpielerNummern( int anzahl, Array< int > *spielerNummern ); // call 6
  51. virtual void klientOffline( int accountId );
  52. virtual void klientOnline( int accountId, SSKlientV *zKlient );
  53. virtual void nachricht( int accountId, int len, char *bytes );
  54. void tick( double zeit );
  55. virtual void run(); // call 7
  56. // constant
  57. virtual StatistikV *getStatistik() const;
  58. // Reference Counting
  59. virtual SpielKlasse *getThis();
  60. virtual SpielKlasse *release();
  61. };
  62. #endif