[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