Code viewer for World: My P5 world

// Cloned by Sakthi Somaskandan on 2 Oct 2021 from World "One Cube World (P5)" by Starter user 
// Please leave this clone trail here.

var img;

function preload() 
{
   img = loadImage ( '/uploads/sakthi/1633180595.png' );
}

// make an array of random (x,y,z) positions 
const noboxes = 50;                 	// 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
{
    a[i] = [ AB.randomIntAtoB(-500,500), AB.randomIntAtoB(-500,500), AB.randomIntAtoB(-500,500) ];
}	


const MUSICFILE = '/uploads/starter/SuspenseStrings.mp3';
AB.backgroundMusic ( MUSICFILE );   // adding music to my P5 world

const objectsize    = 150;      // size of object   

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

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


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("lightgreen");    // background color 
    fill("darkred");               // paint box with this color 
    texture(img);        	    // paint box with image loaded above in function preload()

           
    rotateX(angle);             // set each dimension rotation angle to "angle"
    rotateY(angle);
    rotateZ(angle);
  
    // box(objectsize);            // draw a cube of this size 
    
    // pasted multiple times to see the effect of translate
    // 4 boxes are defined but boxes are printed at the exact same location if translate is not used
    // for this reason we only see 3 boxes on screen as there is no translate between the second and third box
    // box(objectsize); 
    // translate(25, 25, 25);
    // box(objectsize); 
    // box(objectsize); 
    // translate(25, 25, 25);
    // box(objectsize); 
    
    for ( var i=0; i < noboxes; i++ )
    {
      translate ( a[i][0], a[i][1], a[i][2] );		// get box position i 
      box(objectsize);             
    }
  
    angle = angle + anglechange ;       // change angle each step to get rotate movement
}