Code viewer for World: Cloned pick your texture M...

// 1 pick 1st image
// 2 pick 2nd image
// etc.



 	var oldobject;      // the last object we made 
 	
 	
var currentimage = 0;       // 0 is first item in array (list) of images

// human presses 1 to 6
// map to array positions 0 to 5




 
const	 	CLOCKTICK 	= 100;				// speed of run - move things every n milliseconds
const		MAXSTEPS 	= 1000;				// length of a run before final score
 


const objectsize = 100 ;

const MAXPOS                = 1000 ;            // start things within these bounds                    
const startRadiusConst	 	= MAXPOS * 2 ;		// distance from centre to start the camera at
const maxRadiusConst 		= MAXPOS * 5 ;		// maximum distance from camera we will render things  


const SKYCOLOR 	= 0xffffff;				// a number, not a string 
 




function randomfloatAtoB ( A, B )			 
{
 return ( A + ( Math.random() * (B-A) ) );
}

function randomintAtoB ( A, B )			 
{
 return  ( Math.round ( randomfloatAtoB ( A, B ) ) );
}
  



function World() { 

var x, y, z;        // current location 

var textureArray;




function init()		 
{
     // create one box to start 
     
  	var shape = new THREE.BoxGeometry( objectsize, objectsize, objectsize );
  	var theobject  = new THREE.Mesh( shape );

  	theobject.position.x = 0; // randomintAtoB ( -MAXPOS, MAXPOS );   	
  	theobject.position.z = 0; // randomintAtoB ( -MAXPOS, MAXPOS );   	
  	theobject.position.y = 0; // randomintAtoB ( -MAXPOS, MAXPOS );	
 
  x = theobject.position.x;     // current position
  y = theobject.position.y;
  z = theobject.position.z;
 
 	threeworld.scene.add(theobject);

 // save a link to it
 
  oldobject = theobject; 

   textureArray = [
 	( new THREE.ImageUtils.loadTexture( "/uploads/tus/mcstone.jpg" ) ),
 	( new THREE.ImageUtils.loadTexture( "/uploads/tus/crafting_table_front_1447926936.png" ) ),
 	( new THREE.ImageUtils.loadTexture( "/uploads/tus/crafting-table_4309954_lrg.jpg" ) ),
 	( new THREE.ImageUtils.loadTexture( "/uploads/tus/minecraft-wallpaper-diamond-04.jpg" ) ),
 	( new THREE.ImageUtils.loadTexture( "/uploads/tus/_1080p__minecraft_emerald_ore_wallpaper_by_iwithered-d6nzwm0.png" ) ),
  	( new THREE.ImageUtils.loadTexture( "/uploads/tus/orange.jpg" ) )
  	];
 	
 for ( var i = 0; i < textureArray.length; i++ )    // for all textures 
 { 
    textureArray[i].minFilter = THREE.LinearFilter;
 }
 
  theobject.material.color.setHex( 0x006600  );	
  
 //   paintThis ( theobject );
}



	


  function handleKeyDown (event)
  {
   	    var shape = new THREE.BoxGeometry( objectsize, objectsize, objectsize );
  	var   theobject  = new THREE.Mesh( shape );
theobject.material.color.setHex( 0x006600  );	
  
  theobject.position.x = x;     // default position
  theobject.position.y = y;
  theobject.position.z = z;
 
  var code = event.keyCode;
  if (code == 37)  theobject.position.x = x - objectsize ;   // left
  if (code == 39)  theobject.position.x = x + objectsize ;   // right
 
  if (code == 38) theobject.position.z = z - objectsize ;   // forward
  if (code == 40) theobject.position.z = z + objectsize ;   // back 
  
  if (code == 34) theobject.position.y = y - objectsize ;   // page up and down 
  if (code == 33) theobject.position.y = y + objectsize ; 
  
  
  // press numbers:
  
  if (code == 49)  currentimage = 0;         // press 1
  if (code == 50)  currentimage = 1;
  if (code == 51)  currentimage = 2;
  if (code == 52)  currentimage = 3;
  if (code == 53)  currentimage = 4;
  if (code == 54)  currentimage = 5;
  
  // your job: write the other 5
  
  
  x = theobject.position.x;     // current position
  y = theobject.position.y;
  z = theobject.position.z;
 
 console.log ( "(x,y,z) = (" + x + "," + y + "," + z + ")" );
 
 
 threeworld.lookat.copy ( theobject.position );	
 
 	threeworld.scene.add(theobject);
 	
 	
      paintThis ( oldobject );
      
      oldobject = theobject; 
 }
  



function paintThis( object )        // paint objects with random textures 
{
 //       var t = randomintAtoB ( 0, textureArray.length - 1 );     // random texture 
    
        object.material =  new THREE.MeshBasicMaterial ( { map: textureArray [ currentimage ] } );   
}


    // array[0]
    // array[1]
    // .....



	this.endCondition;			 


this.newRun = function() 
{
  this.endCondition = false;

  threeworld.init3d ( startRadiusConst, maxRadiusConst, SKYCOLOR  ); 

 	  init();
	   

document.addEventListener( 'keydown', handleKeyDown   );

};



this.getState = function()
{
  return ( null );  
};


this.takeAction = function ( a )
{
  
};



this.endRun = function()
{
};


this.getScore = function()
{
 return 0;
};

}