[Orxonox-commit 7550] r12153 - in code/branches/TowerDefense_HS18: data/levels src/modules/towerdefense

matanner at orxonox.net matanner at orxonox.net
Wed Dec 5 12:04:18 CET 2018


Author: matanner
Date: 2018-12-05 12:04:18 +0100 (Wed, 05 Dec 2018)
New Revision: 12153

Modified:
   code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw
   code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc
   code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc
Log:
YOLOOOOOOO ORXONOOOOOOOX


Modified: code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw
===================================================================
--- code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw	2018-12-05 10:56:19 UTC (rev 12152)
+++ code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw	2018-12-05 11:04:18 UTC (rev 12153)
@@ -22,7 +22,7 @@
 <Template name=selectercameras defaults=0>
   <TowerDefenseSelecter>
     <camerapositions>
-      <CameraPosition position="-50,-1200,1000" lookat="-50,0,-200" absolute=true drag=true mouselook=true/>
+      <CameraPosition position="-50,-1300,1000" lookat="-50,0,-400" absolute=true drag=true mouselook=true/>
     </camerapositions>
   </TowerDefenseSelecter>
 </Template>
@@ -249,13 +249,13 @@
    spawnparticleduration  = 3
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 30
-   initialhealth     = 30
+   health            = 100
+   maxhealth         = 10000000000000
+   initialhealth     = 100
 
-   shieldhealth        = 0
-   initialshieldhealth = 0
-   maxshieldhealth     = 0
+   shieldhealth        = 1000
+   initialshieldhealth = 1000
+   maxshieldhealth     = 10000000000000
    shieldabsorption    = 0.8
    shieldrechargerate = 1
    shieldrechargewaittime = 1
@@ -298,7 +298,7 @@
       />
     </engines>
     <attached>
-      <Model position="0,0,0" yaw=180 pitch=0 roll=0 scale=7.5 mesh="finalenemy1.mesh" /> 
+      <Model position="0,0,0" yaw=180 pitch=0 roll=0 scale=10 mesh="finalenemy1.mesh" /> 
     </attached>
     <collisionShapes>
       <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
@@ -319,8 +319,8 @@
    spawnparticleduration  = 3
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 30
+   health            = 40
+   maxhealth         = 10000000000000
    initialhealth     = 30
 
    shieldhealth        = 0
@@ -389,13 +389,13 @@
    spawnparticleduration  = 3
    explosionchunks        = 6
 
-   health            = 30
-   maxhealth         = 30
-   initialhealth     = 30
+   health            = 50
+   maxhealth         = 10000000000000
+   initialhealth     = 50
 
-   shieldhealth        = 0
-   initialshieldhealth = 0
-   maxshieldhealth     = 0
+   shieldhealth        = 20
+   initialshieldhealth = 20
+   maxshieldhealth     = 10000000000000
    shieldabsorption    = 0.8
    shieldrechargerate = 1
    shieldrechargewaittime = 1
@@ -705,22 +705,21 @@
     tower4Cost=100
     tower5Cost=100
     fields="F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-	    F1F1F1R1I1I1I1I1I1I1I1R0F1F1F1F1
+	        F1F1F1R1I1I1I1I1I1I1I1I1I1I1R0F1
+            F1F1F1I2F1F1F1Y1F1F1F1F1F1F1I0F1
+            F1Y1F1I2F1F1F1F1F1F1F1F1Y1F1I0F1
+            F1F1F1I2F1F1F1F1F1F1F1F1F1F1I0F1
+            F1F1F1I2F1Y1F1F1F1F1F1L0I3I3R3F1
             F1F1F1I2F1F1F1F1F1F1F1I0F1F1F1F1
-            F1Y1F1I2F1F1F1F1Y1F1F1I0F1F1F1F1
-            F1F1F1I2F1F1Y1F1F1F1F1I0F1Y1F1F1
-            F1F1F1I2F1F1F1F1F1F1F1I0F1F1F1F1
-            F1F1F1I2F1F1F1F1F1F1F1I0F1F1F1F1
-            F1F1F1R2I3I3I3I3L3F1F1I0F1F1F1F1
+            F1F1F1R2I3I3I3I3L3F1F1I0F1F1Y1F1
             F1F1F1F1F1F1F1F1I2F1F1I0F1F1F1F1
-            F1F1F1F1F1F1Y1F1I2F1F1I0F1F1F1F1
-            X1I1I1I1R0F1F1F1I2F1F1I0F1F1Y1F1
-            F1F1F1F1I0F1F1F1I2F1F1I0F1F1F1F1
-            F1F1F1F1I0F1F1F1I2F1F1I0F1F1F1F1
-            F1F1F1F1L1I1I1I1L2F1F1I0F1F1F1F1
-            F1F1Y1F1F1F1F1F1F1F1F1O0F1Y1F1F1
-            F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-            F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1"
+            F1F1F1F1F1F1F1F1I2F1F1I0F1F1F1F1
+            X1I1I1I1R0F1Y1F1I2F1F1I0F1F1F1F1
+            F1F1F1F1I0F1F1F1I2F1F1L1I1I1R0F1
+            F1F1F1F1I0F1F1F1I2F1F1F1F1F1I0F1
+            F1F1F1F1L1I1I1I1L2F1F1F1F1Y1I0F1
+            F1F1Y1F1F1F1F1F1F1F1F1F1F1F1I0F1
+            F1F1F1F1F1F1F1F1F1Y1F1F1F1F1O0F1"
     width=16
     height=16
     tileScale=100

Modified: code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc	2018-12-05 10:56:19 UTC (rev 12152)
+++ code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc	2018-12-05 11:04:18 UTC (rev 12153)
@@ -156,19 +156,21 @@
         case 1 :
             en1->addTemplate("enemytowerdefense1");
             en1->setScale(3);
-            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
+            en1->setHealth(en1->getHealth() + this->getWaveNumber()*1/3*0.5*(en1->getHealth()));
+            en1->setShieldHealth(en1->getShieldHealth() + this->getWaveNumber()*1/3*0.5*(en1->getShieldHealth()));
             break;
 
         case 2 :
             en1->addTemplate("enemytowerdefense2");
             en1->setScale(2);
-            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
+            en1->setHealth(en1->getHealth() + this->getWaveNumber()*1/3*0.3*(en1->getHealth()));
             break;
 
         case 3 :
             en1->addTemplate("enemytowerdefense3");
             en1->setScale(1);
-            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
+            en1->setHealth(en1->getHealth() + this->getWaveNumber()*1/3*0.2*(en1->getHealth()));
+            en1->setShieldHealth(en1->getShieldHealth() + this->getWaveNumber()*1/3*0.5*(en1->getShieldHealth()));
             break;
         }        
 
@@ -307,7 +309,25 @@
                 // the enemy was destroyed by a tower - remove it from the list AND destroy the corresponding controler
                 ctrl->destroy();
                 it = enemies_.erase(it);
-                addCredit(1);
+                
+                int currentType = this->getWaveNumber() % 3 + 1;
+                switch (currentType){ //Entscheidet, wie viele Credits vergeben werden sollen
+                    case 1: //currently boss wave
+                        addCredit(100);
+                        if (this->getLifes() <= 90)
+                        {
+                            this->setLifes(this->getLifes() + 10);
+                        }
+                        break;
+
+                    case 2: //currently mass wave
+                        addCredit(5);
+                        break;
+
+                    case 3: //currently moderate wave
+                        addCredit(10);
+                        break;
+                }
             }
             else
             {
@@ -339,16 +359,30 @@
             // Add new enemy
             timeSinceLastSpawn_ -= 1.0;
             -- waveSize_;
-            addTowerDefenseEnemy(this->getWaveNumber() % 3 + 1);
+            addTowerDefenseEnemy(this->getWaveNumber() % 3 + 1); //Gegnertyp rotiert durch die 3 moeglichen, er beginnt bei Typ 2!!!
         }
         else if (timeUntilNextWave_ <= 0.0 && waveSize_ <= 0)
         {
+            int currentType = this->getWaveNumber() % 3 + 1;
             //New wave
             ++ waveNumber_;
             timeSinceLastSpawn_ = 0.0;
 
             timeUntilNextWave_ = waveNumber_+20.0f;
-            waveSize_ = waveNumber_+5;
+            // Entscheidung, wie gross die einzelnen waves sein sollen.
+            switch (currentType){
+                case 1: //currently boss wave
+                    waveSize_ = waveNumber_+10;
+                    break;
+
+                case 2: //currently mass wave
+                    waveSize_ = (waveNumber_+10)/2;
+                    break;
+
+                case 3: //currently moderate wave
+                    waveSize_ = 1;
+                    break;
+            }
         }
 
     }
@@ -360,9 +394,9 @@
         TDCoordinate startCoord(0,0);
         std::string fields = center_->getFields();
         int pos = 0;
-        for (int j = 15; j >= 0; --j)
+        for (int j = 15; j >= 0; --j) //Vertical number of rows
         {
-            for (int i = 0; i < 16; ++i)
+            for (int i = 0; i <= 15; ++i) //Horizontal number of rows
             {
                 coord.Set(i,j);
                 fields_[i][j] = new TowerDefenseField(center_->getContext());

Modified: code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc
===================================================================
--- code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc	2018-12-05 10:56:19 UTC (rev 12152)
+++ code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseController.cc	2018-12-05 11:04:18 UTC (rev 12153)
@@ -80,11 +80,10 @@
         float speed;
         Engine* engine = ship->getEngine(0);
         if(engine != nullptr) {
-            speed = engine->getMaxSpeedFront(); //Geschwindigkeit wird ausgelesen
-            orxout() << "shiftshan" << endl;
+            speed = engine->getMaxSpeedFront(); //Geschwindigkeit sollte ausgelesen werden, wird momentan aber noch NICHT -> ein Fehler mit den Engines
+
         } else {
-            speed = 100;
-            orxout() << "shiftshannonen" << endl;
+            speed = 200; //Momentan wird hiermit die Geschwindigkeit ALLER Schiffe gesetzt!
         }
 
         //Zurueckgelegte Gesamtdistanz aktualisieren.
@@ -126,7 +125,7 @@
 
         this->getControllableEntity()->setPosition(offset_ + newPosition);
         this->getControllableEntity()->lookAt(this->getControllableEntity()->getPosition() + newDirection);
-
+        this->getControllableEntity()->setVelocity(speed * newDirection);
     }
 
 }
\ No newline at end of file



More information about the Orxonox-commit mailing list