Spiel.h 1.7 KB

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