-
Notifications
You must be signed in to change notification settings - Fork 0
/
o.js
13 lines (13 loc) · 6.54 KB
/
o.js
1
2
3
4
5
6
7
8
9
10
11
12
13
function w(){function u(){for(var l in d)d[l].q();if(0<p&&0<q){c.fillStyle="#000000";c.beginPath();c.fillRect(0,0,g,k);c.fill();for(var a=0;10>a;a++)for(var b=0;13>b;b++)if(5!=m[a][b]){var j=new Image;j.src=r[m[a][b]];c.drawImage(j,64*b,64*a)}j=new Image;j.src=r.o;c.drawImage(j,h.x,h.y);c.fillStyle="#6d6b6e";c.beginPath();c.fillRect(g,0,g+192,k);c.fill();c.fillStyle="black";c.font="18pt Arial";c.fillText("Cyberhull",g+12,32);c.font="12pt Arial";c.fillText("Battle city: 4kb",g+12,56);c.fillStyle="red";
for(a=0;a<p;a++)j=new Image,j.src=r.l,c.drawImage(j,g+10+32*(a%2),64-12*(a%2)+12*a);for(l in d)d[l].r();gLoop=setTimeout(u,100)}else clearTimeout(gLoop),0>=q&&(c.fillStyle="#000000",c.beginPath(),c.fillRect(0,0,g,k),c.fill(),c.fillStyle="red",c.font="20pt Arial",c.fillText("Game over",340,320)),0>=p&&(c.fillStyle="#000000",c.beginPath(),c.fillRect(0,0,g,k),c.fill(),c.fillStyle="red",c.font="20pt Arial",c.fillText("You Win",360,320))}function v(c){var a;if(p>=n.length-1)for(c in n)d[c]||(a=new x,a.s(n[c][0],
n[c][1],64*n[c][2],64*n[c][3],c),d[c]=a)}function x(){function l(b,c,f){if(c>=h.x&&c<=h.x+64&&f>=h.y&&f<=h.y+64)return!1;for(var e in d)if(e!=a.j&&c>=d[e].b&&c<=d[e].b+64&&f>=d[e].c&&f<=d[e].c+64)return!1;for(e=0;e<b.data.length;e+=4)if(!(0==b.data[e]&&b.data[e]==b.data[e+1]&&b.data[e+1]==b.data[e+2]))return!1;return!0}var a=this;a.k=new Image;a.s=function(b,c,f,e,d){a.k.src=r[b];a.b=f;a.c=e;a.g=c;a.h=0;a.a=[];a.type=b;a.j=d};a.move=function(b){if(0<=a.b&&a.b+64<=g&&0<=a.c&&a.c+64<=k){var j,f,e=a.b,
d=a.c;a.g=b||a.g;switch(a.g){case "u":f=0;0<=d-4&&(d-=4);j=c.getImageData(e,d,64,1);break;case "d":f=Math.PI;d+68<=k&&(d+=4);j=c.getImageData(e,d+64,64,1);break;case "r":f=Math.PI/2;e+68<=g&&(e+=4);j=c.getImageData(e+64,d,1,64);break;case "l":f=3*Math.PI/2,0<=e-4&&(e-=4),j=c.getImageData(e,d,1,64)}l(j,e,d)&&(a.b=e,a.c=d);a.h=f}};a.i=function(){var b={d:0,f:0,x:0,y:0};switch(a.g){case "u":b.d=1;b.f=0;break;case "d":b.d=-1;b.f=2;break;case "r":b.d=2;b.f=-1;break;case "l":b.d=0,b.f=1}b.x=a.b+32*Math.abs(b.d);
2==b.d&&(b.d=0);b.y=a.c+32*Math.abs(b.f);2==b.f&&(b.f=0);a.a.push(b)};a.n=function(){if(0==a.b%32&&0==a.c%32&&0==Math.floor(Math.floor(128*Math.random()))%16){for(var b=Math.floor(4*Math.random())-1;s[b]==a.g;)b=Math.floor(4*Math.random())-1;a.move(s[b])}else b+=2,4<b&&(b-=4),a.move(s[b]),0==a.a.length&&a.i()};a.t=function(b,c){if(b>=h.x&&b<=h.x+64&&c>=h.y&&c<=h.y+64)q--;else for(var f in d)f!=a.j&&a.type!=d[f].type&&(b>=d[f].b&&b<=d[f].b+64&&c>=d[f].c&&c<=d[f].c+64)&&("p"==d[f].type?q--:p--,delete d[f],
setTimeout(v,100));return!1};a.q=function(){if(a.a.length){var b,d;for(d in a.a){b=Math.abs(a.a[d].d);var f=Math.abs(a.a[d].f),e=a.a[d].x,g=a.a[d].y;b=c.getImageData(e-4*b-a.a[d].f,g-4*f-a.a[d].d,Math.pow(8,b),Math.pow(8,f));if(!(a.a[d].m=l(b,e,g))){if(!a.t(e,g)){b=Math.floor(e/64);var f=Math.floor(g/64),h;1==a.a[d].d&&(0==g%64&&f--,h=3);-1==a.a[d].d&&(h=1);1==a.a[d].f&&(0==e%64&&b--,h=2);-1==a.a[d].f&&(h=0);4==m[f][b]?m[f][b]=h:m[f][b]==h&&(m[f][b]=5)}a.a.splice(d,1)}}}};a.r=function(){"e"==a.type&&
a.n();c.translate(a.b+32,a.c+32);c.rotate(a.h);c.drawImage(a.k,-32,-32);c.rotate(-a.h);c.translate(-(a.b+32),-(a.c+32));if(a.a.length)for(var b in a.a)a.a[b].m&&(c.beginPath(),c.arc(a.a[b].x,a.a[b].y,4,0,2*Math.PI,!1),c.fillStyle="gray",c.fill(),a.a[b].x+=-4*a.a[b].f,a.a[b].y+=-4*a.a[b].d,(0>=a.a[b].y||0>=a.a[b].x||a.a[b].x>=g||a.a[b].y>=k)&&a.a.splice(b,1))}}var t=document.getElementById("c"),c=t.getContext("2d"),g=832,k=640,d=[],r={p:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAADFBMVEUAAAD85pyEcgT8mjS3aVkRAAAAfklEQVR42u3WMQ7AIAxD0da5/51LBrBQXJ/Af6sU3kJU8fjezk4ECMARnCTgTgTYQHUc9gC62gVYAE4cJqruCFcB5iayEuFUuwBzE5UnFBbg2kQF8ER14jOA2UQPsADun8hhewsB5iaq+2CYBfh5J+Iv8UYKsIDqwBGb4AMAH8M+F62cJsO7AAAAAElFTkSuQmCC",
e:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAACXBIWXMAAAsTAAALEwEAmpwYAAABR0lEQVRoge2aPQrCQBSEjewRLDyNpAiewcIiB7H0ICksPIOkCJ7GwiMEsQvrCIObH98+mK97ZPeF4TE7gWyxWob+1cdlWIeFXrReqO/fkABrJMAaCbDGvYDQ3tqhOJwbsvR5v5CncZ9vNrvj760gBLdlTRa7n4AEWONeQBE7pms7srTaV3EJVoO9ZVXGJTcieJqfB4D7CUiANe4FBGKv6+njEbh2RiCnAf594H4CEmCNewEJSQzhCvC9APclHB4c9xOQAGvcC0hIYoC7FmwKraDknlYS540EWBMeXTMUSWkKcKtBiie9iJ8l7icgAda4FzA+iTnx2TARJXHeSIA1syUxOH5KK94ZcD8BCbDGvYDxSTzlC5mHa9Ji9xOQAGvcC0hIYrh5mPTHKfEaSR0XSuK8kQBrxicxeJr/6wX4jS1ASZw3EmDNG5W9eJza+PrVAAAAAElFTkSuQmCC",
"0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAADFBMVEUAAAC6BgDWMgCAgIAGRGAtAAAAM0lEQVQ4y2NkgIJQIF4VxsDASIHAKpBgWOiAC/yH0hQJhFFDIHRwCFAhPEbTx2j6wCIAAFteWsGXoGdnAAAAAElFTkSuQmCC",1:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAADFBMVEUAAAC6BgDWMgCAgIAGRGAtAAAAOElEQVR4Xu3IIQ4AMAxC0V2SS3LJrtmCqajA1PQJSP7prIUUOXonMAVI/VSIwgr49F7gox8LhREuGqlesGdYNvkAAAAASUVORK5CYII=",2:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAADFBMVEUAAAC6BgDWMgCAgIAGRGAtAAAANUlEQVQ4jWMIBYL/QMwAA2QIrAKC/6GrVg20wH8ooEggFAIoE1gFBgMuQIXwGE0fo+kDjwAANU9esGISNt0AAAAASUVORK5CYII=",
3:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAADFBMVEUAAAC6BgDWMgCAgIAGRGAtAAAAOElEQVR4Xu3IIQ4AMAxC0V2SS3LJrtmCqajA1PQJSP5Bihy9E5gCpH4qRGEFfHov8NGPhcIJjbUuWlBesFKAXL0AAAAASUVORK5CYII=",4:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAACVBMVEW6BgCAgIDWMgC+PaXGAAAANklEQVR4nGNgAIJQBgiA0aQKrAKCUDAJoQdKIBQNkCVAYVhAGAhHgcCACVAhPEbTx2j6wCMAAKVYc/DEwHQUAAAAAElFTkSuQmCC",l:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXBAMAAAASBMmTAAAAFVBMVEUAAABta24nAABpEhtsam0BAQECAgLWB/Z5AAAAVklEQVR4Xp3PsQ2AMAxE0U8mOCQmyAiwAEUG8BJh/xG4wlIKohRcY7/GJ7OPiKMZbEYTIiG+uAGmUKk1AZTrpMcA8BtP+DRB9mTpBJFYvOBVAJ5LjOgFGjYO4RMWqT0AAAAASUVORK5CYII=",
o:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAADFBMVEUAAABeDRFwbnF0cnVF6HKGAAAAjUlEQVR4Xq3Q0Q3DMAgE0NuoIzBF5knm8RJmia4Tijkp5RPknCx0eh9IGG9kmiYQg/XB8YKzz9U1RoCWwWvM76kQdwIgDVisnKlyfxUsog6faAmkAQdx3eMASAJFAbjkWaFlOE5/fzCCWQAyKKrAbMAk3JPAJRDjnzdhjAtPHJgy8I4dSKdtAI97Dfr5AXx57WmKpPLpAAAAAElFTkSuQmCC"},s="urdl",n=[["p","u",4,9],["e","d",0,0],["e","d",12,0],["e","d",3,0]],h={x:384,y:576},p=14,q=3;t.width=g+192;t.height=k;var m=[[5,5,5,5,5,5,5,5,5,5,5,5,5],[5,4,5,4,5,4,5,4,5,4,5,
4,5],[5,4,5,4,5,4,4,4,5,4,5,4,5],[5,4,5,4,5,4,5,4,5,4,5,4,5],[5,5,5,5,5,5,5,5,5,5,5,5,5],[4,5,4,4,4,5,4,5,4,4,4,5,4],[5,5,5,5,5,5,4,5,5,5,5,5,5],[5,4,5,4,5,5,5,5,5,4,5,4,5],[5,4,5,4,5,4,4,4,5,4,5,4,5],[5,5,5,5,5,4,5,4,5,5,5,5,5]];v();u();window.addEventListener("keydown",function(c){switch(c.keyCode){case 38:d[0].move("u");break;case 40:d[0].move("d");break;case 37:d[0].move("l");break;case 39:d[0].move("r");break;case 32:d[0].i();break;case 27:clearTimeout(gLoop)}},!0)}
window.addEventListener("load",function(){bm=new w});