Spiel.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef Spiel_H
  2. #define Spiel_H
  3. #include "SpielKlasse.h"
  4. #include <Array.h>
  5. #ifdef WIN32
  6. #include "..\Strukturen.h"
  7. #include "Statistik\Statistik.h"
  8. #else
  9. #include "Strukturen.h"
  10. #include "Statistik.h"
  11. #define HINSTANCE void*
  12. #endif
  13. class SSKlient; // SpielServer.h
  14. class SpielServer; // SpielServer.h
  15. using namespace Framework;
  16. using namespace Network;
  17. class Spiel : private Thread
  18. {
  19. private:
  20. SpielServer *ss;
  21. int id;
  22. RCArray< SSKlient > *klients;
  23. SpielerTeamStruktur *sts;
  24. Array< int > *accounts;
  25. Array< int > *spielerNummern;
  26. Array< int > *status;
  27. Array< int > *prozent;
  28. Array< bool > *teamAuswahlFertig;
  29. SpielKlasse *spiel;
  30. StatistikV *statistik;
  31. int state;
  32. int spielerAnzahl;
  33. int karte;
  34. HINSTANCE spielDll;
  35. int ref;
  36. int findFreeTeam();
  37. void teamAusgleich();
  38. public:
  39. // Konstruktor
  40. Spiel( int id, SpielServer *ss );
  41. // Destruktor
  42. virtual ~Spiel();
  43. // nicht constant
  44. void setAccounts( int anzahl, Array< int > *zAccounts );
  45. void setKlients( int anzahl, RCArray< SSKlient > *zKlients );
  46. void setKarteId( int karteId );
  47. bool klientVerbunden( SSKlient *klient );
  48. bool klientWechseltTeam( int accountId, int team );
  49. bool chatNachricht( char *nachricht );
  50. bool klientGetrennt( SSKlient *zKlient );
  51. bool klientTeamAuswahlFertig( int accountId );
  52. bool klientBereitZumLaden( int accountId );
  53. bool klientSpielLadenProzent( int accountId, int prozent );
  54. bool klientBereitZumSpiel( int accountId );
  55. bool spielNachricht( int accountId, int len, char *bytes );
  56. bool statistikNachricht( int accountId, int len, char *bytes );
  57. virtual void thread();
  58. // constant
  59. int getId() const;
  60. int getSpielerNummer( int accountId ) const;
  61. // Reference Counting
  62. Spiel *getThis();
  63. Spiel *release();
  64. };
  65. #endif