#ifndef Spieler_H #define Spieler_H #include #include #include #include "..\Kamera\Kamera.h" #include "../Team/Team.h" #include "../Karte/Strukturen.h" class Team; class Laser; class Karte; class Ship; enum TastaturStatus { T_GAS, T_ROT_L, T_ROT_R, T_FEUER, T_MAX }; class Spieler { friend class Ship; private: int accountId; int sNum; int farbe; Model2D *ship; Team *team; InformationKlientV *info; Text *name; bool tastatur[ T_MAX ]; bool amLeben; double schussAbk; double repAbk; double reinkAbk; int maxReinkAbk; int spielZeit; int stopXSpeedT; int stopYSpeedT; double stopXSpeed; double stopYSpeed; int ref; // Raumschiff Eigenschaften Punkt startPos; Vec2< double > pos; Vec2< double > speed; double rotation; double beschleunigung; double energie; double stabilität; double reparatur; double laserIntensität; double laserEffizienz; double akkuLeistung; double maxEnergie; double maxStabilität; double laserTempo; double netzwerk; double wendigkeit; int skillPunkte; // Statistik Werte double schadenBekommen; double schadenGemacht; double treibstoffVerbraucht; int schüsse; int treffer; int punkte; int kills; int tode; double zeitAmLeben; double zeitTod; // Namen Anzeige TextFeld *nText; public: // Konstruktor Spieler( InformationKlientV *zInfoK, Schrift *zSchrift, SpielerStr *zStr ); // Destruktor ~Spieler(); // nicht constant void setModelData( Model2DData *data ); void setAccountId( int accId ); void setTeam( Team *team ); void setSpielerFarbe( int fc, Bild *zTextur ); void setGeschwindigkeit( double xSpeed, double ySpeed ); void setPosition( Vec2< double > p ); void setTastataturStatus( TastaturStatus ts, bool aktiv, int sZ, Karte *zMap ); bool tick( Karte *zMap ); void render( Bild &zRObj ); void renderLeben( Bild &zRObj ); void renderMinimap( Bild &zRObj, Karte *zMap ); void setSkill( int art ); void nimmSchaden( double intensität ); void machSchaden( double intensität ); void addKill(); void sterben(); void wiederbelebung(); void setMoveZeit( int z, Karte *zMap ); void hatGeschossen(); // constant int getAccountId() const; Text *getName() const; Text *zName() const; bool hatSkill() const; bool istAmLeben() const; // Statistik Werte int getSpielerNummer() const; Team *zTeam() const; int getSpielerFarbe() const; int getSchadenBekommen() const; int getSchadenGemacht() const; int getTreibstoffVerbraucht() const; int getSchüsse() const; int getTreffer() const; int getPunkte() const; int getKills() const; int getTode() const; int getZeitAmLeben() const; int getZeitTod() const; Punkt getPos() const; double getTeamMaxEnergieBonus() const; double getTeamMaxStabilitätBonus() const; double getTeamReparaturBonus() const; double getTeamLaserIntensitätBonus() const; double getTeamLaserEffizienzBonus() const; double getTeamAkkuLeistungBonus() const; double getTeamLaserTempoBonus() const; double getTeamBeschleunigungBonus() const; double getTeamWendigkeitBonus() const; // Reference Counting Spieler *getThis(); Spieler *release(); }; #endif