This is a game where a stalker is trying to get between you and your love. Collect hearts to slow him down, but he'll always get there eventually!
(function(){function w(a,c){d.beginPath();d.lineWidth=2;d.strokeStyle="red";d.arc(a,c,30,0,r,true);d.stroke();if(n[a]){if(c>n[a][0]&&c<n[a][1]){t();l+=p;p-=25;n=[];n.length=h;q+=100}}q++;u();e=setTimeout(function(){b.x=a;b.y=c;d.strokeStyle="blue";d.clearRect(a,c,10,10);d.beginPath();d.arc(a,c,20,0,r,true);d.stroke();l-=o()*5},l);if(l<1)alert("Score: "+q+"!"),j=0}function v(){if(!j){setTimeout(v,m);return}m+=20;var a=Math.floor(o()*h);y=Math.floor(o()*k);x_r=a+g,i=0;d.font="62px a";d.fillStyle="white";d.fillText(f,a,y);d.fillStyle="red";d.font="56px a";d.fillText(f,a+1.5,y-2);y-=50;while(a<x_r){n[a]=[y,y+70];a++}setTimeout(v,m)}function u(){d.fillStyle="black";d.fillRect(0,0,200,50);d.fillStyle="white";d.font="24px a",d.fillText("score: "+q,10,30)}function t(){d.fillStyle="black";d.fillRect(0,0,h,k)}var b={x:0,y:0},d=a,e,f="♥",g=45,h=1400,j=1,k=780,l=1e3,m=2e3,n=[],o=Math.random,p=800,q=0,r=Math.PI*2,s=12;n.length=h;c.width=h;c.height=k;c.onmousemove=function(a){if(j)w(a.pageX,a.pageY)};t();v()})()
KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdyhhLGMpe2QuYmVnaW5QYXRoKCk7ZC5saW5lV2lkdGg9MjtkLnN0cm9rZVN0eWxlPSJyZWQiO2QuYXJjKGEsYywzMCwwLHIsdHJ1ZSk7ZC5zdHJva2UoKTtpZihuW2FdKXtpZihjPm5bYV1bMF0mJmM8blthXVsxXSl7dCgpO2wrPXA7cC09MjU7bj1bXTtuLmxlbmd0aD1oO3ErPTEwMH19cSsrO3UoKTtlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLng9YTtiLnk9YztkLnN0cm9rZVN0eWxlPSJibHVlIjtkLmNsZWFyUmVjdChhLGMsMTAsMTApO2QuYmVnaW5QYXRoKCk7ZC5hcmMoYSxjLDIwLDAscix0cnVlKTtkLnN0cm9rZSgpO2wtPW8oKSo1fSxsKTtpZihsPDEpYWxlcnQoIlNjb3JlOiAiK3ErIiEiKSxqPTB9ZnVuY3Rpb24gdigpe2lmKCFqKXtzZXRUaW1lb3V0KHYsbSk7cmV0dXJufW0rPTIwO3ZhciBhPU1hdGguZmxvb3IobygpKmgpO3k9TWF0aC5mbG9vcihvKCkqayk7eF9yPWErZyxpPTA7ZC5mb250PSI2MnB4IGEiO2QuZmlsbFN0eWxlPSJ3aGl0ZSI7ZC5maWxsVGV4dChmLGEseSk7ZC5maWxsU3R5bGU9InJlZCI7ZC5mb250PSI1NnB4IGEiO2QuZmlsbFRleHQoZixhKzEuNSx5LTIpO3ktPTUwO3doaWxlKGE8eF9yKXtuW2FdPVt5LHkrNzBdO2ErK31zZXRUaW1lb3V0KHYsbSl9ZnVuY3Rpb24gdSgpe2QuZmlsbFN0eWxlPSJibGFjayI7ZC5maWxsUmVjdCgwLDAsMjAwLDUwKTtkLmZpbGxTdHlsZT0id2hpdGUiO2QuZm9udD0iMjRweCBhIixkLmZpbGxUZXh0KCJzY29yZTogIitxLDEwLDMwKX1mdW5jdGlvbiB0KCl7ZC5maWxsU3R5bGU9ImJsYWNrIjtkLmZpbGxSZWN0KDAsMCxoLGspfXZhciBiPXt4OjAseTowfSxkPWEsZSxmPSLimaUiLGc9NDUsaD0xNDAwLGo9MSxrPTc4MCxsPTFlMyxtPTJlMyxuPVtdLG89TWF0aC5yYW5kb20scD04MDAscT0wLHI9TWF0aC5QSSoyLHM9MTI7bi5sZW5ndGg9aDtjLndpZHRoPWg7Yy5oZWlnaHQ9aztjLm9ubW91c2Vtb3ZlPWZ1bmN0aW9uKGEpe2lmKGopdyhhLnBhZ2VYLGEucGFnZVkpfTt0KCk7digpfSkoKQ==
( function() {
var c_sp = {
x : 0,
y : 0
},
z = a,
t,
L="♥",
HH=45,
CW = 1400,
gameon = 1,
CH = 780,
speed = 1000,
heartspeed = 2000,
h_i=[],
R=Math.random,
heart_decrease=800,
score = 0,
p2 = Math.PI * 2,
s_fs=12;
h_i.length = CW;
function clearCanvas() {
z.fillStyle = "black";
z.fillRect(0, 0, CW, CH);
}
function displayScore() {
z.fillStyle = "black";
z.fillRect(0, 0, 200, 50);
z.fillStyle = "white";
z.font="24px a",
z.fillText("score: "+score,10,30);
}
function drawHeart() {
if (!gameon) {
setTimeout(drawHeart,heartspeed);
return;
}
heartspeed+=20;
var x = Math.floor(R()*CW);
y = Math.floor(R()*CH);
x_r = x+HH,i=0;
z.font="62px a";
z.fillStyle="white";
z.fillText(L,x,y);
z.fillStyle="red";
z.font="56px a";
z.fillText(L,x+1.5,y-2);
y-=50;
while (x<x_r) {
h_i[x] = [y,y+70];
x++;
}
setTimeout(drawHeart,heartspeed);
}
function paintcanvas(x, y) {
z.beginPath();
z.lineWidth = 2;
z.strokeStyle = "red";
z.arc(x, y, 30, 0, p2, true);
z.stroke();
if (h_i[x]) {
if (y > h_i[x][0] && y < h_i[x][1]) {
clearCanvas();
speed+=heart_decrease;
heart_decrease-=25;
h_i=[];
h_i.length = CW;
score+=100;
}
}
score++;
displayScore();
t = setTimeout(function() {
c_sp.x = x;
c_sp.y = y;
z.strokeStyle = "blue";
z.clearRect(x, y, 10, 10);
z.beginPath();
z.arc(x, y, 20, 0, p2, true);
z.stroke();
//clearTimeout(t);
speed -= R()*5;
}, speed);
if (speed<1)alert("Score: "+score+"!"),gameon=0;
}
c.width = CW;
c.height = CH;
c.onmousemove = function(e) {
if (gameon) paintcanvas(e.pageX, e.pageY);
}
clearCanvas();
drawHeart();
}())