void setNewSpawnPosition(float cameraTopY, Enemy enemy)
        {
            Vector2 spawnPosition = Vector2.Zero;

            if (enemy is Orange)
            {
                ((Orange)enemy).initialize();
                spawnPosition.Y = enemy.positionY;
            }
            else
            {
                spawnPosition.Y = cameraTopY + enemy.getRadius();
            }
            bool found = false;
            float allowedDistance = enemy.getRadius();
            float allowedDistanceSquared;
            int step = -1;
            do
            {
                ++step;
                allowedDistance += 5.0f;
                allowedDistanceSquared = allowedDistance * allowedDistance;
                spawnPosition.X = Calc.randomScalar(zone.Left, zone.Right);
                for (int i = 0; i < spawnPositions.Length; ++i)
                {
                    if (Vector2.DistanceSquared(spawnPosition, spawnPositions[i]) > allowedDistanceSquared)
                    {
                        found = true;
                        break;
                    }
                }

            }
            while (!found);

            enemy.position2D = spawnPosition;
        }