             return textures.grass3
         }
     }
+    
+    private class func randomHillTexture(
+        textures:MOptionTamalesOaxaquenosTextures) -> MGameTexture
+    {
+        let random:UInt32 = arc4random_uniform(kTotalHillTextures)
+        
+        switch random
+        {
+        case 0:
+            
+            return textures.hill0
+            
+        case 1:
+            
+            return textures.hill1
+            
+        case 2:
+            
+            return textures.hill2
+            
+        default:
+            
+            return textures.hill3
+        }
+    }
 }

        positionX:CGFloat) -> MOptionTamalesOaxaquenosAreaFloorItemGroundProtocol
    {
        let textureGround:MGameTexture = randomGroundTexture(textures:textures)
        let textureGrass:MGameTexture = randomGrassTexture(textures:textures)
        let item:MOptionTamalesOaxaquenosAreaFloorItemGroundGrass = MOptionTamalesOaxaquenosAreaFloorItemGroundGrass(
            textureGround:textureGround,

    private static let kItemWidth:CGFloat = 32
    private static let kTotalGroundTextures:UInt32 = 4
    private static let kTotalGrassTextures:UInt32 = 4
    private static let kTotalHillTextures:UInt32 = 4
    private static let kCreateHillRatio:UInt32 = 100
    private static let kHillLengthRatio:UInt32 = 5
    private static var remainHills:Int = 0
    
    class func factoryFloorItems(
        textures:MOptionTamalesOaxaquenosTextures) -> [MOptionTamalesOaxaquenosAreaFloorItemProtocol]
