JSFiddle - React, Tailwind, and code Playground
by ult_combo
CSS
* {
font: 10pt monospace;
}
JavaScript
var mapSize = {
width: 4,
length: 4,
height: 4
};
var map = {};
for (x = -mapSize.width/2; x < mapSize.width/2; x++) {
map[x] = {};
for (y = -mapSize.length/2; y < mapSize.length/2; y++) {
map[x][y] = {};
for (z = 0; z < mapSize.height; z++) {
if (Math.random() > 0.99) {
map[x][y][z] = 'green';
} else if (Math.random() > 0.999) {
map[x][y][z] = 'blue';
} else if (z == mapSize.height - 1) {
map[x][y][z] = 'black';
} else if (Math.random() > 0) {
if (z <= 70) {
if (z == 0) {
map[x][y][z] = 'brown';
} else if (Math.cos(Math.cos(x*y+z)/(Math.sin(x*y+z)*57.295)) > 0.99999) {
map[x][y][z] = 'brown';
} else {
map[x][y][z] = 'air';
}
} else if (Math.cos(Math.tan(x*y+z)/(Math.sin(x*y+z)*57.295)) > 0.99984) {
map[x][y][z] = 'black';
} else if (Math.cos(Math.tan(x*y+z)/(Math.sin(x*y+z)*57.295)) > 0.9998) {
map[x][y][z] = 'white';
} else {
map[x][y][z] = 'air';
}
}
}
}
}
var mapExport = JSON.stringify(map);
var newWindow = window.open('about:blank');
newWindow.document.body.innerHTML = mapExport;
//document.write(mapExport);