Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 1, 2015, 9:30:37 PM (9 years ago)
Author:
landauf
Message:

replaced tabs with spaces + some formatting sometimes. no changes in code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc

    r10172 r10246  
    9898/*
    9999        for (int i=0; i < 16 ; i++){
    100                 for (int j = 0; j< 16 ; j++){
    101                         towermatrix[i][j] = NULL;
    102                 }
     100            for (int j = 0; j< 16 ; j++){
     101                towermatrix[i][j] = NULL;
     102            }
    103103        }*/
    104104
     
    109109        /* Temporary hack to allow the player to add towers and upgrade them */
    110110        this->dedicatedAddTower_ = createConsoleCommand( "addTower", createExecutor( createFunctor(&TowerDefense::addTower, this) ) );
    111         this->dedicatedUpgradeTower_ = createConsoleCommand( "upgradeTower", createExecutor( createFunctor(&TowerDefense::upgradeTower, this) ) );
     111        this->dedicatedUpgradeTower_ = createConsoleCommand( "upgradeTower", createExecutor( createFunctor(&TowerDefense::upgradeTower, this) ) );
    112112    }
    113113
     
    136136// Waypoints: [1,3] [10,3] [10,11] [13,11] -> add the points to a matrix so the player cant place towers on the path
    137137        for (int i=0; i < 16 ; i++){
    138                 for (int j = 0; j< 16 ; j++){
    139                         towermatrix[i][j] = false;
    140                 }
     138            for (int j = 0; j< 16 ; j++){
     139                towermatrix[i][j] = false;
     140            }
    141141        }
    142142
    143143        for (int k=0; k<3; k++)
    144                 towermatrix[1][k]=true;
     144            towermatrix[1][k]=true;
    145145        for (int l=1; l<11; l++)
    146                 towermatrix[l][3]=true;
     146            towermatrix[l][3]=true;
    147147        for (int m=3; m<12; m++)
    148                 towermatrix[10][m]=true;
     148            towermatrix[10][m]=true;
    149149        for (int n=10; n<14; n++)
    150                 towermatrix[n][11]=true;
     150            towermatrix[n][11]=true;
    151151        for (int o=13; o<16; o++)
    152                 towermatrix[13][o]=true;
    153 
    154 //set initial credits, lifes and WaveNumber
     152            towermatrix[13][o]=true;
     153
     154        //set initial credits, lifes and WaveNumber
    155155        this->setCredit(200);
    156156        this->setLifes(50);
     
    158158        time=0.0;
    159159
    160 //adds initial towers
    161 for (int i=0; i <7; i++){
    162           addTower(i+3,4);
    163         }/*
    164 for (int j=0; j < 7; j++){
    165           addTower(9,j+5);
     160        //adds initial towers
     161        for (int i=0; i <7; i++){
     162            addTower(i+3,4);
     163        }/*
     164        for (int j=0; j < 7; j++){
     165            addTower(9,j+5);
    166166        }*/
    167 }
     167    }
     168
    168169    // Generates a TowerDefenseEnemy. Uses Template "enemytowerdefense". Sets position at first waypoint of path.
    169      void TowerDefense::addTowerDefenseEnemy(std::vector<TDCoordinate*> path, int templatenr){
    170 
    171 
    172         TowerDefenseEnemy* en1 = new TowerDefenseEnemy(this->center_->getContext());
     170    void TowerDefense::addTowerDefenseEnemy(std::vector<TDCoordinate*> path, int templatenr){
     171
     172
     173        TowerDefenseEnemy* en1 = new TowerDefenseEnemy(this->center_->getContext());
    173174       
    174         switch(templatenr)
    175         {
    176         case 1 :
    177                 en1->addTemplate("enemytowerdefense1");
    178                 en1->setScale(3);
    179             en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
    180 
    181                 break;
    182         case 2 :
    183                 en1->addTemplate("enemytowerdefense2");
    184                 en1->setScale(2);
    185             en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
    186           //  en1->setShieldHealth(en1->getShield() = this->getWaveNumber()*2))
    187 
    188                 break;
    189         case 3 :
    190             en1->addTemplate("enemytowerdefense3");
    191             en1->setScale(1);
    192             en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
    193             break;
    194         }
     175        switch(templatenr)
     176        {
     177        case 1 :
     178            en1->addTemplate("enemytowerdefense1");
     179            en1->setScale(3);
     180            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
     181            break;
     182
     183        case 2 :
     184            en1->addTemplate("enemytowerdefense2");
     185            en1->setScale(2);
     186            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
     187            //  en1->setShieldHealth(en1->getShield() = this->getWaveNumber()*2))
     188            break;
     189
     190        case 3 :
     191            en1->addTemplate("enemytowerdefense3");
     192            en1->setScale(1);
     193            en1->setHealth(en1->getHealth() + this->getWaveNumber()*4);
     194            break;
     195        }
    195196
    196197        en1->getController();
     
    199200
    200201        for(unsigned int i = 0; i < path.size(); ++i)
    201                 {
    202                 en1->addWaypoint((path.at(i)));
    203                 }
     202        {
     203            en1->addWaypoint((path.at(i)));
     204        }
    204205    }
    205206
    206207
    207208    void TowerDefense::end()
    208 
    209209    {
    210210
     
    217217    void TowerDefense::upgradeTower(int x,int y)
    218218    {/*
    219         const int upgradeCost = 20;
     219        const int upgradeCost = 20;
    220220
    221221        if (!this->hasEnoughCreditForTower(upgradeCost))
     
    233233        else
    234234        {
    235                 (towermatrix [x][y])->upgradeTower();
     235            (towermatrix [x][y])->upgradeTower();
    236236        }*/
    237237    }
     
    292292    bool TowerDefense::hasEnoughCreditForUpgrade()
    293293    {
    294         return true;
     294        return true;
    295295    }
    296296
     
    306306        if(time>1 && TowerDefenseEnemyvector.size() < 30)
    307307        {
    308                 //adds different types of enemys depending on the WaveNumber
    309                 addTowerDefenseEnemy(path, this->getWaveNumber() % 3 +1 );
    310                 time = time-1;
    311         }
    312 
    313                 Vector3* endpoint = new Vector3(500, 700, 150);
    314                 //if ships are at the end they get destroyed
    315                 for(unsigned int i =0; i < TowerDefenseEnemyvector.size(); ++i)
    316                 {
    317                         if(TowerDefenseEnemyvector.at(i) != NULL && TowerDefenseEnemyvector.at(i)->isAlive())
    318                                 {
    319                                 //destroys enemys at the end of teh path and reduces the life by 1. no credits gifted
    320 
    321                                         Vector3 ship = TowerDefenseEnemyvector.at(i)->getRVWorldPosition();
    322                                         float distance = ship.distance(*endpoint);
    323 
    324                                         if(distance <50){
    325                                                 TowerDefenseEnemyvector.at(i)->destroy();
    326                                                 this->reduceLifes(1);
    327                                                 this->buyTower(1);
    328                                                 if (this->getLifes()==0)
    329                                                                 {
    330                                                                     this->end();
    331                                                                 }
    332                                         }
    333                                 }
    334                         }
    335                         //goes thorugh vector to see if an enemy is still alive. if not next wave is launched
    336                         int count= 0;
    337                         for(unsigned int i =0; i < TowerDefenseEnemyvector.size(); ++i)
    338                         {
    339                                 if(TowerDefenseEnemyvector.at(i)!= NULL)
    340                                 {
    341                                         ++count;
    342                                 }
    343                         }
    344 
    345                         if(count== 0)
    346                         {
    347                                 time2 +=dt;
    348                                 if(time2 > 10)
    349                                 {
    350                                         TowerDefenseEnemyvector.clear();
    351                                         this->nextwave();
    352                                         time=0;
    353                                         time2=0;
    354                                 }
    355                         }
     308            //adds different types of enemys depending on the WaveNumber
     309            addTowerDefenseEnemy(path, this->getWaveNumber() % 3 +1 );
     310            time = time-1;
     311        }
     312
     313        Vector3* endpoint = new Vector3(500, 700, 150);
     314        //if ships are at the end they get destroyed
     315        for(unsigned int i =0; i < TowerDefenseEnemyvector.size(); ++i)
     316        {
     317            if(TowerDefenseEnemyvector.at(i) != NULL && TowerDefenseEnemyvector.at(i)->isAlive())
     318            {
     319                //destroys enemys at the end of teh path and reduces the life by 1. no credits gifted
     320
     321                Vector3 ship = TowerDefenseEnemyvector.at(i)->getRVWorldPosition();
     322                float distance = ship.distance(*endpoint);
     323
     324                if(distance <50){
     325                    TowerDefenseEnemyvector.at(i)->destroy();
     326                    this->reduceLifes(1);
     327                    this->buyTower(1);
     328                    if (this->getLifes()==0)
     329                    {
     330                        this->end();
     331                    }
     332                }
     333            }
     334        }
     335        //goes thorugh vector to see if an enemy is still alive. if not next wave is launched
     336        int count= 0;
     337        for(unsigned int i =0; i < TowerDefenseEnemyvector.size(); ++i)
     338        {
     339            if(TowerDefenseEnemyvector.at(i)!= NULL)
     340            {
     341                ++count;
     342            }
     343        }
     344
     345        if(count== 0)
     346        {
     347            time2 +=dt;
     348            if(time2 > 10)
     349            {
     350                TowerDefenseEnemyvector.clear();
     351                this->nextwave();
     352                time=0;
     353                time2=0;
     354            }
     355        }
    356356
    357357
Note: See TracChangeset for help on using the changeset viewer.