#pragma once #include #include class Klient; class SSKlientV; using namespace Framework; enum TastaturStatus { T_GAS, T_ROT_L, T_ROT_R, T_FEUER, T_MAX }; class Spieler : public Model2DObject { private: // antrieb Vertex stL; Vertex kL; Vertex stR; Vertex kR; Vertex stM; Vertex kM; int accountId; int sNum; int farbe; bool tastatur[ T_MAX ]; bool amLeben; double schussAbk; double energieAbk; double repAbk; double reinkAbk; int maxReinkAbk; // Raumschiff Eigenschaftend Vertex startPos; double beschleunigung; double beschleunigungStart; double energie; double stability; double reparatur; double laserIntensity; double laserEffizienz; double akkuLeistung; double akkuLeistungStart; double maxEnergie; double maxStability; double laserTempo; double netzwerk; double wendigkeit; double wendigkeitStart; double antriebEffizienz; double energieSchild; double energieSchildEffizienz; int skillPunkte; // Statistik Werte double schadenBekommen; double schadenGemacht; double treibstoffVerbraucht; int shots; int treffer; int punkte; int kills; int tode; double zeitAmLeben; double zeitTod; bool needWiederbelebung; public: // Konstruktor Spieler(); // Destruktor ~Spieler(); // nicht constant void offline(); void online( SSKlientV *zKlient ); void setModelData( Model2DData *data ); void setAccountId( int id ); void setSpielerFarbe( int farbe ); bool setTastataturStatus( TastaturStatus ts, bool aktiv ); bool tick( double zeit ); bool setSkill( int art ); bool nimmSchaden( double &intensity ); void machSchaden( double intensity, bool kill ); void wiederbeleben(); // constant int getAccountId() const; bool istOnline() const; bool istTreffer( Vec2< float > pos ) const; // Raumschiff Eigenschaften double getTeamMaxEnergieBonus() const; double getTeamMaxStabilityBonus() const; double getTeamReparaturBonus() const; double getTeamLaserIntensityBonus() const; double getTeamLaserEffizienzBonus() const; double getTeamAkkuLeistungBonus() const; double getTeamLaserTempoBonus() const; double getTeamBeschleunigungBonus() const; double getTeamWendigkeitBonus() const; double getTeamAntriebEffizienzBonus() const; double getTeamEnergieSchildBonus() const; double getTeamEnergieSchildEffizienzBonus() const; bool istAmLeben() const; // Statistik Werte int getSpielerNummer() const; int getSpielerFarbe() const; int getSchadenBekommen() const; int getSchadenGemacht() const; int getTreibstoffVerbraucht() const; int getShots() const; int getTreffer() const; int getPunkte() const; int getKills() const; int getTode() const; int getZeitAmLeben() const; int getZeitTod() const; bool doNeedWiederbelebung() const; // Reference Counting Spieler *getThis(); Spieler *release(); };