SpielClient.h 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #pragma once
  2. #include "../Include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. // Wird zum Online Spielen verwendet
  7. // Kann nur von eingeloggten Clients verwendet werden
  8. class SpielClient : public SpielServerClient
  9. {
  10. private:
  11. Framework::Text ip;
  12. unsigned short port;
  13. int cId;
  14. Network::Klient* senden;
  15. Network::Klient* empfangen;
  16. char* key;
  17. unsigned char keyLen;
  18. Framework::Critical cs;
  19. Framework::Text err;
  20. public:
  21. // Konstruktor
  22. SpielClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen);
  23. // Destruktor
  24. ~SpielClient();
  25. // verbindet sich mit dem zugewiesenen Karten Server
  26. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  27. bool verbinde() override;
  28. // Betritt das Vorgeschlagene Spiel
  29. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  30. bool spielErstelltAnnehmen() override;
  31. // Lehnt das Vorgeschlagene Spiel ab
  32. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  33. bool spielErstelltAblehnen() override;
  34. // Wechselt zu einem bestimmten Team
  35. // team: Die Id des teams
  36. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  37. bool spielErstelltTeamWechseln(int team) override;
  38. // Bestätigt die Teamauswahl so dass das Spiel früher beginnen kann
  39. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  40. bool spielErstelltTeamFertig() override;
  41. // sendet eine Chat Nachricht an die mitglieder des erstellten Spiels
  42. // nachricht: Die Nachricht
  43. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  44. bool spielErstelltChatNachricht(const char* nachricht) override;
  45. // Teilt dem Server mit, dass der Client bereit ist das Spiel zu laden
  46. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  47. bool bereitZumLaden() override;
  48. // Teilt dem Server mit, zu wie viel Prozent der Client das Spiel geladen hat
  49. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  50. bool setLadenProzent(int prozent) override;
  51. // Teilt dem Server mit, dass das Spiel fertig geladen wurde
  52. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  53. bool bereitZumSpiel() override;
  54. // Sendet während des Spiels eine Nachricht an den Server
  55. // län: Die Länge der Nachricht
  56. // bytes: Ein Zeiger auf die Nachricht
  57. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  58. bool spielNachricht(short län, const char* bytes) override;
  59. // Sendet während der Statistik eine Nachricht an den Server
  60. // län: Die Länge der Nachricht
  61. // bytes: Ein Zeiger auf die Nachricht
  62. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  63. bool statistikNachricht(short län, const char* bytes) override;
  64. // Wartet auf eine Nachricht vom Spiel Server.
  65. // Gibt bei Erfolg 1 zurück, 0 sonnst
  66. // nachricht: Eine Referenz auf die Struktur, in der die Nachricht gespeichert werden soll
  67. bool getNextMessage(SpielServerNachricht& nachricht) override;
  68. // Erhält die Verbindung aufrecht
  69. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  70. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  71. bool keepAlive() override;
  72. // Trennt die Verbindung zum Server
  73. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  74. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  75. bool trenne() override;
  76. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  77. bool istVerbunden() const override;
  78. // gibt den Letzten Fehlertext zuück
  79. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  80. const char* getLetzterFehler() const override;
  81. };
  82. }