#ifndef VideoSpieler_H #define VideoSpieler_H #include "../Kamera/VideoKamera.h" #include "../VideoDaten/VideoDaten.h" #include #define TICK 0.03333333 using namespace Framework; struct VideoSpielerRundeDaten { double xPos; double yPos; double xSpeed; double ySpeed; double kurve; int radius; bool amLeben; bool lKurve; bool rKurve; bool linieUnterbrochen; double todesZeit; double spielZeit; int renderVorTod; }; class VideoSpieler { private: int spielerNummer; int team; int spielerFarbe; int teamFarbe; Array< VideoSpielerRundeDaten* > *daten; int runde; Text *name; Text *teamName; Rahmen *teamRahmen; int gewonneneRunden; int linienLänge; double zeitAmLeben; double zeitTod; int kills; int tode; int killFarbe; Array< int > rLinienLänge; Array< int > rKills; Array< int > rTodesZeit; int ref; public: // Konstruktor VideoSpieler( SpielerVideoDaten *vDaten ); // Destruktor ~VideoSpieler(); // nicht constant void addKill(); void neuRunde( bool vorwärts, RundeSpielerVideoDaten *vDaten, bool amLeben ); void setLinksKurve( bool lKurve ); void setRechtsKurve( bool rKurve ); void setLinienUnterbrechung( bool unterbrechung ); void prozessKurve( double zeit ); void tick( Bild *zMap, double zeit ); void render( VideoKamera *zKam, Bild &zRObj ); // constant double getX() const; double getY() const; int getTeam() const; int getTeamFarbe() const; int getFarbe() const; int getSpielerNummer() const; bool istAmLeben() const; Text *getName() const; Text *zName() const; Text *getTeamName() const; Text *zTeamName() const; bool istMausIn( int mx, int my ) const; int getGewonneneRunden() const; int getLinienLänge() const; int getZeitAmLeben() const; int getZeitTod() const; int getKills() const; int getTode() const; int getKillFarbe() const; int getLinienLänge( int r ) const; int getKills( int r ) const; int getTodesZeit( int r ) const; // Reference Counting VideoSpieler *getThis(); VideoSpieler *release(); }; #endif