private static void Generate3x3River(Point start, Point end, float[,] heightMap) { List <Point> path = Riverfinder.FindPath(start, end, heightMap); foreach (Point point in path) { if (heightMap[point.X, point.Y] >= WaterCutoff) { heightMap[point.X, point.Y] = WaterCutoff - 1; } if (heightMap[point.X + 1, point.Y] >= WaterCutoff) { heightMap[point.X + 1, point.Y] = WaterCutoff - 1; } if (heightMap[point.X, point.Y + 1] >= WaterCutoff) { heightMap[point.X, point.Y + 1] = WaterCutoff - 1; } if (heightMap[point.X - 1, point.Y] >= WaterCutoff) { heightMap[point.X - 1, point.Y] = WaterCutoff - 1; } if (heightMap[point.X, point.Y - 1] >= WaterCutoff) { heightMap[point.X, point.Y - 1] = WaterCutoff - 1; } } }
private static void Generate5x5River(Point start, Point end, float[,] heightMap) { List <Point> path = Riverfinder.FindPath(start, end, heightMap); foreach (Point point in path) { for (int i = Math.Max(0, point.X - 2); i <= Math.Min(499, point.X + 2); i++) { for (int j = Math.Max(0, point.Y - 2); j <= Math.Min(499, point.Y + 2); j++) { if (heightMap[i, j] >= WaterCutoff) { heightMap[i, j] = WaterCutoff - 1; } } } } }