data:snake, un juego de la serpiente en una URI

data:snake, un juego de la serpiente en una URI
Facebook Twitter Flipboard E-mail

Semana que puente para muchos y de tres viernes (o tres lunes o tres luernes o como sea) para otros tantos. De cualquier manera una semana diferente en la que no pegan los temas sesudos sino las cosas simpáticas y divertidas como lo que os traemos ahora mismo en Genbeta Dev: el mítico y clásico juego de la serpiente versión javascript y metido en una URI.

Si, hay gente que tiene estas ideas raras (en este caso un tipo llamado bytex64) y las pone en práctica para primero nuestro asombro y más tarde nuestro divertimento. La URI en cuestión que tienes que meter en tu navegador es la que sigue:

data:text/html,<script>function P(x,y){return{x:x,y:y}}function R(){return{x:Math.floor(Math.random()*16),y:Math.floor(Math.random()*16)}}function A(a,b){return{x:a.x+b.x,y:a.y+b.y}}function Q(a,b){return a.x==b.x&&a.y==b.y}function O(p){return p.x&lt;0||p.x>15||p.y&lt;0||p.y>15}function T(p){return s.filter(Q.bind(this,p)).length}function M(p){if(p.x!=-d.x&&p.y!=-d.y)m=p}function B(l){s.map(function(p){c.fillRect(p.x< &lt;3,p.y<&lt;3,8,8)})}function C(p){c.beginPath();c.arc((p.x<&lt;3)+4,(p.y<&lt;3)+4,4,0,7);c.fill()}function F(){clearInterval(t);setTimeout(I,5000);alert('FAIL')}window.addEventListener('keydown',function(e){M({37:P(-1,0),38:P(0,-1),39:P(1,0),40:P(0,1)}[e.keyCode])},false);function I(){document.body.innerHTML='<canvas width=128 height=128 style="width:256px;height:256px;border:8px solid black">';c=document.body.firstChild.getContext('2d');s=[P(8,8),P(7,8),P(6,8)];a=R();m=P(1,0);t=setInterval(function(){d=m;n=A(s[0],d);(O(n)||T(n))&&F();s.unshift(n);Q(s[0],a)&&(a=R())||s.pop();c.clearRect(0,0,128,128);B(s);C(a)},500);}setTimeout(I,0)</script>

Sin duda, una curiosidad que te sacará una sonrisa geek (y/o nerd) en este gélida tarde de Diciembre:

Vía | bytex64.net
Juego | url limpia

Comentarios cerrados
Inicio