Code viewer for World: Darragh Starter Cube

// Cloned by Darragh McG on 21 Sep 2023 from World "One Cube World (P5)" by Starter user 
// Please leave this clone trail here.
 
 
const objectsize    = 100;      // size of object   

const anglechange    = 0.01;     // how much the rotate angle changes each step 

var angle = 0;                  // rotate angle starts at 0  

 // make an array of random (x,y,z) positions 
const noboxes = 1000;                 	// how many boxes to have 

    
var a = new Array(noboxes);         	// array of the box positions
for ( var i=0; i < noboxes; i++ )   	// set up the array
{
    //[[displacment xyz], size]
    a[i] = [[ AB.randomIntAtoB(-250,250), AB.randomIntAtoB(-250,250), AB.randomIntAtoB(-250,250) ], AB.randomIntAtoB(10,40)];
}

// Add Music
 const MUSICFILE = '/uploads/starter/SuspenseStrings.mp3';
 AB.backgroundMusic ( MUSICFILE );

function setup()        // "setup" is called once at start of run 
{

    createCanvas ( ABWorld.fullwidth(), ABWorld.fullheight(),  WEBGL );

}

function draw()         // "draw" is called every timestep during run 
{
    
    background("slategrey");    // background color 
    
    normalMaterial();
           
    rotateX(angle);             // set each dimension rotation angle to "angle"
    rotateY(angle / 10);
    rotateZ(angle);
    
    
    for ( var i=0; i < noboxes; i++ )
    {
      translate ( a[i][0][0], a[i][0][1], a[i][0][2] );		// get box position i 
      box(a[i][1]);
      translate ( -a[i][0][0], -a[i][0][1], -a[i][0][2] );	
    }
    
    angle += anglechange;
}