[Orxonox-commit 5791] r10451 - code/branches/towerdefenseFS15/src/modules/towerdefense
erbj at orxonox.net
erbj at orxonox.net
Thu May 21 16:10:10 CEST 2015
Author: erbj
Date: 2015-05-21 16:10:10 +0200 (Thu, 21 May 2015)
New Revision: 10451
Modified:
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc
Log:
final version
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc 2015-05-21 13:58:46 UTC (rev 10450)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc 2015-05-21 14:10:10 UTC (rev 10451)
@@ -94,8 +94,11 @@
static const std::string __CC_upgradeTower_name = "upgradeTower";
static const int upgradeCost = 20;
static const int towerCost = 20;
+ unsigned int maxspaceships = 30;
+ int maxspaceshipsstandard = 30;
+
SetConsoleCommand("TowerDefense", __CC_addTower_name, &TowerDefense::addTower ).addShortcut().defaultValues(1);
SetConsoleCommand("TowerDefense", __CC_upgradeTower_name, &TowerDefense::upgradeTower).addShortcut().defaultValues(0);
@@ -418,24 +421,39 @@
void TowerDefense::nextwave()
{
+
+ orxout() << "newwave" << endl;
TowerDefenseEnemyvector.clear();
waves_++;
+ //maxspaceships = round(maxspaceshipsstandard + 0.25*(waves_));
time=0;
- float randomnumber1 = rand()*100*5;
- float randomnumber2 = rand()*100*1;
- float randomnumber3 = rand()*100*1.5;
- float totalnumber = (randomnumber1 + randomnumber2 + randomnumber3)*1.3;
+ int helpnumber = 40 -(waves_);
+ if(helpnumber <= 0) {helpnumber =1;}
+ float numSpaceships = std::abs((rand() % 100)*5*(helpnumber));
+ float numEggs = std::abs((rand() % 100)*1*(waves_));
+ float numUfos = std::abs((rand() % 100)*1.5*(0.5*(waves_))) ;
- int newspaceships = (int)(maxspaceships* randomnumber1 / totalnumber);
- int neweggs = (int)(maxspaceships*randomnumber2 / totalnumber);
- int newufos = (int)(maxspaceships*randomnumber3 / totalnumber);
- int newrandomships = maxspaceships -spaceships - eggs - ufos;
- int spaceships =newspaceships;
- int eggs=neweggs;
- int ufos=newufos;
- int randomships=newrandomships;
+ float totalnumber = (numSpaceships + numEggs + numUfos)*1.3;
+ int newspaceships = (int)(maxspaceships* numSpaceships / totalnumber);
+ int neweggs = (int)(maxspaceships*numEggs / totalnumber);
+ int newufos = (int)(maxspaceships*numUfos / totalnumber);
+ int newrandomships = maxspaceships -newspaceships - neweggs - newufos;
+ spaceships =newspaceships;
+ eggs=neweggs;
+ ufos=newufos;
+ randomships=newrandomships;
+
+ orxout() << spaceships << endl;
+ orxout() << eggs << endl;
+ orxout() << ufos << endl;
+ orxout() << randomships << endl;
+
+
+
+
+
}
void TowerDefense::tick(float dt)
@@ -468,24 +486,28 @@
towerTurretMatrix[x][y]->upgradeTower();
if(towerTurretMatrix[x][y]->upgrade < towerTurretMatrix[x][y]->upgradeMax)
{
- this->buyTower((int)(upgradeCost*(std::pow(1.5,towerTurretMatrix[x][y]->upgrade))));
- switch(towerTurretMatrix[x][y]->upgrade)
- {
- case 1 :
- towerModelMatrix[x][y]->setMeshSource("TD_T2.mesh");
- break;
+ int specificupgradecost = (int)(upgradeCost*(std::pow(1.5,towerTurretMatrix[x][y]->upgrade)));
+ if(this->credit_ >= specificupgradecost)
+ {
+ this->buyTower(specificupgradecost);
+ switch(towerTurretMatrix[x][y]->upgrade)
+ {
+ case 1 :
+ towerModelMatrix[x][y]->setMeshSource("TD_T2.mesh");
+ break;
- case 2 :
- towerModelMatrix[x][y]->setMeshSource("TD_T3.mesh");
- break;
- case 3 :
- towerModelMatrix[x][y]->setMeshSource("TD_T4.mesh");
- break;
- case 4 :
- towerModelMatrix[x][y]->setMeshSource("TD_T5.mesh");
- break;
+ case 2 :
+ towerModelMatrix[x][y]->setMeshSource("TD_T3.mesh");
+ break;
+ case 3 :
+ towerModelMatrix[x][y]->setMeshSource("TD_T4.mesh");
+ break;
+ case 4 :
+ towerModelMatrix[x][y]->setMeshSource("TD_T5.mesh");
+ break;
- }
+ }
+ }
}
@@ -500,12 +522,12 @@
path.push_back(coord1);
- int enemytype = this->getWaveNumber() % 3 +1;
+
if(time>=TowerDefenseEnemyvector.size() && TowerDefenseEnemyvector.size() < maxspaceships)
{
- orxout() << "enemyerstellen" << endl;
+
//adds different types of enemys depending on the WaveNumber progressively making the combination of enemys more difficult
if(spaceships>0)
{
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h 2015-05-21 13:58:46 UTC (rev 10450)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h 2015-05-21 14:10:10 UTC (rev 10451)
@@ -79,7 +79,6 @@
int eggs;
int ufos;
int randomships;
- int maxspaceships = 30;
//virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc 2015-05-21 13:58:46 UTC (rev 10450)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc 2015-05-21 14:10:10 UTC (rev 10451)
@@ -51,7 +51,7 @@
moveLeftPressed_ = false;
moveRightPressed_ = false;
firePressed_ = false;
- setSelectedPosition(0,0);
+ setSelectedPosition(6,6);
timerSetFire_=0;
}
More information about the Orxonox-commit
mailing list