Przeglądaj źródła

Fehler beim senden von debug informationen behoben

Kolja Strohm 5 lat temu
rodzic
commit
d20b8a6863
3 zmienionych plików z 17 dodań i 13 usunięć
  1. 3 1
      Asteroids/Spiel.cpp
  2. 12 11
      Asteroids/Spieler.cpp
  3. 2 1
      Asteroids/Spieler.h

+ 3 - 1
Asteroids/Spiel.cpp

@@ -399,8 +399,10 @@ void Spiel::tick( double zeit )
                         if( tmp->getSpeed().getLengthSq() > 0 )
                             attacked->impuls( tmp->getPosition() - tmp->getSpeed(), tmp->getSpeed() * 0.3f );
                         int skillP = attacker->getSkillP();
-                        attacker->machSchaden( intens, kill, attacked->getLevel() );
+                        attacker->machSchaden( intens, attacked->getLevel() );
                         float erf = attacker->getEp();
+                        if( kill )
+                            attacker->addKill( attacked->getLevel() );
                         for( int k = 0; k < spielerAnzahl; k++ )
                         {
                             Spieler *sp = spieler->z( k );

+ 12 - 11
Asteroids/Spieler.cpp

@@ -379,20 +379,21 @@ bool Spieler::nimmSchaden( double &intensity, int sLevel )
     return stability == 0;
 }
 
-void Spieler::machSchaden( double intensity, bool kill, int sLevel )
+void Spieler::machSchaden( double intensity, int sLevel )
 {
     schadenGemacht += intensity;
     addTreffer( (float)intensity, sLevel );
-    if( kill )
-    {
-        float levelFactor = (float)sLevel / (float)level;
-        addEp( 80 * levelFactor );
-        kills++;
-        punkte++;
-        maxReinkAbk--;
-        if( maxReinkAbk < 5 )
-            maxReinkAbk = 5;
-    }
+}
+
+void Spieler::addKill( int sLevel )
+{
+    float levelFactor = (float)sLevel / (float)level;
+    addEp( 80 * levelFactor );
+    kills++;
+    punkte++;
+    maxReinkAbk--;
+    if( maxReinkAbk < 5 )
+        maxReinkAbk = 5;
 }
 
 void Spieler::addTreffer( float intensity, int sLevel )

+ 2 - 1
Asteroids/Spieler.h

@@ -98,7 +98,8 @@ public:
 	bool setSkill( int art );
 	Laser *getLaser( int sId );
 	bool nimmSchaden( double &intensity, int sLevel );
-	void machSchaden( double intensity, bool kill, int sLevel );
+	void machSchaden( double intensity, int sLevel );
+    void addKill( int sLevel );
     void addTreffer( float intensity, int sLevel );
     void wiederbeleben();
     void addEp( float ep );