VideoBestenliste.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #ifndef VideoBestenliste_H
  2. #define VideoBestenliste_H
  3. #include <TextFeld.h>
  4. #include <Array.h>
  5. #include <UIInitialization.h>
  6. using namespace Framework;
  7. class VideoSpieler; // VideoSpieler.h
  8. class VideoBLSpieler : public virtual ReferenceCounter
  9. {
  10. private:
  11. int sNum;
  12. int farbe;
  13. int p;
  14. int nP;
  15. Rahmen* rahmen;
  16. TextFeld* name;
  17. TextFeld* punkte;
  18. TextFeld* neuPunkte;
  19. TextFeld* status;
  20. Array< int >* rundenNP;
  21. int runde;
  22. public:
  23. // Konstruktor
  24. VideoBLSpieler(int sNum, int farbe, UIInit& uiFactory);
  25. // Destruktor
  26. ~VideoBLSpieler();
  27. // nicht constant
  28. bool updateStatus(VideoSpieler* zSpieler);
  29. void setPunkte(int p);
  30. void addPunkt(bool plus);
  31. void updatePunkte(bool vorwärts);
  32. void render(int y, Bild& zRObj);
  33. // constant
  34. int getSpielerNummer() const;
  35. int getPunkte() const;
  36. };
  37. class VideoBLTeam : public virtual ReferenceCounter
  38. {
  39. private:
  40. int teamId;
  41. int spielerAnzahl;
  42. int p;
  43. int mP;
  44. int nP;
  45. int farbe;
  46. UIInit uiFactory;
  47. Rahmen* rahmen;
  48. RCArray< VideoBLSpieler >* spieler;
  49. TextFeld* name;
  50. TextFeld* punkte;
  51. TextFeld* neuPunkte;
  52. TextFeld* status;
  53. Array< int >* rundenNP;
  54. int runde;
  55. public:
  56. // Konstruktor
  57. VideoBLTeam(int id, int farbe, UIInit& uiFactory, const char* n);
  58. // Destruktor
  59. ~VideoBLTeam();
  60. // nicht constant
  61. bool addSpieler(VideoSpieler* zSpieler);
  62. bool updateSpielerStatus(VideoSpieler* zSpieler);
  63. void setStatus(const char* txt, int f);
  64. void setPunkte(int p);
  65. void setMaxPunkte(int mP);
  66. bool setSpielerPunkte(int sNum, int p);
  67. void addPunkt(bool plus);
  68. bool addPunkt(int sNum, bool plus);
  69. void updatePunkte(bool vorwärts);
  70. void render(int y, Bild& zRObj);
  71. // constant
  72. int getSpielerAnzahl() const;
  73. int getPunkte() const;
  74. int getHeight() const;
  75. bool hatGewonnen() const;
  76. int getSpielerPunkte(int sNum) const;
  77. };
  78. class VideoBestenliste : public virtual ReferenceCounter
  79. {
  80. private:
  81. Rahmen* rahmen;
  82. RCArray< VideoBLTeam >* teams;
  83. TextFeld* name;
  84. TextFeld* punkte;
  85. TextFeld* neuPunkte;
  86. TextFeld* status;
  87. VScrollBar* scroll;
  88. UIInit uiFactory;
  89. bool update;
  90. int teamAnzahl;
  91. public:
  92. // Konstruktor
  93. VideoBestenliste(UIInit& uiFactory);
  94. // Destruktor
  95. ~VideoBestenliste();
  96. // nicht constant
  97. void setTeamAnzahl(int anz);
  98. void addSpieler(VideoSpieler* zSpieler);
  99. void updateSpielerStatus(VideoSpieler* zSpieler);
  100. void setTeamStatus(int team, const char* txt, int f);
  101. void setTeamPunkte(int teamId, int punkte);
  102. void setTeamMaxPunkte(int teamId, int mPunkte);
  103. void setSpielerPunkte(int teamNum, int sNum, int punkte);
  104. void addPunkt(int tNum, bool plus);
  105. void addPunkt(int tNum, int sNum, bool plus);
  106. void updatePunkte(bool vorwärts = 1);
  107. void doPublicMausEreignis(MausEreignis& me);
  108. void render(Bild& zRObj);
  109. // constant
  110. int getTeamAnzahl() const;
  111. bool teamExistiert(int team) const;
  112. int getTeamPunkte(int team) const;
  113. bool hatTeamGewonnen(int team) const;
  114. int getSpielerPunkte(int team, int sNum) const;
  115. };
  116. #endif