Tile GetEndPoint(Tile startPoint, Algorithm algorithm) { algorithm.Clear(); algorithm.Analyze(ref map, startPoint); // Find max distance int maxDistance = 0; Tile maxDistancePoint = new Tile(); for (int i = 0; i < Width; i++) { for (int j = 0; j < Height; j++) { if (algorithm.MapDistances[i, j] > maxDistance) { maxDistance = algorithm.MapDistances[i, j]; maxDistancePoint.x = i; maxDistancePoint.y = j; } } } return(maxDistancePoint); }