Index: /code/branches/newlevel2012/src/modules/towerdefense/CMakeLists.txt
===================================================================
--- /code/branches/newlevel2012/src/modules/towerdefense/CMakeLists.txt	(revision 9134)
+++ /code/branches/newlevel2012/src/modules/towerdefense/CMakeLists.txt	(revision 9135)
@@ -1,4 +1,5 @@
 SET_SOURCE_FILES(TOWERDEFENSE_SRC_FILES
   TowerDefense.cc
+  Tower.cc
   TowerDefenseCenterpoint.cc
 )
Index: /code/branches/newlevel2012/src/modules/towerdefense/Tower.cc
===================================================================
--- /code/branches/newlevel2012/src/modules/towerdefense/Tower.cc	(revision 9135)
+++ /code/branches/newlevel2012/src/modules/towerdefense/Tower.cc	(revision 9135)
@@ -0,0 +1,66 @@
+//
+//  Tower.cc
+//  Orxonox
+//
+//  Created by Fabian Mentzer on 29.04.12.
+//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#include "Tower.h"
+
+#include "core/CoreIncludes.h"
+//#include "core/XMLPort.h"
+
+namespace orxonox
+{
+    CreateFactory(Tower);
+	
+    /**
+	 @brief
+	 Constructor. Registers and initializes the object.
+	 */
+    Tower::Tower(BaseObject* creator) : ControllableEntity(creator)
+    {
+        RegisterObject(Tower);
+        /*
+        this->size_ = 10.0f;
+        this->delay_ = false;
+        this->delayTimer_.setTimer(0.2f, false, createExecutor(createFunctor(&TetrisStone::enableMovement, this)));
+		*/
+    }
+	
+    /**
+	 @brief
+	 Overloaded the function to rotate the stone.
+	 @param value
+	 A vector whose first component is the angle by which to rotate.
+	 */
+    void Tower::moveFrontBack(const Vector2& value)
+    {
+        orxout() << "frontBack.x: " << value.x << endl;
+    }
+	
+    /**
+	 @brief
+	 Overloaded the function to steer the stone right and left
+	 @param value
+	 A vector whose first component is the direction in which we want to steer the stone.
+	 */
+    void Tower::moveRightLeft(const Vector2& value)
+    {
+		orxout() << "rightLeft.x: " << value.x << endl;
+		/*
+        if(!this->delay_)
+        {
+            const Vector3& position = this->getPosition();
+            Vector3 newPos = Vector3(position.x+value.x/abs(value.x)*this->size_, position.y, position.z);
+            if(!this->tetris_->isValidMove(this, newPos))
+                return;
+			
+            this->setPosition(newPos);
+            this->delay_ = true;
+            this->delayTimer_.startTimer();
+        }
+		 */
+    }
+}
Index: /code/branches/newlevel2012/src/modules/towerdefense/Tower.h
===================================================================
--- /code/branches/newlevel2012/src/modules/towerdefense/Tower.h	(revision 9135)
+++ /code/branches/newlevel2012/src/modules/towerdefense/Tower.h	(revision 9135)
@@ -0,0 +1,32 @@
+//
+//  Tower.h
+//  Orxonox
+//
+//  Created by Fabian Mentzer on 29.04.12.
+//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#ifndef Orxonox_Tower_h
+#define Orxonox_Tower_h
+
+#include "towerdefense/TowerDefensePrereqs.h"
+#include "worldentities/ControllableEntity.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport Tower : public ControllableEntity
+    {
+	public:
+		Tower(BaseObject* creator);
+		virtual ~Tower() {};
+		
+		virtual void moveFrontBack(const Vector2& value); //!< Overloaded the function to steer the bat up and down.
+		virtual void moveRightLeft(const Vector2& value); //!< Overloaded the function to steer the bat up and down.
+		
+		
+		
+    };
+}
+
+
+#endif
Index: /code/branches/newlevel2012/src/modules/towerdefense/TowerDefensePrereqs.h
===================================================================
--- /code/branches/newlevel2012/src/modules/towerdefense/TowerDefensePrereqs.h	(revision 9134)
+++ /code/branches/newlevel2012/src/modules/towerdefense/TowerDefensePrereqs.h	(revision 9135)
@@ -66,5 +66,6 @@
 {
     class TowerDefense;
-    //class TowerDefenseCenterpoint;
+	class Tower;
+    class TowerDefenseCenterpoint;
 }
 
