[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