Bestenliste.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. #ifndef Bestenliste_H
  2. #define Bestenliste_H
  3. #include <TextFeld.h>
  4. #include <Array.h>
  5. #include <Rahmen.h>
  6. using namespace Framework;
  7. class Spieler; // Spieler.h
  8. class BLSpieler
  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. int ref;
  21. public:
  22. // Konstruktor
  23. BLSpieler( int sNum, int farbe, Schrift *zS );
  24. // Destruktor
  25. ~BLSpieler();
  26. // nicht constant
  27. bool updateStatus( Spieler *zSpieler );
  28. void setPunkte( int p );
  29. void addPunkt( bool plus );
  30. void updatePunkte();
  31. void render( int y, Bild &zRObj );
  32. // constant
  33. int getSpielerNummer() const;
  34. int getPunkte() const;
  35. // Reference Counting
  36. BLSpieler *getThis();
  37. BLSpieler *release();
  38. };
  39. class BLTeam
  40. {
  41. private:
  42. int teamId;
  43. int spielerAnzahl;
  44. int p;
  45. int mP;
  46. int nP;
  47. int farbe;
  48. Schrift *schrift;
  49. LRahmen *rahmen;
  50. RCArray< BLSpieler > *spieler;
  51. TextFeld *name;
  52. TextFeld *punkte;
  53. TextFeld *neuPunkte;
  54. TextFeld *status;
  55. int ref;
  56. public:
  57. // Konstruktor
  58. BLTeam( int id, int farbe, Schrift *s );
  59. // Destruktor
  60. ~BLTeam();
  61. // nicht constant
  62. bool addSpieler( Spieler *zSpieler );
  63. void setName( char *name );
  64. bool updateSpielerStatus( Spieler *zSpieler );
  65. void setStatus( const char *txt, int f );
  66. void setPunkte( int p );
  67. void setMaxPunkte( int mP );
  68. bool setSpielerPunkte( int sNum, int p );
  69. void addPunkt( bool plus );
  70. bool addPunkt( int sNum, bool plus );
  71. void updatePunkte();
  72. void render( int y, Bild &zRObj );
  73. // constant
  74. int getSpielerAnzahl() const;
  75. int getPunkte() const;
  76. int getHeight() const;
  77. // Reference Counting
  78. BLTeam *getThis();
  79. BLTeam *release();
  80. };
  81. class Bestenliste
  82. {
  83. private:
  84. LRahmen *rahmen;
  85. RCArray< BLTeam > *teams;
  86. TextFeld *name;
  87. TextFeld *punkte;
  88. TextFeld *neuPunkte;
  89. TextFeld *status;
  90. VScrollBar *scroll;
  91. Schrift *schrift;
  92. bool update;
  93. int teamAnzahl;
  94. int ref;
  95. public:
  96. // Konstruktor
  97. Bestenliste( Schrift *s );
  98. // Destruktor
  99. ~Bestenliste();
  100. // nicht constant
  101. void setTeamAnzahl( int anz );
  102. void addSpieler( Spieler *zSpieler );
  103. void updateSpielerStatus( Spieler *zSpieler );
  104. void setTeamName( int team, char *name );
  105. void setTeamStatus( int team, const char *txt, int f );
  106. void setTeamPunkte( int teamId, int punkte );
  107. void setTeamMaxPunkte( int teamId, int mPunkte );
  108. void setSpielerPunkte( int teamNum, int sNum, int punkte );
  109. void addPunkt( int tNum, bool plus );
  110. void addPunkt( int tNum, int sNum, bool plus );
  111. void updatePunkte();
  112. void doMausEreignis( MausEreignis &me );
  113. void render( Bild &zRObj );
  114. // constant
  115. int getTeamAnzahl() const;
  116. bool teamExistiert( int team ) const;
  117. int getTeamPunkte( int team ) const;
  118. // Reference Counting
  119. Bestenliste *getThis();
  120. Bestenliste *release();
  121. };
  122. #endif