Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace First_Game
- {
- class Disp
- {
- Random rand = new Random();
- static int depth = 4;
- static int n = (int)Math.Pow(2, depth) + 1;
- static float[,] heightMap = new float[n, n];
- public Disp()
- {
- Console.WriteLine(depth);
- int timesToRun = 0;
- heightMap[0, 0] = rand.Next(0, 10);
- heightMap[0, n - 1] = rand.Next(0, 10);
- heightMap[n - 1, 0] = rand.Next(0, 10);
- heightMap[n - 1, n - 1] = rand.Next(0, 10);
- for (int i = 1; i < depth + 1; i++)
- {
- timesToRun = (int)Math.Pow(2, (i - 1));
- for (int j = 0; j < timesToRun; j++)
- {
- for (int k = 0; k < timesToRun; k++)
- {
- if (i == 1 || i == 2)
- {
- Console.Write("On level " + i);
- Console.WriteLine(" and offset is (" + j + "," + k + ").");
- int midpoint = ((n / (2 * i)));
- Console.WriteLine("Midpoint is " + midpoint);
- int multiplierK = k * midpoint * 2;
- int multiplierJ = j * midpoint * 2;
- heightMap[midpoint + multiplierK, 0 + multiplierJ] = (heightMap[0 + multiplierK, 0 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, 0 + multiplierJ]) / 2f;
- heightMap[0 + multiplierK, midpoint + multiplierJ] = (heightMap[0 + multiplierK, 0 + multiplierJ] + heightMap[0 + multiplierK, midpoint * 2 + multiplierJ]) / 2f;
- heightMap[midpoint * 2 + multiplierK, midpoint + multiplierJ] = (heightMap[midpoint * 2 + multiplierK, 0 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, midpoint * 2 + multiplierJ]) / 2f;
- heightMap[midpoint + multiplierK, midpoint * 2 + multiplierJ] = (heightMap[0 + multiplierK, midpoint * 2 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, midpoint * 2 + multiplierJ]) / 2f;
- heightMap[midpoint + multiplierK, midpoint + multiplierJ] = ((heightMap[midpoint + multiplierK, midpoint * 2 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, midpoint + multiplierJ] + heightMap[0 + multiplierK, midpoint + multiplierJ] + heightMap[midpoint + multiplierK, 0 + multiplierJ]) / 4f);
- }
- }
- }
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- Console.WriteLine(i + "\t" + j + "\t" + heightMap[i, j]);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement