Index: code/branches/cpp11_v3/src/modules/tetris/Tetris.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/Tetris.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/Tetris.cc	(revision 11054)
@@ -66,5 +66,5 @@
         RegisterObject(Tetris);
 
-        this->activeBrick_ = 0;
+        this->activeBrick_ = nullptr;
 
         // Pre-set the timer, but don't start it yet.
@@ -72,7 +72,7 @@
         this->starttimer_.stopTimer();
 
-        this->player_ = NULL;
+        this->player_ = nullptr;
         this->setHUDTemplate("TetrisHUD");
-        this->futureBrick_ = 0;
+        this->futureBrick_ = nullptr;
     }
 
@@ -96,14 +96,14 @@
         {
             this->activeBrick_->destroy();
-            this->activeBrick_ = 0;
+            this->activeBrick_ = nullptr;
         }
         if (this->futureBrick_)
         {
             this->futureBrick_->destroy();
-            this->futureBrick_ = 0;
-        }
-
-        for (std::list<StrongPtr<TetrisStone> >::iterator it = this->stones_.begin(); it != this->stones_.end(); ++it)
-            (*it)->destroy();
+            this->futureBrick_ = nullptr;
+        }
+
+        for (TetrisStone* stone : this->stones_)
+            stone->destroy();
         this->stones_.clear();
     }
@@ -113,5 +113,5 @@
         SUPER(Tetris, tick, dt);
 
-        if((this->activeBrick_ != NULL)&&(!this->hasEnded()))
+        if((this->activeBrick_ != nullptr)&&(!this->hasEnded()))
         {
             if(!this->isValidBrickPosition(this->activeBrick_))
@@ -136,7 +136,7 @@
             return false;
 
-        for(std::list<StrongPtr<TetrisStone> >::const_iterator it = this->stones_.begin(); it != this->stones_.end(); ++it)
-        {
-            const Vector3& currentStonePosition = (*it)->getPosition(); //!< Saves the position of the currentStone
+        for(TetrisStone* someStone : this->stones_)
+        {
+            const Vector3& currentStonePosition = someStone->getPosition(); //!< Saves the position of the currentStone
 
             if((position.x == currentStonePosition.x) && abs(position.y-currentStonePosition.y) < this->center_->getStoneSize())
@@ -192,8 +192,8 @@
 
         // check for collisions with all stones
-        for(std::list<StrongPtr<TetrisStone> >::const_iterator it = this->stones_.begin(); it != this->stones_.end(); ++it)
+        for(TetrisStone* someStone : this->stones_)
         {
             //Vector3 currentStonePosition = rotateVector((*it)->getPosition(), this->activeBrick_->getRotationCount());
-            const Vector3& currentStonePosition = (*it)->getPosition(); //!< Saves the position of the currentStone
+            const Vector3& currentStonePosition = someStone->getPosition(); //!< Saves the position of the currentStone
 
             //filter out cases where the falling stone is already below a steady stone
@@ -290,5 +290,5 @@
     void Tetris::start()
     {
-        if (this->center_ != NULL) // There needs to be a TetrisCenterpoint, i.e. the area the game takes place.
+        if (this->center_ != nullptr) // There needs to be a TetrisCenterpoint, i.e. the area the game takes place.
         {
             // Create the first brick.
@@ -323,5 +323,5 @@
     {
         this->activeBrick_->setVelocity(Vector3::ZERO);
-        if(this->activeBrick_ != NULL)
+        if(this->activeBrick_ != nullptr)
         {
             this->player_->stopControl();
@@ -341,7 +341,7 @@
     {
         // Spawn a human player.
-        for (std::map<PlayerInfo*, Player>::iterator it = this->players_.begin(); it != this->players_.end(); ++it)
-            if (it->first->isHumanPlayer() && (it->first->isReadyToSpawn() || this->bForceSpawn_))
-                this->spawnPlayer(it->first);
+        for (const auto& mapEntry : this->players_)
+            if (mapEntry.first->isHumanPlayer() && (mapEntry.first->isReadyToSpawn() || this->bForceSpawn_))
+                this->spawnPlayer(mapEntry.first);
     }
     
@@ -351,5 +351,5 @@
         if(player && player->isHumanPlayer())
         {
-            if(this->activeBrick_ != NULL)
+            if(this->activeBrick_ != nullptr)
             {
                 this->player_->stopControl();
@@ -370,5 +370,5 @@
         assert(player);
 
-        if(this->player_ == NULL)
+        if(this->player_ == nullptr)
         {
             this->player_ = player;
@@ -381,9 +381,9 @@
     void Tetris::startBrick(void)
     {
-        if(this->player_ == NULL)
+        if(this->player_ == nullptr)
             return;
 
         unsigned int cameraIndex = 0;
-        if(this->activeBrick_ != NULL)
+        if(this->activeBrick_ != nullptr)
         {
             // Get camera settings
@@ -396,5 +396,5 @@
         // Make the last brick to be created the active brick.
         this->activeBrick_ = this->futureBrick_;
-        this->futureBrick_ = 0;
+        this->futureBrick_ = nullptr;
 
         // set its position
@@ -437,5 +437,5 @@
         Get the player.
     @return
-        Returns a pointer to the player. If there is no player, NULL is returned.
+        Returns a pointer to the player. If there is no player, nullptr is returned.
     */
     PlayerInfo* Tetris::getPlayer(void) const
@@ -469,7 +469,7 @@
         {
             stonesPerRow = 0;
-            for(std::list<StrongPtr<TetrisStone> >::iterator it = this->stones_.begin(); it != this->stones_.end(); )
-            {
-                std::list<StrongPtr<TetrisStone> >::iterator it_temp = it++;
+            for(std::list<StrongPtr<TetrisStone>>::iterator it = this->stones_.begin(); it != this->stones_.end(); )
+            {
+                std::list<StrongPtr<TetrisStone>>::iterator it_temp = it++;
                 correctPosition = static_cast<unsigned int>(((*it_temp)->getPosition().y - 5)/this->center_->getStoneSize());
                 if(correctPosition == row)
@@ -491,5 +491,5 @@
     void Tetris::clearRow(unsigned int row)
     {// clear the full row
-        for(std::list<StrongPtr<TetrisStone> >::iterator it = this->stones_.begin(); it != this->stones_.end(); )
+        for(std::list<StrongPtr<TetrisStone>>::iterator it = this->stones_.begin(); it != this->stones_.end(); )
         {
             if(static_cast<unsigned int>(((*it)->getPosition().y - 5)/this->center_->getStoneSize()) == row)
@@ -502,8 +502,8 @@
         }
       // adjust height of stones above the deleted row //TODO: check if this could be a source of a bug.
-        for(std::list<StrongPtr<TetrisStone> >::iterator it = this->stones_.begin(); it != this->stones_.end(); ++it)
-        {
-            if(static_cast<unsigned int>(((*it)->getPosition().y - 5)/this->center_->getStoneSize()) > row)
-                (*it)->setPosition((*it)->getPosition()-Vector3(0,10,0));
+        for(TetrisStone* stone : this->stones_)
+        {
+            if(static_cast<unsigned int>((stone->getPosition().y - 5)/this->center_->getStoneSize()) > row)
+                stone->setPosition(stone->getPosition()-Vector3(0,10,0));
         }
 
Index: code/branches/cpp11_v3/src/modules/tetris/Tetris.h
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/Tetris.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/Tetris.h	(revision 11054)
@@ -58,11 +58,11 @@
             virtual ~Tetris(); //!< Destructor. Cleans up, if initialized.
 
-            virtual void start(void); //!< Starts the Tetris minigame.
-            virtual void end(void); ///!< Ends the Tetris minigame.
+            virtual void start(void) override; //!< Starts the Tetris minigame.
+            virtual void end(void) override; ///!< Ends the Tetris minigame.
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            virtual void spawnPlayer(PlayerInfo* player); //!< Spawns the input player.
-            virtual bool playerLeft(PlayerInfo* player);
+            virtual void spawnPlayer(PlayerInfo* player) override; //!< Spawns the input player.
+            virtual bool playerLeft(PlayerInfo* player) override;
 
             void setCenterpoint(TetrisCenterpoint* center);
@@ -77,5 +77,5 @@
 
         protected:
-            virtual void spawnPlayersIfRequested(); //!< Spawns player.
+            virtual void spawnPlayersIfRequested() override; //!< Spawns player.
 
 
@@ -93,5 +93,5 @@
 
             WeakPtr<TetrisCenterpoint> center_; //!< The playing field.
-            std::list<StrongPtr<TetrisStone> > stones_; //!< A list of all stones in play.
+            std::list<StrongPtr<TetrisStone>> stones_; //!< A list of all stones in play.
             WeakPtr<TetrisBrick> activeBrick_;
             WeakPtr<TetrisBrick> futureBrick_;
Index: code/branches/cpp11_v3/src/modules/tetris/TetrisBrick.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/TetrisBrick.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/TetrisBrick.cc	(revision 11054)
@@ -81,14 +81,14 @@
             this->attach(stone);
             this->formBrick(stone, i);
-            if(this->tetris_ != NULL)
+            if(this->tetris_ != nullptr)
             {
                 stone->setGame(this->tetris_);
-                if(this->tetris_->getCenterpoint() != NULL)
+                if(this->tetris_->getCenterpoint() != nullptr)
                     stone->addTemplate(this->tetris_->getCenterpoint()->getStoneTemplate());
                 else
-                    orxout()<< "tetris_->getCenterpoint == NULL in TetrisBrick.cc"<< endl;
+                    orxout()<< "tetris_->getCenterpoint == nullptr in TetrisBrick.cc"<< endl;
             }
             else
-                orxout()<< "tetris_ == NULL in TetrisBrick.cc"<< endl;
+                orxout()<< "tetris_ == nullptr in TetrisBrick.cc"<< endl;
         }
     }
@@ -161,5 +161,5 @@
         if(i < this->brickStones_.size())
             return this->brickStones_[i];
-        else return NULL;
+        else return nullptr;
     }
 
@@ -167,10 +167,10 @@
     Tetris* TetrisBrick::getTetris()
     {
-        if (this->getGametype() != NULL && this->getGametype()->isA(Class(Tetris)))
+        if (this->getGametype() != nullptr && this->getGametype()->isA(Class(Tetris)))
         {
             Tetris* tetrisGametype = orxonox_cast<Tetris*>(this->getGametype());
             return tetrisGametype;
         }
-        return NULL;
+        return nullptr;
     }
 
@@ -239,9 +239,9 @@
     {
         assert(this->tetris_);
-        for(unsigned int i = 0; i < this->brickStones_.size(); i++)
-        {
-            this->brickStones_[i]->detachFromParent();
-            this->brickStones_[i]->attachToParent(center);
-            this->brickStones_[i]->setPosition(this->getPosition()+this->tetris_->rotateVector(this->brickStones_[i]->getPosition(),this->rotationCount_ ));
+        for(TetrisStone* stone : this->brickStones_)
+        {
+            stone->detachFromParent();
+            stone->attachToParent(center);
+            stone->setPosition(this->getPosition()+this->tetris_->rotateVector(stone->getPosition(),this->rotationCount_ ));
         }
         this->brickStones_.clear();
Index: code/branches/cpp11_v3/src/modules/tetris/TetrisBrick.h
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/TetrisBrick.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/TetrisBrick.h	(revision 11054)
@@ -57,7 +57,7 @@
             virtual ~TetrisBrick() {}
 
-            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.
-            virtual void changedPlayer(); //!< Is called when the player changed.
+            virtual void moveFrontBack(const Vector2& value) override; //!< Overloaded the function to steer the bat up and down.
+            virtual void moveRightLeft(const Vector2& value) override; //!< Overloaded the function to steer the bat up and down.
+            virtual void changedPlayer() override; //!< Is called when the player changed.
 
             bool isValidMove(const Vector3& position, bool isRotation);
Index: code/branches/cpp11_v3/src/modules/tetris/TetrisCenterpoint.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/TetrisCenterpoint.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/TetrisCenterpoint.cc	(revision 11054)
@@ -84,5 +84,5 @@
     void TetrisCenterpoint::checkGametype()
     {
-        if (this->getGametype() != NULL && this->getGametype()->isA(Class(Tetris)))
+        if (this->getGametype() != nullptr && this->getGametype()->isA(Class(Tetris)))
         {
             Tetris* tetrisGametype = orxonox_cast<Tetris*>(this->getGametype());
Index: code/branches/cpp11_v3/src/modules/tetris/TetrisCenterpoint.h
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/TetrisCenterpoint.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/TetrisCenterpoint.h	(revision 11054)
@@ -62,5 +62,5 @@
             virtual ~TetrisCenterpoint() {}
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method to create a TetrisCenterpoint through XML.
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Method to create a TetrisCenterpoint through XML.
 
             /**
Index: code/branches/cpp11_v3/src/modules/tetris/TetrisScore.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/TetrisScore.cc	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/TetrisScore.cc	(revision 11054)
@@ -56,6 +56,6 @@
         RegisterObject(TetrisScore);
 
-        this->owner_ = 0;
-        this->player_ = NULL;
+        this->owner_ = nullptr;
+        this->player_ = nullptr;
     }
 
@@ -89,5 +89,5 @@
 
         // If the owner is set. The owner being a Tetris game.
-        if (this->owner_ != NULL)
+        if (this->owner_ != nullptr)
         {
             std::string score("0");
@@ -101,5 +101,5 @@
             {
                 // Save the name and score of each player as a string.
-                if (player_ != NULL)
+                if (player_ != nullptr)
                     score = multi_cast<std::string>(this->owner_->getScore(player_));
             }
@@ -111,5 +111,5 @@
     @brief
         Is called when the owner changes.
-        Sets the owner to NULL, if it is not a pointer to a Tetris game.
+        Sets the owner to nullptr, if it is not a pointer to a Tetris game.
     */
     void TetrisScore::changedOwner()
@@ -117,8 +117,8 @@
         SUPER(TetrisScore, changedOwner);
 
-        if (this->getOwner() != NULL && this->getOwner()->getGametype())
+        if (this->getOwner() != nullptr && this->getOwner()->getGametype())
             this->owner_ = orxonox_cast<Tetris*>(this->getOwner()->getGametype());
         else
-            this->owner_ = 0;
+            this->owner_ = nullptr;
     }
 }
Index: code/branches/cpp11_v3/src/modules/tetris/TetrisScore.h
===================================================================
--- code/branches/cpp11_v3/src/modules/tetris/TetrisScore.h	(revision 11053)
+++ code/branches/cpp11_v3/src/modules/tetris/TetrisScore.h	(revision 11054)
@@ -60,7 +60,7 @@
             virtual ~TetrisScore();
 
-            virtual void tick(float dt); //!< Creates and sets the caption to be displayed by the TetrisScore.
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void changedOwner(); //!< Is called when the owner changes.
+            virtual void tick(float dt) override; //!< Creates and sets the caption to be displayed by the TetrisScore.
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void changedOwner() override; //!< Is called when the owner changes.
 
         private:
