[Orxonox-commit 7510] r12116 - in code/branches/OrxoKart_HS18: data/levels src/modules/orxokart

ottka at orxonox.net ottka at orxonox.net
Wed Nov 21 12:13:54 CET 2018


Author: ottka
Date: 2018-11-21 12:13:54 +0100 (Wed, 21 Nov 2018)
New Revision: 12116

Modified:
   code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw
   code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc
   code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h
   code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc
   code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h
Log:
level select in level file

Modified: code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw
===================================================================
--- code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw	2018-11-21 11:04:03 UTC (rev 12115)
+++ code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw	2018-11-21 11:13:54 UTC (rev 12116)
@@ -47,6 +47,7 @@
         <OrxoKartOrigin
           numCells="<?lua print(N)?>"
           cellSize="<?lua print(S)?>"
+          level=1
         />
       </attached> 
 
@@ -65,7 +66,7 @@
     <!-- 19 -->
     <SpawnPoint
       team=0
-      
+
       position="<?lua print(S*0)?>,40,<?lua print(8*S)?>"
       lookat="0,40,0"
       spawnclass=OrxoKartKart

Modified: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc	2018-11-21 11:04:03 UTC (rev 12115)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc	2018-11-21 11:13:54 UTC (rev 12116)
@@ -62,8 +62,9 @@
             this->firstTick_ = false;
             this->wayPoints = std::vector<OrxoKartTile*>(3, nullptr);
 
-            int n = this->origin_->getNumCells();
-            int s = this->origin_->getCellSize();
+            this->n = this->origin_->getNumCells();
+            this->s = this->origin_->getCellSize();
+            this->level = this->origin_->getLevel();
             int map_1[] =   {1,1,1,1,1,1,1,1,0,0,0
                             ,1,0,0,0,0,0,0,1,1,1,0
                             ,1,0,1,1,1,1,0,0,0,1,1
@@ -104,7 +105,7 @@
 
 
 
-            int *levelcodeArray =  map_1;
+            int *levelcodeArray =  level==1 ? map_1 : map_2;
 
             // int z = 0;
             //Generate floor according to levelcode
@@ -115,13 +116,26 @@
                         tile->init((n-1-i)*s, j*s, s, type);
                         // tiles.push_back(tile);
                         //++z;
-                        if ( i == 10 && j == 4 )
-                            wayPoints.at(0) = tile;
+                        if (level == 1) {
+                            //map 1 
+                            if ( i == 10 && j == 4 )
+                                wayPoints.at(0) = tile;
 
-                        if ( i == 0 && j == 0) 
-                            wayPoints.at(1) = tile;
-                        if ( i == 10 && j == 7)
-                            wayPoints.at(2) = tile;
+                            if ( i == 0 && j == 0) 
+                                wayPoints.at(1) = tile;
+                            if ( i == 10 && j == 7)
+                                wayPoints.at(2) = tile;
+                        }
+                        else if (level == 2) {
+                            //map 2
+                            if ( i == 24 && j == 11 )
+                                wayPoints.at(0) = tile;
+
+                            if ( i == 0 && j == 0) 
+                                wayPoints.at(1) = tile;
+                            if ( i == 24 && j == 17)
+                                wayPoints.at(2) = tile;
+                        }    
                     }
                 }   
             }
@@ -165,7 +179,10 @@
         // Check if ship collided with the flag
         if(flag_->getCollided()){
             OrxoKartKart* player = flag_->getObjectofCollision();
-            player->setPosition(Vector3(80*0, 20, 80*8));
+            if (level == 1)
+                player->setPosition(Vector3(s*0, 20, s*8));
+            if (level == 2)
+                player->setPosition(Vector3(s*0, 20, s*19));
             player->setOrientation(Quaternion(1, 0, 0, 0));   // 0, 0, 0
             player->setVelocity(Vector3(0,0,0));
             player->setAcceleration(Vector3(0,0,0));

Modified: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h	2018-11-21 11:04:03 UTC (rev 12115)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h	2018-11-21 11:13:54 UTC (rev 12116)
@@ -66,6 +66,10 @@
             int wayPointCounter = 0;
             int numberOfFlags_;
             bool firstTick_;
+
+            int s;
+            int n;
+            int level;
     };
 }
 

Modified: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc	2018-11-21 11:04:03 UTC (rev 12115)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc	2018-11-21 11:13:54 UTC (rev 12116)
@@ -52,6 +52,7 @@
 
         XMLPortParam(OrxoKartOrigin, "numCells", setNumCells, getNumCells, xmlelement, mode);
         XMLPortParam(OrxoKartOrigin, "cellSize", setCellSize, getCellSize, xmlelement, mode);
+        XMLPortParam(OrxoKartOrigin, "level", setLevel, getLevel, xmlelement, mode);
     }
 
     void OrxoKartOrigin::checkGametype()

Modified: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h	2018-11-21 11:04:03 UTC (rev 12115)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h	2018-11-21 11:13:54 UTC (rev 12116)
@@ -60,11 +60,17 @@
             inline int getCellSize() const
                 { return this->cellSize_; }
 
+            inline void setLevel(int level)
+                { this->level_ = level; }
+            inline int getLevel() const
+                { return this->level_; }    
+
         private:
             void checkGametype();
        
             int numCells_;
             int cellSize_;
+            int level_;
     };
 }
 



More information about the Orxonox-commit mailing list