Advertisement
Guest User

Untitled

a guest
Nov 7th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.28 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace First_Game
  7. {
  8.     class Disp
  9.     {
  10.         Random rand = new Random();
  11.  
  12.         static int depth = 4;
  13.  
  14.         static int n = (int)Math.Pow(2, depth) + 1;
  15.  
  16.         static float[,] heightMap = new float[n, n];
  17.  
  18.         public Disp()
  19.         {
  20.             Console.WriteLine(depth);
  21.  
  22.             int timesToRun = 0;
  23.  
  24.             heightMap[0, 0] = rand.Next(0, 10);
  25.             heightMap[0, n - 1] = rand.Next(0, 10);
  26.             heightMap[n - 1, 0] = rand.Next(0, 10);
  27.             heightMap[n - 1, n - 1] = rand.Next(0, 10);
  28.  
  29.             for (int i = 1; i < depth + 1; i++)
  30.             {
  31.                 timesToRun = (int)Math.Pow(2, (i - 1));
  32.  
  33.                 for (int j = 0; j < timesToRun; j++)
  34.                 {
  35.                     for (int k = 0; k < timesToRun; k++)
  36.                     {
  37.                         if (i == 1 || i == 2)
  38.                         {
  39.                             Console.Write("On level " + i);
  40.                             Console.WriteLine(" and offset is (" + j + "," + k + ").");
  41.  
  42.                             int midpoint = ((n / (2 * i)));
  43.  
  44.                             Console.WriteLine("Midpoint is " + midpoint);
  45.  
  46.                             int multiplierK = k * midpoint * 2;
  47.                             int multiplierJ = j * midpoint * 2;
  48.                             heightMap[midpoint + multiplierK, 0 + multiplierJ] = (heightMap[0 + multiplierK, 0 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, 0 + multiplierJ]) / 2f;
  49.                             heightMap[0 + multiplierK, midpoint + multiplierJ] = (heightMap[0 + multiplierK, 0 + multiplierJ] + heightMap[0 + multiplierK, midpoint * 2 + multiplierJ]) / 2f;
  50.                             heightMap[midpoint * 2 + multiplierK, midpoint + multiplierJ] = (heightMap[midpoint * 2 + multiplierK, 0 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, midpoint * 2 + multiplierJ]) / 2f;
  51.                             heightMap[midpoint + multiplierK, midpoint * 2 + multiplierJ] = (heightMap[0 + multiplierK, midpoint * 2 + multiplierJ] + heightMap[midpoint * 2 + multiplierK, midpoint * 2 + multiplierJ]) / 2f;
  52.  
  53.                             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);
  54.                         }
  55.                     }
  56.                 }
  57.             }
  58.  
  59.             for (int i = 0; i < n; i++)
  60.             {
  61.                 for (int j = 0; j < n; j++)
  62.                 {
  63.                     Console.WriteLine(i + "\t" + j + "\t" + heightMap[i, j]);
  64.                 }
  65.             }
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement