Code viewer for World: Obama
// Cloned by Eoghan on 16 Sep 2025 from World "One Cube World (P5)" by Starter user 
// Please leave this clone trail here.

// make an array of random (x,y,z) positions 

 const MUSICFILE = '/uploads/eoghan/TheKillers-Mr.Brightside.mp3'; //Music Time
 AB.backgroundMusic ( MUSICFILE );

function getRandomInt(max) {
  return Math.floor(Math.random() * max);
}

const noboxes = 30;                 	// 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) ];
}	
 
var img;

function preload() 
{
   img = loadImage ( '/uploads/eoghan/1758018620.png' );
}


const objectsize    = 250;      // size of object   

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

var angle = 1;                  // 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 
{
    texture(img);        	
    background("yellow");    // background color 

           
    rotateX(angle);             // set each dimension rotation angle to "angle"
    rotateY(angle);
    rotateZ(angle);
 

for ( var i=0; i < noboxes; i++ )
{
  translate ( a[i][0], a[i][1], a[i][2] );		// get box position i 
  box(objectsize);             
}
     box(objectsize); 
 
for ( var j=1; j < noboxes; j++ )
{
  translate ( a[j][0], a[j][1], a[j][j] );		// get box position i 
  box(objectsize);             
}
     box(objectsize); 
     
    angle = angle + anglechange + 0.2 ;       // change angle each step to get rotate movement
}