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();
- private float randOffset() {
- //return rand.Next(-100, 101) / 100f;
- return 0;
- }
- static int depth = 6; //do not set above 8!
- static int n = (int)Math.Pow(2, depth) + 1;
- static int n_persist = n;
- static float[,] heightMap = new float[n, n];
- private void setArr(int offsetX, int offsetY)
- {
- heightMap[n / 2 + offsetX, 0 + offsetY] = ((heightMap[0 + offsetX, 0 + offsetY] + heightMap[n - 1 + offsetX, 0 + offsetY]) / 2);
- heightMap[0 + offsetX, n / 2 + offsetY] = ((heightMap[0 + offsetX, 0 + offsetY] + heightMap[0 + offsetX, n - 1 + offsetY]) / 2);
- heightMap[n - 1 + offsetX, n / 2 + offsetY] = ((heightMap[n - 1 + offsetX, 0 + offsetY] + heightMap[n - 1 + offsetX, n - 1 + offsetY]) / 2);
- heightMap[n / 2 + offsetX, n - 1 + offsetY] = ((heightMap[0 + offsetX, n - 1 + offsetY] + heightMap[n - 1 + offsetX, n - 1 + offsetY]) / 2);
- heightMap[n / 2 + offsetX, n / 2 + offsetY] = ((heightMap[n / 2 + offsetX, 0 + offsetY] + heightMap[0 + offsetX, n / 2 + offsetY] + heightMap[n / 2 + offsetX, n - 1 + offsetY] + heightMap[n - 1 + offsetX, n / 2 + offsetY]) / 4f);
- }
- private void toArr(int offsetX, int offsetY)
- {
- setArr(0 + offsetX, 0 + offsetY);
- setArr(n - 1 + offsetX, 0 + offsetY);
- setArr(0 + offsetX, n - 1 + offsetY);
- setArr(n - 1 + offsetX, n - 1 + offsetY);
- }
- private void higherToArr(int offsetX, int offsetY)
- {
- toArr(0 + offsetX, 0 + offsetY);
- toArr(n * 2 - 2 + offsetX, 0 + offsetY);
- toArr(0 + offsetX, n * 2 - 2 + offsetY);
- toArr(n * 2 - 2 + offsetX, n * 2 - 2 + offsetY);
- }
- public Disp()
- {
- 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);
- heightMap[n / 2, 0] = ((heightMap[0, 0] + heightMap[n - 1, 0]) / 2) + randOffset();
- heightMap[0, n / 2] = ((heightMap[0, 0] + heightMap[0, n - 1]) / 2) + randOffset();
- heightMap[n - 1, n / 2] = ((heightMap[n - 1, 0] + heightMap[n - 1, n - 1]) / 2) + randOffset();
- heightMap[n / 2, n - 1] = ((heightMap[0, n - 1] + heightMap[n - 1, n - 1]) / 2) + randOffset();
- heightMap[n / 2, n / 2] = ((heightMap[n / 2, 0] + heightMap[0, n / 2] + heightMap[n / 2, n - 1] + heightMap[n - 1, n / 2]) / 4f) + randOffset();
- n = (n / 2) + 1;
- toArr(0, 0);
- n = (n / 2) + 1;
- higherToArr(0, 0);
- for (int i = 0; i < n_persist; i++)
- {
- for (int j = 0; j < n_persist; j++)
- {
- Console.WriteLine(i + "\t" + j + "\t" + heightMap[i, j]);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement