Hey there, pseudo-cupid! You have some big shoes to fill... use the arrow keys to aim and space to fire. Save the world by projecting love into every heart!
(function(Z,o,i){for(i in o)Z=Z.replace(RegExp(i,'g'),o[i]);eval(Z)})('(C_var w=600,h=400,d=i=V=0,j,H={},q="#000",B=C_U.S=35-~(%*50);U.x=w;U.y=%*h;U.s=-~(%*6);U.id=i++;U.h="❤";U.k=-1;U.c="red";H[U.id]=U},A=C_B.call(U);YS=30;h="➳";s=25;k=1;y=173,x=115;c=q}U.d=d*`};BO.G=C_Y@x+S<0||x-S>w)return W()Nc;DLS;J-S/2,S/3)F(h,x+=s*k,y+(%>.5?1:-1))X}};BO.W=C_delete H[U.id]};AO=new B;AO.G=C_YDJx,y+10)Q);x+=s*k;y+=Msin(d)*s;LS;NcF(h,0,0)X}T@E.k<0_Msqrt(Mpow(U.x-E.x,2)+Mpow(U.y-E.y,2))<E.S/2&&V++&&E.W()}};c.width=w;c.height=h;Db.onkeyup=Ce_(k=e.which)==38?d-=5:k==40?d+=5:k==32&&new A};setInterval(C_X;N"#0af";ZRect(0,0,w,h);@%>.93)new B;TE.G()Nq;L70;DJ110,167)Q*`)F(">",-8,30)XF("웃",50,h/2);L20;F(V+"x broken♥",50,50)},50)})()',{'Y':'with(U_','C':'function(','D':'a.save();','U':'this','`':'MPI/180','T':'for(j in H)','O':'.prototype','F':';ZText','J':'a.translate(','N':';ZStyle=','_':'){','@':'if(','X':';a.restore()','%':'Mrandom()','M':'Math.','Q':';a.rotate(d','L(.*?);':'a.font=$1+"px a";','Z':'a.fill','E':'H[j]'})
KGZ1bmN0aW9uKFosbyxpKXtmb3IoaSBpbiBvKVo9Wi5yZXBsYWNlKFJlZ0V4cChpLCdnJyksb1tpXSk7ZXZhbChaKX0pKCcoQ192YXIgdz02MDAsaD00MDAsZD1pPVY9MCxqLEg9e30scT0iIzAwMCIsQj1DX1UuUz0zNS1+KCUqNTApO1UueD13O1UueT0lKmg7VS5zPS1+KCUqNik7VS5pZD1pKys7VS5oPSLinaQiO1Uuaz0tMTtVLmM9InJlZCI7SFtVLmlkXT1VfSxBPUNfQi5jYWxsKFUpO1lTPTMwO2g9IuKesyI7cz0yNTtrPTE7eT0xNzMseD0xMTU7Yz1xfVUuZD1kKmB9O0JPLkc9Q19ZQHgrUzwwfHx4LVM+dylyZXR1cm4gVygpTmM7RExTO0otUy8yLFMvMylGKGgseCs9cyprLHkrKCU+LjU/MTotMSkpWH19O0JPLlc9Q19kZWxldGUgSFtVLmlkXX07QU89bmV3IEI7QU8uRz1DX1lESngseSsxMClRKTt4Kz1zKms7eSs9TXNpbihkKSpzO0xTO05jRihoLDAsMClYfVRARS5rPDBfTXNxcnQoTXBvdyhVLngtRS54LDIpK01wb3coVS55LUUueSwyKSk8RS5TLzImJlYrKyYmRS5XKCl9fTtjLndpZHRoPXc7Yy5oZWlnaHQ9aDtEYi5vbmtleXVwPUNlXyhrPWUud2hpY2gpPT0zOD9kLT01Oms9PTQwP2QrPTU6az09MzImJm5ldyBBfTtzZXRJbnRlcnZhbChDX1g7TiIjMGFmIjtaUmVjdCgwLDAsdyxoKTtAJT4uOTMpbmV3IEI7VEUuRygpTnE7TDcwO0RKMTEwLDE2NylRKmApRigiPiIsLTgsMzApWEYoIuybgyIsNTAsaC8yKTtMMjA7RihWKyJ4IGJyb2tlbuKZpSIsNTAsNTApfSw1MCl9KSgpJyx7J1knOid3aXRoKFVfJywnQyc6J2Z1bmN0aW9uKCcsJ0QnOidhLnNhdmUoKTsnLCdVJzondGhpcycsJ2AnOidNUEkvMTgwJywnVCc6J2ZvcihqIGluIEgpJywnTyc6Jy5wcm90b3R5cGUnLCdGJzonO1pUZXh0JywnSic6J2EudHJhbnNsYXRlKCcsJ04nOic7WlN0eWxlPScsJ18nOicpeycsJ0AnOidpZignLCdYJzonO2EucmVzdG9yZSgpJywnJSc6J01yYW5kb20oKScsJ00nOidNYXRoLicsJ1EnOic7YS5yb3RhdGUoZCcsJ0woLio/KTsnOidhLmZvbnQ9JDErInB4IGEiOycsJ1onOidhLmZpbGwnLCdFJzonSFtqXSd9KQ==
(function(){
var w = 600,
h = 400,
R = Math.random,
paused = d = i = v = 0,
j,// counter
g,//gradient
aux,//guess
dM = 30,
dm = -dM,
p = 5,// the degree pace
H = {},
q='#000',
f = function(x){
a.font=x+'px Arial';
},//font
B = function(){
this.S = 35+~(-R()*50);
this.x = w;
this.y = R() * h;
this.s = ~(-R()*5);
this.id = i++;
this.h = '❤';//R()>.5?'❤':'♥';
this.dir = -1;
this.c = 'red';
H[this.id] = this;
},
A = function(){
B.call(this);
with(this){S=30;h='➳';s=25;dir=1;y=173,x=115;c=q;}
this.d = d*Math.PI/180;
};
B.prototype.draw = function(){
with(this){
if(x+S<0||x-S>w)return destroy();
a.fillStyle=c;
a.save();
f(S);
a.translate(-S/2,S/3);
a.fillText(h,x+=s*dir,y+(R()>.5?1:-1));
a.restore();
}
};
B.prototype.destroy = function(){
delete H[this.id];
};
A.prototype = new B;
A.prototype.draw=function(){
with(this){
a.save();
a.translate(x,y+10);
a.rotate(d);
x+=s*dir;
y+=Math.sin(d)*s;
f(S);
a.fillStyle=c;
a.fillText(h,0,0);
a.restore();
}
for(j in H)
if(H[j].h =='❤' && H[j].id != this.id)
{
var z = H[j];
distance = Math.sqrt(Math.pow(this.x-z.x,2)+Math.pow(this.y-z.y,2));
if(distance<z.S/2)
z.destroy();
}
}
c.width=w;
c.height=h;
c.style.margin='0 auto';
c.style.display='block';
a.save();
b.addEventListener('keyup',function(e){(e.keyCode||e.which)==32&&new A});
b.addEventListener('keydown',function(e){k=e.keyCode||e.which;if(k==80)paused=!paused;k==38?d-=p:(k==40?d+=p:'');});
H={};
setInterval(function(){
if(paused)
{
if(!v)
{
f(99);
a.fillText('paused',150,h/2);
v=1;
}
return;
}
v=0;
d = d>dM?dM:d<dm?dm:d;
c.height=h;
a.restore();
if(R()>.95) new B;
for(j in H)H[j].draw();
a.fillStyle=q;
f(70);
a.save();
a.translate(105,167);
a.rotate(d*Math.PI/180);
a.fillText('♐'/*♂'*/,-8,30);//➳
a.restore();
a.rect(0,0,w,h);
a.fillText('웃',50,h/2);
a.stroke();
},50);
})();