123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- #ifndef Spieler_H
- #define Spieler_H
- #include <KSGKlientV.h>
- #include <Model2D.h>
- #include <TextFeld.h>
- #include <Animation.h>
- #include "..\Kamera\Kamera.h"
- #include "../Team/Team.h"
- #include "../Karte/Strukturen.h"
- class Team;
- class Laser;
- class Karte;
- class SpielerGUI;
- enum TastaturStatus
- {
- T_GAS,
- T_ROT_L,
- T_ROT_R,
- T_FEUER,
- T_MAX
- };
- class Spieler
- {
- friend class SpielerGUI;
- 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;
- Textur2D *flammenM;
- Textur2D *flammenL;
- Textur2D *flammenR;
- // Namen Anzeige
- TextFeld *nText;
- double calculateLaserCost();
- public:
- // Konstruktor
- Spieler( InformationKlientV *zInfoK, Schrift *zSchrift, SpielerStr *zStr );
- // Destruktor
- ~Spieler();
- // nicht constant
- void setModelData( Model2DData *data, Animation2DData *zFStart, Animation2DData *zFBurn );
- 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
|