Code viewer for World: My Fishy Cube World
// make an array of random (x,y,z) positions 

const noboxes = 600;                 	// 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 MUSICFILE1 = '/uploads/starter/SuspenseStrings.mp3'; // add music file from server
 const MUSICFILE2 = 'https://ancientbrain.com/uploads/apples25/11Vivaldi.mp3'; // add music file uploaded from local drive to server
 AB.backgroundMusic ( MUSICFILE2 );


var img;

function preload() 
{
   img1 = loadImage ( '/uploads/starter/earth.1.jpg' );  // default image
   img2 = loadImage ( '/uploads/apples25/1632214750.png' );  // image uploaded from browser (ctrl c, ctrl v)
   img3 = loadImage ( '/uploads/starter/earth.4.jpg' );  // image selected from other user uploads
   img4 = loadImage ( '/uploads/apples25/StoneFish.jpg' );  // stone fish photo
   
   // https://ancientbrain.com/uploads/apples25/1632214750.png
}


// Cloned by Apples Twenty Five on 21 Sep 2021 from World "One Cube World (P5)" by Starter user 
// Please leave this clone trail here.
 
 
const objectsize    = 200;      // size of object   

const anglechange   = 0.01;     // 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("AntiqueWhite");    // background color 
    //background(img4);    // background image
    //fill("green");               // paint box with this color 
    
    texture(img4);  
    tint(255,200)           // sets transparency of image (1st param is white, 2nd is transparency level)
           
    rotateX(angle);             // set each dimension rotation angle to "angle"
    rotateY(angle);
    rotateZ(angle);
  
    //box(objectsize);            // draw a cube of this size 
    
     /*
     box(objectsize);            // draw 4 cubes and displace position linearly
     translate(55, 55, 55);
     box(objectsize);
     translate(55, 55, 55);
     box(objectsize);
     translate(55, 55, 55);
     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);             
        }

     

    
     //box ( 200, 50, 1000 ); 

  
    angle = angle + anglechange ;       // change angle each step to get rotate movement
}