Spieler.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. #ifndef Spieler_H
  2. #define Spieler_H
  3. #include <KSGKlientV.h>
  4. #include <Model2D.h>
  5. #include <TextFeld.h>
  6. #include "..\Kamera\Kamera.h"
  7. #include "../Team/Team.h"
  8. #include "../Karte/Strukturen.h"
  9. class Team;
  10. class Laser;
  11. class Karte;
  12. class Ship;
  13. enum TastaturStatus
  14. {
  15. T_GAS,
  16. T_ROT_L,
  17. T_ROT_R,
  18. T_FEUER,
  19. T_MAX
  20. };
  21. class Spieler
  22. {
  23. friend class Ship;
  24. private:
  25. int accountId;
  26. int sNum;
  27. int farbe;
  28. Model2D *ship;
  29. Team *team;
  30. InformationKlientV *info;
  31. Text *name;
  32. bool tastatur[ T_MAX ];
  33. bool amLeben;
  34. double schussAbk;
  35. double repAbk;
  36. double reinkAbk;
  37. int maxReinkAbk;
  38. int spielZeit;
  39. int stopXSpeedT;
  40. int stopYSpeedT;
  41. double stopXSpeed;
  42. double stopYSpeed;
  43. int ref;
  44. // Raumschiff Eigenschaften
  45. Punkt startPos;
  46. Vec2< double > pos;
  47. Vec2< double > speed;
  48. double rotation;
  49. double beschleunigung;
  50. double energie;
  51. double stabilität;
  52. double reparatur;
  53. double laserIntensität;
  54. double laserEffizienz;
  55. double akkuLeistung;
  56. double maxEnergie;
  57. double maxStabilität;
  58. double laserTempo;
  59. double netzwerk;
  60. double wendigkeit;
  61. int skillPunkte;
  62. // Statistik Werte
  63. double schadenBekommen;
  64. double schadenGemacht;
  65. double treibstoffVerbraucht;
  66. int schüsse;
  67. int treffer;
  68. int punkte;
  69. int kills;
  70. int tode;
  71. double zeitAmLeben;
  72. double zeitTod;
  73. // Namen Anzeige
  74. TextFeld *nText;
  75. public:
  76. // Konstruktor
  77. Spieler( InformationKlientV *zInfoK, Schrift *zSchrift, SpielerStr *zStr );
  78. // Destruktor
  79. ~Spieler();
  80. // nicht constant
  81. void setModelData( Model2DData *data );
  82. void setAccountId( int accId );
  83. void setTeam( Team *team );
  84. void setSpielerFarbe( int fc, Bild *zTextur );
  85. void setGeschwindigkeit( double xSpeed, double ySpeed );
  86. void setPosition( Vec2< double > p );
  87. void setTastataturStatus( TastaturStatus ts, bool aktiv, int sZ, Karte *zMap );
  88. bool tick( Karte *zMap );
  89. void render( Bild &zRObj );
  90. void renderLeben( Bild &zRObj );
  91. void renderMinimap( Bild &zRObj, Karte *zMap );
  92. void setSkill( int art );
  93. void nimmSchaden( double intensität );
  94. void machSchaden( double intensität );
  95. void addKill();
  96. void sterben();
  97. void wiederbelebung();
  98. void setMoveZeit( int z, Karte *zMap );
  99. void hatGeschossen();
  100. // constant
  101. int getAccountId() const;
  102. Text *getName() const;
  103. Text *zName() const;
  104. bool hatSkill() const;
  105. bool istAmLeben() const;
  106. // Statistik Werte
  107. int getSpielerNummer() const;
  108. Team *zTeam() const;
  109. int getSpielerFarbe() const;
  110. int getSchadenBekommen() const;
  111. int getSchadenGemacht() const;
  112. int getTreibstoffVerbraucht() const;
  113. int getSchüsse() const;
  114. int getTreffer() const;
  115. int getPunkte() const;
  116. int getKills() const;
  117. int getTode() const;
  118. int getZeitAmLeben() const;
  119. int getZeitTod() const;
  120. Punkt getPos() const;
  121. double getTeamMaxEnergieBonus() const;
  122. double getTeamMaxStabilitätBonus() const;
  123. double getTeamReparaturBonus() const;
  124. double getTeamLaserIntensitätBonus() const;
  125. double getTeamLaserEffizienzBonus() const;
  126. double getTeamAkkuLeistungBonus() const;
  127. double getTeamLaserTempoBonus() const;
  128. double getTeamBeschleunigungBonus() const;
  129. double getTeamWendigkeitBonus() const;
  130. // Reference Counting
  131. Spieler *getThis();
  132. Spieler *release();
  133. };
  134. #endif