Index: code/branches/cpp11_v3/src/modules/jump/Jump.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/jump/Jump.cc	(revision 11054)
+++ code/branches/cpp11_v3/src/modules/jump/Jump.cc	(revision 11068)
@@ -610,12 +610,12 @@
         const int numJ = 4;
 
-        enum PlatformType
-        {
-            PLATFORM_EMPTY, PLATFORM_STATIC, PLATFORM_HMOVE, PLATFORM_VMOVE, PLATFORM_DISAPPEAR, PLATFORM_TIMER, PLATFORM_FAKE
+        enum class PlatformType
+        {
+            EMPTY, STATIC, HMOVE, VMOVE, DISAPPEAR, TIMER, FAKE
         };
 
-        enum ItemType
-        {
-            ITEM_NOTHING, ITEM_SPRING, ITEM_PROPELLER, ITEM_ROCKET, ITEM_BOOTS, ITEM_SHIELD
+        enum class ItemType
+        {
+            NOTHING, SPRING, PROPELLER, ROCKET, BOOTS, SHIELD
         };
 
@@ -631,5 +631,5 @@
             for (int j = 0; j < numJ; ++j)
             {
-                matrix[i][j].type = PLATFORM_EMPTY;
+                matrix[i][j].type = PlatformType::EMPTY;
                 matrix[i][j].done = false;
             }
@@ -637,9 +637,9 @@
         PlatformType platformtype1;
         PlatformType platformtype2;
-        ItemType itemType = ITEM_NOTHING;
+        ItemType itemType = ItemType::NOTHING;
 
         if (rand()%2 == 0)
         {
-            itemType = ITEM_SPRING;
+            itemType = ItemType::SPRING;
         }
         else if (rand()%2 == 0 && sectionNumber_ > 3)
@@ -648,14 +648,14 @@
             {
             case 0:
-                itemType = ITEM_PROPELLER;
+                itemType = ItemType::PROPELLER;
                 break;
             case 1:
-                itemType = ITEM_ROCKET;
+                itemType = ItemType::ROCKET;
                 break;
             case 2:
-                itemType = ITEM_BOOTS;
+                itemType = ItemType::BOOTS;
                 break;
             case 3:
-                itemType = ITEM_SHIELD;
+                itemType = ItemType::SHIELD;
                 break;
             default:
@@ -667,122 +667,122 @@
         {
         case 0:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 1:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 2:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 3:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 4:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 5:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 6:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 7:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 8:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 9:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 10:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 11:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 12:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 13:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 14:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 15:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 16:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 17:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 18:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 19:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 20:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 21:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 22:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 23:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 24:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 25:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 26:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 27:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 28:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::TIMER;
             break;
         default:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::TIMER;
             break;
         }
@@ -807,6 +807,6 @@
         if (platformtype1 == platformtype2 && sectionNumber_ > 10 && rand()%2 == 0)
         {
-            matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
+            matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
         }
 
@@ -816,9 +816,9 @@
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
         }
@@ -827,17 +827,17 @@
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
         }
@@ -846,25 +846,25 @@
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
         }
@@ -889,8 +889,8 @@
                     switch(matrix[i][j].type)
                     {
-                    case PLATFORM_EMPTY:
+                    case PlatformType::EMPTY:
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_STATIC:
+                    case PlatformType::STATIC:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -898,5 +898,5 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_FAKE:
+                    case PlatformType::FAKE:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -904,5 +904,5 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_TIMER:
+                    case PlatformType::TIMER:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -910,5 +910,5 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_DISAPPEAR:
+                    case PlatformType::DISAPPEAR:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -916,7 +916,7 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_HMOVE:
+                    case PlatformType::HMOVE:
                         xVelocity = randomSpeed();
-                        if (j <= numJ-3 && matrix[i][j+1].type == PLATFORM_HMOVE && matrix[i][j+2].type == PLATFORM_HMOVE && rand()%2 == 0)
+                        if (j <= numJ-3 && matrix[i][j+1].type == PlatformType::HMOVE && matrix[i][j+2].type == PlatformType::HMOVE && rand()%2 == 0)
                         {
                             leftBoundary = randomXPositionLeft(numJ, j);
@@ -929,5 +929,5 @@
                             matrix[i][j+2].done = true;
                         }
-                        else if (j <= numJ-2 && matrix[i][j+1].type == PLATFORM_HMOVE && rand()%2 == 0)
+                        else if (j <= numJ-2 && matrix[i][j+1].type == PlatformType::HMOVE && rand()%2 == 0)
                         {
                             leftBoundary = randomXPositionLeft(numJ, j);
@@ -949,7 +949,7 @@
                         }
                         break;
-                    case PLATFORM_VMOVE:
+                    case PlatformType::VMOVE:
                         zVelocity = randomSpeed();
-                        if (i <= numI-3 && matrix[i+1][j].type == PLATFORM_VMOVE && matrix[i+2][j].type == PLATFORM_VMOVE && rand()%2 == 0)
+                        if (i <= numI-3 && matrix[i+1][j].type == PlatformType::VMOVE && matrix[i+2][j].type == PlatformType::VMOVE && rand()%2 == 0)
                         {
                             lowerBoundary = randomZPositionLower(numI, i, sectionBegin, sectionEnd);
@@ -962,5 +962,5 @@
                             matrix[i+2][j].done = true;
                         }
-                        else if (i <= numI-2 && matrix[i+1][j].type == PLATFORM_VMOVE && rand()%2 == 0)
+                        else if (i <= numI-2 && matrix[i+1][j].type == PlatformType::VMOVE && rand()%2 == 0)
                         {
                             lowerBoundary = randomZPositionLower(numI, i, sectionBegin, sectionEnd);
@@ -1000,14 +1000,14 @@
                 switch (itemType)
                 {
-                case ITEM_ROCKET:
+                case ItemType::ROCKET:
                     addRocket(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
-                case ITEM_PROPELLER:
+                case ItemType::PROPELLER:
                     addPropeller(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
-                case ITEM_BOOTS:
+                case ItemType::BOOTS:
                     addBoots(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
-                case ITEM_SHIELD:
+                case ItemType::SHIELD:
                     addShield(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
@@ -1020,14 +1020,14 @@
                 switch (itemType)
                 {
-                case ITEM_ROCKET:
+                case ItemType::ROCKET:
                     addRocket(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
-                case ITEM_PROPELLER:
+                case ItemType::PROPELLER:
                     addPropeller(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
-                case ITEM_BOOTS:
+                case ItemType::BOOTS:
                     addBoots(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
-                case ITEM_SHIELD:
+                case ItemType::SHIELD:
                     addShield(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
@@ -1045,17 +1045,17 @@
                 switch (itemType)
                 {
-                case ITEM_SPRING:
+                case ItemType::SPRING:
                     addSpring(itemPlatform);
                     break;
-                case ITEM_ROCKET:
+                case ItemType::ROCKET:
                     addRocket(itemPlatform);
                     break;
-                case ITEM_PROPELLER:
+                case ItemType::PROPELLER:
                     addPropeller(itemPlatform);
                     break;
-                case ITEM_BOOTS:
+                case ItemType::BOOTS:
                     addBoots(itemPlatform);
                     break;
-                case ITEM_SHIELD:
+                case ItemType::SHIELD:
                     addShield(itemPlatform);
                     break;
