pixel breakout! for JS1k os0x Follow 2010-08-14 05:13:07 License: MIT License Fork1 Fav7 View2079 Play Stop Reload Fullscreen Smart Phone Fork tree Readme JavaScript 1 lines HTML 2 lines CSS 2 lines pixel breakout! for JS1k E=253;$=Math.random;T=(c=document.body.children[L=i=0]).getContext('2d');for(c.width=c.height=S=400;i<S;i++)T.fillStyle='hsl('+i*.9+',100%,50%)',T.fillRect(i,0,1,S/4);c.style.background='#000';D=(I=T.getImageData(0,0,S,S)).data;B=[{x:S/2,y:S/2,a:E,b:0,c:0,v:3,V:-4}];N=4e4;M=setInterval('i=B.length;while(b=B[--i]){v=b.v;j=s=Math.sqrt(v*v+b.V*b.V)|0;r=Math.atan2(b.V,b.v);b.f&&(b.V+=.1);while(j--)b.x+=v/s,b.y+=b.V/s,x=b.x|0,y=b.y|0,z=(x+y*S)*4+3,(x<0&&v<0)||(x>S&&v>0)?v=b.v*=-1:y<0&&b.V<0?b.V*=-1:y>S?(B.splice(i,1),j=0):y>360&&y<369&&x>L-25&&x<L+25&&b.V>0?(b.V*=-1,b.f&&(b.v=$()*9,b.V=$()*9+1),b.f=0):D[z]==255?b.f||(D[z]=0,B.push({x:x,y:b.y,a:D[z-3],b:D[z-2],c:D[z-1],v:Math.cos(r+Math.PI*2/(30*$())-15)*3,V:1,f:1}),b.V*=-1,N--):x>0&&x<S&&y>=0&&y<S&&(D[z-3]=b.a,D[z-2]=b.b,D[z-1]=b.c,D[z]=E)}T.putImageData(I,0,0);for(i=3;i<64e4;i+=4)D[i]<=E&&(D[i]*=.9);T.fillRect(L-25,360,50,9);N||clearInterval(M)',32);onmousemove=function(e){L=e.pageX-8};onclick=function(e){B.push({x:e.pageX-8,y:360,v:$()*9,V:$()*9+1,a:E,b:E,c:E})} <canvas id='c'></canvas> <!-- http://js1k.com/home に出した1024バイト版のパーティクル崩し --> pixel breakout! for JS1k E=253;$=Math.random;T=(c=document.body.children[L=i=0]).getContext('2d');for(c.width=c.height=S=400;i<S;i++)T.fillStyle='hsl('+i*.9+',100%,50%)',T.fillRect(i,0,1,S/4);c.style.background='#000';D=(I=T.getImageData(0,0,S,S)).data;B=[{x:S/2,y:S/2,a:E,b:0,c:0,v:3,V:-4}];N=4e4;M=setInterval('i=B.length;while(b=B[--i]){v=b.v;j=s=Math.sqrt(v*v+b.V*b.V)|0;r=Math.atan2(b.V,b.v);b.f&&(b.V+=.1);while(j--)b.x+=v/s,b.y+=b.V/s,x=b.x|0,y=b.y|0,z=(x+y*S)*4+3,(x<0&&v<0)||(x>S&&v>0)?v=b.v*=-1:y<0&&b.V<0?b.V*=-1:y>S?(B.splice(i,1),j=0):y>360&&y<369&&x>L-25&&x<L+25&&b.V>0?(b.V*=-1,b.f&&(b.v=$()*9,b.V=$()*9+1),b.f=0):D[z]==255?b.f||(D[z]=0,B.push({x:x,y:b.y,a:D[z-3],b:D[z-2],c:D[z-1],v:Math.cos(r+Math.PI*2/(30*$())-15)*3,V:1,f:1}),b.V*=-1,N--):x>0&&x<S&&y>=0&&y<S&&(D[z-3]=b.a,D[z-2]=b.b,D[z-1]=b.c,D[z]=E)}T.putImageData(I,0,0);for(i=3;i<64e4;i+=4)D[i]<=E&&(D[i]*=.9);T.fillRect(L-25,360,50,9);N||clearInterval(M)',32);onmousemove=function(e){L=e.pageX-8};onclick=function(e){B.push({x:e.pageX-8,y:360,v:$()*9,V:$()*9+1,a:E,b:E,c:E})} <canvas id='c'></canvas> <!-- http://js1k.com/home に出した1024バイト版のパーティクル崩し --> use an iframe compat browser, deer Play on jsdo.it games Author Share ブログに埋め込む QR Tag Download Complete! Description What kind of game? Control Device Smartphone Controllerjsdo.it WebSocket Controller» Mouse Keyboard Touch Device Fullscreen Activated Inactivated jsdo.it games から削除する Submit Author os0x URLhttp://d.hatena.ne.jp/os0x/ Tweet Default Panel Auto play Screenshot Readme JavaScript HTML CSS Size Width: px Height: px code <script type="text/javascript" src="http://jsdo.it/blogparts/9XcV/js"></script> canvas codegolf particle Tweet Twitter Discussion Questions on this code? Tags 1kb canvas codegolf color game partcle particle Favorite by cuddlephish nopatternaar stewie junKueue y3i12 miquael: colorgamepartcleawesome ~ tetsuwo: 1kbcanvaspartcle Forked sort by latest page views favorite forked forked: pixel breakout! for JS Ntkachov 00 198 2/2/2 canvas codegolf particle forked from: pixel breakout! f masakin99 00 304 2/2/2