#ifndef VideoBestenliste_H #define VideoBestenliste_H #include #include using namespace Framework; class VideoSpieler; // VideoSpieler.h class VideoBLSpieler { private: int sNum; int farbe; int p; int nP; Rahmen *rahmen; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; Array< int > *rundenNP; int runde; int ref; public: // Konstruktor VideoBLSpieler( int sNum, int farbe, Schrift *zS ); // 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; // Reference Counting VideoBLSpieler *getThis(); VideoBLSpieler *release(); }; class VideoBLTeam { private: int teamId; int spielerAnzahl; int p; int mP; int nP; int farbe; Schrift *schrift; Rahmen *rahmen; RCArray< VideoBLSpieler > *spieler; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; Array< int > *rundenNP; int runde; int ref; public: // Konstruktor VideoBLTeam( int id, int farbe, Schrift *s, 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; // Reference Counting VideoBLTeam *getThis(); VideoBLTeam *release(); }; class VideoBestenliste { private: Rahmen *rahmen; RCArray< VideoBLTeam > *teams; TextFeld *name; TextFeld *punkte; TextFeld *neuPunkte; TextFeld *status; VScrollBar *scroll; Schrift *schrift; bool update; int teamAnzahl; int ref; public: // Konstruktor VideoBestenliste( Schrift *s ); // 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; // Reference Counting VideoBestenliste *getThis(); VideoBestenliste *release(); }; #endif