Code viewer for World: escape... (clone by John L...

// Cloned by John Lasis on 5 Dec 2022 from World "escape..." by Jon Bryan Ortiz 
// Please leave this clone trail here.
 
function World(){AB.clockTick=1e3;var o=new THREE.Scene,e=(new THREE.TextureLoader).load("uploads/dannydevito/night.png");o.background=e;var t=.001;o.fog=new THREE.FogExp2(9530988,t);var n,a=new THREE.WebGLRenderer;var p={height:2,speed:.3,turnSpeed:.09};var s,l,y=!1;keyboard={},window.addEventListener("keydown",function(o){keyboard[o.keyCode]=!0}),window.addEventListener("keyup",function(o){keyboard[o.keyCode]=!1});var d=.1;function r(){var e,t;requestAnimationFrame(r),e=Math.abs(parseInt(play.position.x-enemy.position.x)),t=Math.abs(parseInt(play.position.z-enemy.position.z)),e<=1&&t<=1&&(play.position.set(0,p.height,-160),y=!0,M()),s<enemy.position.x&&(enemy.position.x-=p.speed+d),s>enemy.position.x&&(enemy.position.x+=p.speed+d),l<enemy.position.z&&(enemy.position.z-=p.speed+d),l>enemy.position.z&&(enemy.position.z+=p.speed+d),keyboard[87]&&(play.position.x<=200&&play.position.x>=-460?(play.position.x-=Math.sin(play.rotation.y)*p.speed,play.position.z-=-Math.cos(play.rotation.y)*p.speed,s=play.position.x,l=play.position.z):play.position.x+=Math.sin(play.rotation.y)*p.speed,play.position.z<=463&&play.position.z>=-193?(play.position.x-=Math.sin(play.rotation.y)*p.speed,play.position.z-=-Math.cos(play.rotation.y)*p.speed,s=play.position.x,l=play.position.z):play.position.z+=-Math.cos(play.rotation.y)*p.speed,u()),keyboard[83]&&(play.position.x<=200&&play.position.x>=-460?(play.position.x+=Math.sin(play.rotation.y)*p.speed,play.position.z+=-Math.cos(play.rotation.y)*p.speed,s=play.position.x,l=play.position.z):play.position.x-=Math.sin(play.rotation.y)*p.speed,play.position.z<=463&&play.position.z>=-193?(play.position.x+=Math.sin(play.rotation.y)*p.speed,play.position.z+=-Math.cos(play.rotation.y)*p.speed,s=play.position.x,l=play.position.z):play.position.z-=-Math.cos(play.rotation.y)*p.speed,u()),keyboard[65]&&(play.position.x<=200&&play.position.x>=-460?(play.position.x+=Math.sin(play.rotation.y+Math.PI/2)*p.speed,play.position.z+=-Math.cos(play.rotation.y+Math.PI/2)*p.speed,s=play.position.x,l=play.position.z):play.position.x=Math.sin(play.rotation.y-Math.PI/2)*p.speed,play.position.z<=463&&play.position.z>=-193?(play.position.x+=Math.sin(play.rotation.y+Math.PI/2)*p.speed,play.position.z+=-Math.cos(play.rotation.y+Math.PI/2)*p.speed):play.position.z=-Math.cos(play.rotation.y-Math.PI/2)*p.speed,u()),keyboard[68]&&(play.position.x<=200&&play.position.x>=-460?(play.position.x+=Math.sin(play.rotation.y-Math.PI/2)*p.speed,play.position.z+=-Math.cos(play.rotation.y-Math.PI/2)*p.speed,s=play.position.x,l=play.position.z):play.position.x=Math.sin(play.rotation.y+Math.PI/2)*p.speed,play.position.z<=463&&play.position.z>=-193?(play.position.x+=Math.sin(play.rotation.y-Math.PI/2)*p.speed,play.position.z+=-Math.cos(play.rotation.y-Math.PI/2)*p.speed):play.position.z=-Math.cos(play.rotation.y+Math.PI/2)*p.speed,u()),keyboard[37]&&(n.rotation.y-=p.turnSpeed,play.rotation.y-=p.turnSpeed,n.position.z=play.position.z),keyboard[39]&&(n.rotation.y+=p.turnSpeed,play.rotation.y+=p.turnSpeed,n.position.z=play.position.z),n.position.x=play.position.x,n.position.z=play.position.z,n.position.y=3.5,a.render(o,n)}var h=[];var c=0;function u(){for(i=0;i<h.length;i++)pagePlayerX=Math.abs(parseInt(s)-h[i].position.x),pagePlayerZ=Math.abs(parseInt(l)-h[i].position.z),pagePlayerX<=2&&pagePlayerZ<=2&&(h[i].position.set(-50,-50,-50),c++,t+=.003,o.fog=new THREE.FogExp2(9530988,t),p.speed-=.005,d+=.01)}AB.socketUserlist=function(o){console.log(JSON.stringify(o,null," "))},AB.socketStart();var x=0;function m(){AB.socketIn=function(o){x=o},AB.socket&&AB.socket.connected&&AB.socketOut(c)}var E=document.getElementById("ab-threepage"),g=document.createElement("p"),B=document.createElement("p");function M(){AB.abortRun=!0,AB.newSplash(),oldSplash=document.getElementById("splash"),oldSplash.remove(),splashBG=document.getElementById("splashblock"),splashBG.style="background:black",endTitle=document.createElement("h2"),c>=10?(endTitle.innerText="you escaped",splashBG.style="background:white",endTitle.style="color:navy; left:0; line-height: 200px; margin-top: -100px; position: absolute; text-align: center; top: 50%; width: 100%; font-size:100px;"):x>=10?(endTitle.innerText="you have been left behind...",endTitle.style="color:red; left:0; line-height: 200px; margin-top: -100px; position: absolute; text-align: center; top: 50%; width: 100%; font-size:100px;"):y&&(endTitle.innerText="you have been captured",endTitle.style="color:red; left:0; line-height: 200px; margin-top: -100px; position: absolute; text-align: center; top: 50%; width: 100%; font-size:100px;"),splashBG.appendChild(endTitle)}this.newRun=function(){var e,t,s,l;!function(){AB.newSplash(),AB.splashClick(function(){r(),AB.removeSplash()});let o=document.getElementById("splash-inner");const e=document.createElement("h1"),t=document.createElement("p");e.innerHTML="first player to find all the pages escapes, the others are left behind...",t.innerHTML="W A S D & ARROW LEFT + ARROW RIGHT TO MOVE",o.appendChild(e),o.appendChild(t)}(),a.setSize(window.innerWidth,window.innerHeight),document.body.appendChild(a.domElement),e=new THREE.BoxGeometry(1,1,1),t=new THREE.MeshBasicMaterial({color:16777215,transparent:!0,opacity:0}),play=new THREE.Mesh(e,t),play.scale.multiplyScalar(2),play.position.set(0,p.height,-160),o.add(play),AB.backgroundMusic("/uploads/dannydevito/scarymusic.mp3"),function(){var e=new THREE.BoxGeometry(5,7,1),t=new THREE.TextureLoader;thetexture=t.load("/uploads/dannydevito/enemy.jpg");var n=new THREE.MeshBasicMaterial({map:thetexture});enemy=new THREE.Mesh(e,n),enemy.position.set(5,5,160),enemy.scale.multiplyScalar(2),o.add(enemy)}(),(n=new THREE.PerspectiveCamera(90,window.innerWidth/window.innerHeight,.1,1e3)).position.set(0,3.5,-160),n.lookAt(o.position),m(),(s=new THREE.MTLLoader).setResourcePath("uploads/dannydevito/"),s.setPath("uploads/dannydevito/"),s.load("lowpoly.mtl",function(e){e.preload();var t=new THREE.OBJLoader;t.setMaterials(e),t.setPath("uploads/dannydevito/"),t.load("lowpoly.obj",function(e){e.scale.set(.3,.3,.3),e.position.set(0,37,0),o.add(e)})}),l=new THREE.AmbientLight(11382189,.5),o.add(l),function(){for(i=0;i<11;i++){var e=new THREE.BoxGeometry(1,.2,2),t=new THREE.TextureLoader;thetexture=t.load("/uploads/dannydevito/page.jpg");var n=new THREE.MeshBasicMaterial({map:thetexture});page=new THREE.Mesh(e,n);var a=AB.randomIntAtoB(1,6);1==a?(page.position.z+=AB.randomIntAtoB(-190,-110),page.position.x+=AB.randomIntAtoB(-458,195)):2==a?(page.position.z+=AB.randomIntAtoB(-190,460),page.position.x+=AB.randomIntAtoB(195,112)):3==a?(page.position.z+=AB.randomIntAtoB(-190,460),page.position.x+=AB.randomIntAtoB(-100,-172)):4==a?(page.position.z+=AB.randomIntAtoB(-190,460),page.position.x+=AB.randomIntAtoB(-385,-458)):5==a?(page.position.z+=AB.randomIntAtoB(105,177),page.position.x+=AB.randomIntAtoB(195,-458)):(page.position.z+=AB.randomIntAtoB(385,460),page.position.x+=AB.randomIntAtoB(195,-458)),page.position.y+=1.5,page.scale.multiplyScalar(1.5),h.push(page),o.add(page)}}(),E.appendChild(g),g.style="color:white; text-align:center; font-size:50px;",E.appendChild(B),B.style="color:white; text-align:center; font-size:50px;"},this.nextStep=function(){m(),g.innerText="you "+c,B.innerText="them "+x,(c>=10||x>=10)&&M()},this.endRun=function(){y?function(){const o=new THREE.AudioListener,e=new THREE.Audio(o);(new THREE.AudioLoader).load("/uploads/dannydevito/deathsound.mp3",function(o){e.setBuffer(o),e.setLoop(!1),e.setVolume(10),e.play()})}():c>=10&&AB.backgroundMusic("/uploads/dannydevito/celebrate.mp3")}}