xxxxxxxxxx
116
storms = [];
numStorms = 4;
terrain = [];
res = 5;
gridW = 64;
gridH = 64;
maxHt = 360;
minHt = 0;
function defineStorm(i){
coord = [0,0];
coord[0] = int(random(gridW))
coord[1] = int(random(gridH))
return coord
}
function setStorms(){
for (i = 0; i < numStorms; i++){
storms[i] = defineStorm(i)
}
}
function make2Darray(cols, rows) {
var arr = new Array(cols);
for (var i = 0; i < arr.length; i++) {
arr[i] = new Array(rows);
}
return arr;
}
function setup() {
createCanvas(gridW*res, gridH * res);
terrain = make2Darray(gridW, gridH);
setTerrain();
setStorms();
stroke(0)
strokeWeight(1)
noLoop()
colorMode(HSB, 255, 255, 255, 1);
}
function setTerrain(){
for (i = 0; i< gridW ; i += 1 ){
for (j = 0; j < gridH ; j += 1){
ht = defineTerrain(i*res,j*res);
terrain[i][j] = ht;
}
}
}
function drawTerrain(){
for (i = 0; i< gridW ; i += 1 ){
for (j = 0; j < gridH ; j += 1){
fill(defineColor(terrain[i][j]));
//defineColor(defineTerrain(x,y))
rect(i*res,j*res,res,res)
}
}
}
function drawStorms(){
for (i = 0; i < storms.length; i ++){
storm = storms[i];
stroke(150,255,255,1)
fill(150,255,255,0.15)
rect(storm[0]*res,storm[1]*res,res,res)
}
}
function findLowestBelow(i,j,excludeSelf){
minHtSoFar = terrain[i][j]
minCellSoFar = [0][0]
for (var deltaX in [-1,0,1]){
for (var deltaY in [-1,0,1]){
if (terrain[i+deltaX][j + deltaY] < minHtSoFar){
minCellSoFar = [deltaX][deltaY]
}
}
}
return minCellSoFar
}
function findLowestAbove(i,j,excludeSelf){
}
function moveRain(){
}
function drawRain(){
}
function draw() {
background(220);
drawTerrain();
drawStorms();
drawRain();
}
function defineTerrain(x,y){
//ht is height of point at (x,y)
ht = random(360)
return max(minHt,min(maxHt,ht));
}
function defineColor(ht){
colHue = 255;
colSat = 0;
colBright = ht;
col = color(colHue,colSat,colBright,1)
return col;
}