#ifndef Bestenliste_H #define Bestenliste_H #include #include #include #include using namespace Framework; class Spieler; // Spieler.h class BLSpieler : public virtual ReferenceCounter { private: int sNum; int farbe; int p; int nP; Rahmen *rahmen; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; public: // Konstruktor BLSpieler( int sNum, int farbe, UIInit &uiFactory ); // Destruktor ~BLSpieler(); // nicht constant bool updateStatus( Spieler *zSpieler ); void setPunkte( int p ); void addPunkt( bool plus ); void updatePunkte(); void render( int y, Bild &zRObj ); // constant int getSpielerNummer() const; int getPunkte() const; }; class BLTeam : public virtual ReferenceCounter { private: int teamId; int spielerAnzahl; int p; int mP; int nP; int farbe; UIInit uiFactory; LRahmen *rahmen; RCArray< BLSpieler > *spieler; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; public: // Konstruktor BLTeam( int id, int farbe, UIInit &uiFactory ); // Destruktor ~BLTeam(); // nicht constant bool addSpieler( Spieler *zSpieler ); void setName( char *name ); bool updateSpielerStatus( Spieler *zSpieler ); void setStatus( const char *txt, int f ); void setPunkte( int p ); void setMaxPunkte( int mP ); bool setSpielerPunkte( int sNum, int p ); void addPunkt( bool plus ); bool addPunkt( int sNum, bool plus ); void updatePunkte(); void render( int y, Bild &zRObj ); // constant int getSpielerAnzahl() const; int getPunkte() const; int getHeight() const; }; class Bestenliste : public virtual ReferenceCounter { private: LRahmen *rahmen; RCArray< BLTeam > *teams; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; VScrollBar *scroll; UIInit uiFactory; bool update; int teamAnzahl; public: // Konstruktor Bestenliste( UIInit &uiFactory ); // Destruktor ~Bestenliste(); // nicht constant void setTeamAnzahl( int anz ); void addSpieler( Spieler *zSpieler ); void updateSpielerStatus( Spieler *zSpieler ); void setTeamName( int team, char *name ); void setTeamStatus( int team, const char *txt, int f ); void setTeamPunkte( int teamId, int punkte ); void setTeamMaxPunkte( int teamId, int mPunkte ); void setSpielerPunkte( int teamNum, int sNum, int punkte ); void addPunkt( int tNum, bool plus ); void addPunkt( int tNum, int sNum, bool plus ); void updatePunkte(); void doPublicMausEreignis( MausEreignis &me ); void render( Bild &zRObj ); // constant int getTeamAnzahl() const; bool teamExistiert( int team ) const; int getTeamPunkte( int team ) const; }; #endif