document.oncontextmenu = () => false;
var self=[0,0,0], M=6, cam,
rotation: [-0.438, -0.23, 0.38, -0.78]
createCanvas(1400,420, WEBGL);
setAttributes('antialias', true);
cam.setState(state, 4000);
perspective(PI/8, width/height, 1, 6000);
function neighbors(x1,y1,z1, x2,y2,z2) {
if (abs(x1-x2) <= 1 && abs(y1-y2) <= 1 && abs(z1-z2) <= 1 ) return true;
for(let i=-M/2; i<=M/2; i++)
for(let j=-M/2; j<=M/2; j++)
for(let k=-M/2; k<=M/2; k++) {
if(neighbors(i,j,k, self[0],self[1],self[2])){
if(i==self[0]&&j==self[1]&&k==self[2])fill(255,127,0,127);
translate(i*100, j*100, k*100);
if(keyCode === LEFT_ARROW && self[0]>-M/2)self[0]-=1;
if(keyCode === RIGHT_ARROW && self[0]<M/2)self[0]+=1;
if(keyCode === DOWN_ARROW && self[1]>-M/2)self[1]-=1;
if(keyCode === UP_ARROW && self[1]<M/2)self[1]+=1;
if(key === "-" && self[2]>-M/2)self[2]-=1;
if(key === "+" && self[2]<M/2)self[2]+=1;
if(key === "1"){self=[M/2,-M/2,M/2];}