Spieler.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #pragma once
  2. #include <Bild.h>
  3. #include <Model2D.h>
  4. class Klient;
  5. class SSKlientV;
  6. using namespace Framework;
  7. enum TastaturStatus
  8. {
  9. T_GAS,
  10. T_ROT_L,
  11. T_ROT_R,
  12. T_FEUER,
  13. T_MAX
  14. };
  15. class Spieler : public Model2DObject
  16. {
  17. private:
  18. // antrieb
  19. Vertex stL;
  20. Vertex kL;
  21. Vertex stR;
  22. Vertex kR;
  23. Vertex stM;
  24. Vertex kM;
  25. int accountId;
  26. int sNum;
  27. int farbe;
  28. bool tastatur[ T_MAX ];
  29. bool amLeben;
  30. double schussAbk;
  31. double energieAbk;
  32. double repAbk;
  33. double reinkAbk;
  34. int maxReinkAbk;
  35. // Raumschiff Eigenschaftend
  36. Vertex startPos;
  37. double beschleunigung;
  38. double beschleunigungStart;
  39. double energie;
  40. double stability;
  41. double reparatur;
  42. double laserIntensity;
  43. double laserEffizienz;
  44. double akkuLeistung;
  45. double akkuLeistungStart;
  46. double maxEnergie;
  47. double maxStability;
  48. double laserTempo;
  49. double netzwerk;
  50. double wendigkeit;
  51. double wendigkeitStart;
  52. double antriebEffizienz;
  53. double energieSchild;
  54. double energieSchildEffizienz;
  55. int skillPunkte;
  56. // Statistik Werte
  57. double schadenBekommen;
  58. double schadenGemacht;
  59. double treibstoffVerbraucht;
  60. int shots;
  61. int treffer;
  62. int punkte;
  63. int kills;
  64. int tode;
  65. double zeitAmLeben;
  66. double zeitTod;
  67. bool needWiederbelebung;
  68. public:
  69. // Konstruktor
  70. Spieler();
  71. // Destruktor
  72. ~Spieler();
  73. // nicht constant
  74. void offline();
  75. void online( SSKlientV *zKlient );
  76. void setModelData( Model2DData *data );
  77. void setAccountId( int id );
  78. void setSpielerFarbe( int farbe );
  79. bool setTastataturStatus( TastaturStatus ts, bool aktiv );
  80. bool tick( double zeit );
  81. bool setSkill( int art );
  82. bool nimmSchaden( double &intensity );
  83. void machSchaden( double intensity, bool kill );
  84. void wiederbeleben();
  85. // constant
  86. int getAccountId() const;
  87. bool istOnline() const;
  88. bool istTreffer( Vec2< float > pos ) const;
  89. // Raumschiff Eigenschaften
  90. double getTeamMaxEnergieBonus() const;
  91. double getTeamMaxStabilityBonus() const;
  92. double getTeamReparaturBonus() const;
  93. double getTeamLaserIntensityBonus() const;
  94. double getTeamLaserEffizienzBonus() const;
  95. double getTeamAkkuLeistungBonus() const;
  96. double getTeamLaserTempoBonus() const;
  97. double getTeamBeschleunigungBonus() const;
  98. double getTeamWendigkeitBonus() const;
  99. double getTeamAntriebEffizienzBonus() const;
  100. double getTeamEnergieSchildBonus() const;
  101. double getTeamEnergieSchildEffizienzBonus() const;
  102. bool istAmLeben() const;
  103. // Statistik Werte
  104. int getSpielerNummer() const;
  105. int getSpielerFarbe() const;
  106. int getSchadenBekommen() const;
  107. int getSchadenGemacht() const;
  108. int getTreibstoffVerbraucht() const;
  109. int getShots() const;
  110. int getTreffer() const;
  111. int getPunkte() const;
  112. int getKills() const;
  113. int getTode() const;
  114. int getZeitAmLeben() const;
  115. int getZeitTod() const;
  116. bool doNeedWiederbelebung() const;
  117. // Reference Counting
  118. Spieler *getThis();
  119. Spieler *release();
  120. };