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);