#ifndef VideoBestenliste_H #define VideoBestenliste_H #include #include #include using namespace Framework; class VideoSpieler; // VideoSpieler.h class VideoBLSpieler : public virtual ReferenceCounter { private: int sNum; int farbe; int p; int nP; Rahmen *rahmen; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; Array< int > *rundenNP; int runde; public: // Konstruktor VideoBLSpieler( int sNum, int farbe, UIInit &uiFactory ); // Destruktor ~VideoBLSpieler(); // nicht constant bool updateStatus( VideoSpieler *zSpieler ); void setPunkte( int p ); void addPunkt( bool plus ); void updatePunkte( bool vorwärts ); void render( int y, Bild &zRObj ); // constant int getSpielerNummer() const; int getPunkte() const; }; class VideoBLTeam : public virtual ReferenceCounter { private: int teamId; int spielerAnzahl; int p; int mP; int nP; int farbe; UIInit uiFactory; Rahmen *rahmen; RCArray< VideoBLSpieler > *spieler; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; Array< int > *rundenNP; int runde; public: // Konstruktor VideoBLTeam( int id, int farbe, UIInit &uiFactory, char *n ); // Destruktor ~VideoBLTeam(); // nicht constant bool addSpieler( VideoSpieler *zSpieler ); bool updateSpielerStatus( VideoSpieler *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( bool vorwärts ); void render( int y, Bild &zRObj ); // constant int getSpielerAnzahl() const; int getPunkte() const; int getHeight() const; bool hatGewonnen() const; int getSpielerPunkte( int sNum ) const; }; class VideoBestenliste : public virtual ReferenceCounter { private: Rahmen *rahmen; RCArray< VideoBLTeam > *teams; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; VScrollBar *scroll; UIInit uiFactory; bool update; int teamAnzahl; public: // Konstruktor VideoBestenliste( UIInit &uiFactory ); // Destruktor ~VideoBestenliste(); // nicht constant void setTeamAnzahl( int anz ); void addSpieler( VideoSpieler *zSpieler ); void updateSpielerStatus( VideoSpieler *zSpieler ); 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( bool vorwärts = 1 ); void doPublicMausEreignis( MausEreignis &me ); void render( Bild &zRObj ); // constant int getTeamAnzahl() const; bool teamExistiert( int team ) const; int getTeamPunkte( int team ) const; bool hatTeamGewonnen( int team ) const; int getSpielerPunkte( int team, int sNum ) const; }; #endif