[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