VideoNachricht.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #ifndef VideoNachricht_H
  2. #define VideoNachricht_H
  3. #include <Datei.h>
  4. #include <Text.h>
  5. #include "../VideoDaten/VideoDaten.h"
  6. using namespace Framework;
  7. struct VideoMSG
  8. {
  9. char typ; // 0 = Tick, 1 = Aktion
  10. };
  11. // typ = 1
  12. struct VideoAktionMSG : public VideoMSG
  13. {
  14. int spielerNummer;
  15. char aktion; // 0 = T_Links press, 1 = T_Links release, 2 = T_Rechts press, 3 = T_Rechts release, 4 = Chat Nachricht, 5 = Linien Unterbrechung
  16. };
  17. // action = 4
  18. struct VideoChatMSG : public VideoAktionMSG
  19. {
  20. int län;
  21. Text msg;
  22. };
  23. // aktion = 5
  24. struct VideoLinieMSG : public VideoAktionMSG
  25. {
  26. char unterbrechung;
  27. };
  28. class RundeNachricht : public virtual ReferenceCounter
  29. {
  30. private:
  31. int index;
  32. int maxNachricht;
  33. Array< VideoMSG * > *nachrichten;
  34. Datei *vDat;
  35. RundeVideoDaten *rvd;
  36. Array< RundeSpielerVideoDaten * > *rsvd;
  37. bool aktiv;
  38. public:
  39. // Konstruktor
  40. RundeNachricht( Datei *d, int spielerAnzahl );
  41. // Destruktor
  42. ~RundeNachricht();
  43. // nicht constant
  44. VideoMSG *GetNextNachricht();
  45. VideoMSG *GetLastNachricht();
  46. void setEnde();
  47. // constant
  48. RundeVideoDaten *getRVD() const;
  49. RundeSpielerVideoDaten *getRSVD( int index ) const;
  50. };
  51. class SpielNachricht : public virtual ReferenceCounter
  52. {
  53. private:
  54. int runde;
  55. int maxRunde;
  56. int teamAnzahl;
  57. RCArray< RundeNachricht > *runden;
  58. Datei *vDat;
  59. SpielVideoDaten *svd;
  60. Array< SpielerVideoDaten * > *spvd;
  61. Array< TeamVideoDaten * > *tvd;
  62. bool error;
  63. Text *fehler;
  64. public:
  65. // Konstruktor
  66. SpielNachricht( int num );
  67. // Destruktor
  68. ~SpielNachricht();
  69. // nicht constant
  70. VideoMSG *GetNextNachricht();
  71. VideoMSG *GetLastNachricht();
  72. int setRundenEnde( bool vorwärts );
  73. // constant
  74. SpielVideoDaten *getSVD() const;
  75. SpielerVideoDaten *getSPVD( int index ) const;
  76. TeamVideoDaten *getTVD( int index ) const;
  77. RundeVideoDaten *getRVD() const;
  78. RundeSpielerVideoDaten *getRSVD( int index ) const;
  79. bool hatFehler( Text *txt ) const;
  80. int getTeamAnzahl() const;
  81. int getRunde() const;
  82. };
  83. #endif