public static Position GetRandomPassablePosition(this IZone zone)
        {
            Position position;
            bool     isPassable;

            do
            {
                position   = zone.GetRandomIslandPosition();
                isPassable = zone.Terrain.IsPassable(position);
            } while (!isPassable);

            return(position);
        }