#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, const 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