VideoBestenliste.h 3.2 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, 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