[Orxonox-commit 5469] r10132 - in code/branches/towerdefenseHS14: data/levels data/levels/templates src/modules/towerdefense
maxima at orxonox.net
maxima at orxonox.net
Wed Nov 19 16:20:19 CET 2014
Author: maxima
Date: 2014-11-19 16:20:18 +0100 (Wed, 19 Nov 2014)
New Revision: 10132
Modified:
code/branches/towerdefenseHS14/data/levels/templates/enemyTowerdefense.oxt
code/branches/towerdefenseHS14/data/levels/towerDefense.oxw
code/branches/towerdefenseHS14/src/modules/towerdefense/Tower.cc
code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h
code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseController.cc
code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h
Log:
Modified: code/branches/towerdefenseHS14/data/levels/templates/enemyTowerdefense.oxt
===================================================================
--- code/branches/towerdefenseHS14/data/levels/templates/enemyTowerdefense.oxt 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/data/levels/templates/enemyTowerdefense.oxt 2014-11-19 15:20:18 UTC (rev 10132)
@@ -61,11 +61,15 @@
<WaypointController accuracy=60>
<waypoints>
<!-- 1,3 10,3 10,11, 13,11 -->
- <Model mesh="cube.mesh" scale=10 position="-700,-500, 150" />
- <Model mesh="cube.mesh" scale=10 position=" -400,-500, 150" />
- <Model position=" -400, 600, 150" />
- <Model mesh="cube.mesh" scale=10 position=" 500, 600, 150" />
- <Model mesh="cube.mesh" scale=10 position=" 500, 700, 150" />
+
+ <Model position="-700,-500, 150" />
+ <Model position=" 200,-500, 150" />
+
+ <Model position=" 200, 300, 150" />
+ <Model position=" 500, 300, 150" />
+ <!-- <Model mesh="cube.mesh" scale=10 position=" 500, 700, 150" /> -->
+ <Model position=" 500, 700, 150" />
+
</waypoints>
</WaypointController>
</controller>
Modified: code/branches/towerdefenseHS14/data/levels/towerDefense.oxw
===================================================================
--- code/branches/towerdefenseHS14/data/levels/towerDefense.oxw 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/data/levels/towerDefense.oxw 2014-11-19 15:20:18 UTC (rev 10132)
@@ -76,25 +76,9 @@
<!--SpawnPoint team=1 position="0,0,10" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /-->
<!--SpawnPoint team=0 position="0,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /-->
- <TowerDefenseEnemy position="-700,-500, 100" lookat="0,0,0" scale=3 team=1 >
- <templates>
- <Template link=enemytowerdefense />
- </templates>
- <controller>
- <WaypointController accuracy=60>
- <waypoints>
- <!-- 1,3 10,3 10,11, 13,11 -->
- <Model mesh="cube.mesh" scale=10 position="-700,-500, 150" />
- <Model mesh="cube.mesh" scale=10 position=" 200,-500, 150" />
- <Model mesh="cube.mesh" scale=10 position=" 200, 300, 150" />
- <Model mesh="cube.mesh" scale=10 position=" 500, 300, 150" />
- <Model mesh="cube.mesh" scale=10 position=" 500, 700, 150" />
- </waypoints>
- </WaypointController>
- </controller>
- </TowerDefenseEnemy>
+
<!--invisible entity to attach towers to, since playfield is static and towers are dynamic-->
<StaticEntity position=0,0,0>
Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/Tower.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/Tower.cc 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/Tower.cc 2014-11-19 15:20:18 UTC (rev 10132)
@@ -39,7 +39,7 @@
void Tower::setOrientation(const Quaternion& orientation)
{
static int ori;
- orxout() << "orientation " << ++ori << endl;
+ //orxout() << "orientation " << ++ori << endl;
}
void Tower::rotateYaw(const Vector2& value)
@@ -57,7 +57,7 @@
void Tower::rotateRoll(const Vector2& value)
{
static int roll;
- orxout() << "rotateRoll" << ++roll << endl;
+ //orxout() << "rotateRoll" << ++roll << endl;
}
// This function is called whenever a player presses the up or the down key.
Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc 2014-11-19 15:20:18 UTC (rev 10132)
@@ -128,9 +128,10 @@
{
orxout() << "test0" << endl;
-
Deathmatch::start();
+ time=0.0;
+
/*
const int kInitialTowerCount = 3;
@@ -142,33 +143,13 @@
}
*/
- orxout() << "test3" << endl;
//add some TowerDefenseEnemys
- TDCoordinate* coord1 = new TDCoordinate(1,1);
- TDCoordinate* coord2 = new TDCoordinate(1,3);
- TDCoordinate* coord3 = new TDCoordinate(10,3);
- std::vector<TDCoordinate*> path;
- path.push_back(coord1);
-
- path.push_back(coord2);
-
- path.push_back(coord3);
-
-
-
- for(int i = 0 ; i < 20 ; ++i)
- {
- addTowerDefenseEnemy(path);
- }
-
- orxout() << "test7" << endl;
-
//ChatManager::message("Use the console command addTower x y to add towers");
//TODO: let the player control his controllable entity && TODO: create a new ControllableEntity for the player
@@ -178,51 +159,24 @@
void TowerDefense::addTowerDefenseEnemy(std::vector<TDCoordinate*> path){
- orxout() << "test1" << endl;
-
TowerDefenseEnemy* en1 = new TowerDefenseEnemy(this->center_->getContext());
en1->addTemplate("enemytowerdefense");
en1->setScale(3);
en1->getController();
-
- /*en1->setInitialHealth(1000);
- en1->setHealth(1000);
- en1->setMaxHealth(1000);
- en1->setInitialShieldHealth(1000);
- en1->setShieldHealth(1000);
- en1->setMaxShieldHealth(1000);*/
- orxout() << "en1 " << en1->getHealth() << endl;
-
-
- //Model* TowerDefenseEnemymodel = new Model(this->center_->getContext());
-
- //TowerDefenseEnemymodel->setMeshSource("cube.mesh");
-
- //TowerDefenseEnemymodel->setPosition(0,0,75);
en1->setPosition(path.at(0)->get3dcoordinate());
- //TowerDefenseEnemymodel->setScale(10);
-
- //en1->attach(TowerDefenseEnemymodel);
-
TowerDefenseEnemyvector.push_back(en1);
- orxout() << "test2" << endl;
for(unsigned int i = 0; i < path.size(); ++i)
{
en1->addWaypoint((path.at(i)));
}
- orxout() << "test6" << endl;
- /* for (int i = 0; i < TowerDefenseEnemyvector.size(); ++i )
- {
- orxout() <<i << " " << TowerDefenseEnemyvector.at(i)->getHealth() << endl;
- }
-
+ /*
WaypointController *newController = new WaypointController(en1->getContext());//
newController->setAccuracy(3);
@@ -320,13 +274,19 @@
void TowerDefense::tick(float dt)
{
SUPER(TowerDefense, tick, dt);
+ time +=dt;
- /* for (int i = 0; i < TowerDefenseEnemyvector.size(); ++i )
- {
- orxout() <<i << " " << TowerDefenseEnemyvector.at(i)->getHealth() << endl;
- }
-*/
+ TDCoordinate* coord1 = new TDCoordinate(1,1);
+ std::vector<TDCoordinate*> path;
+ path.push_back(coord1);
+ if(time>1 && TowerDefenseEnemyvector.size() < 30)
+ {
+ addTowerDefenseEnemy(path);
+ time = time-1;
+ }
+
+
}
// Function to test if we can add waypoints using code only. Doesn't work yet
Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h 2014-11-19 15:20:18 UTC (rev 10132)
@@ -84,6 +84,7 @@
private:
TowerDefenseCenterpoint *center_;
+ float time;
/* handles stats */
TowerDefensePlayerStats *stats_;
Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseController.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseController.cc 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseController.cc 2014-11-19 15:20:18 UTC (rev 10132)
@@ -32,6 +32,7 @@
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "worldentities/pawns/Pawn.h"
+#include "controllers/WaypointController.h"
namespace orxonox
{
Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc 2014-11-19 15:20:18 UTC (rev 10132)
@@ -33,10 +33,26 @@
void TowerDefenseEnemy::addWaypoint(TDCoordinate* coord)
{
- orxout() << "test4" << endl;
this->Waypointsvector_.push_back(coord);
- orxout() << "test5" << endl;
}
+
+
+ void TowerDefenseEnemy::tick(float dt)
+ {
+ SUPER(TowerDefenseEnemy, tick, dt);
+
+ //ArtificialController* controller = (ArtificialController*)this->getController();
+ Vector3 ship = this->getRVWorldPosition();
+ Vector3* endpoint = new Vector3(500, 700, 150);
+
+ float distance = ship.distance(*endpoint);
+
+ orxout() << "distance" << distance << endl;
+ if(distance <50){
+ orxout() << "ENEMY KILLED!!!!" << endl;
+ this->destroy(); }
+ }
+
/*
void TowerDefenseEnemy::popWaypoint()
{
Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h 2014-11-19 15:08:42 UTC (rev 10131)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h 2014-11-19 15:20:18 UTC (rev 10132)
@@ -21,6 +21,7 @@
#include "towerdefense/TowerDefensePrereqs.h"
#include "worldentities/pawns/SpaceShip.h"
#include "util/Output.h"
+#include "controllers/ArtificialController.h"
namespace orxonox
{
@@ -37,6 +38,7 @@
//health gibt es unter: health_
+ virtual void tick(float dt);
void addWaypoint(TDCoordinate* coord);
void popWaypoint();
TDCoordinate peekWaypoint();
More information about the Orxonox-commit
mailing list