-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
92 lines (60 loc) · 113 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<head>
<title>Michaels bookmarklet site</title>
<head>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" href="style.css">
</head>
<body>
<ul class="main-nav">
<li><a href="/">home</a></li>
<li><a href="about.html">about</a></li>
</ul>
<h1>Hi, welcome to my bookmarklets site!</h1>
<h3>drag these to your bookmarks bar and click on them to activate them. Use them on any website!</h3>
<img src="hi.gif" alt="bookmarklets" class="right">
<a href="javascript:(function(){var js=document.body.appendChild(document.createElement('script'));js.onerror=function(){alert('Sorry, the script could not be loaded.')};js.src='https://rawgit.com/Krazete/bookmarklets/master/tri.js'})();">3d Layers</a>
<P>make a website 3D</P>
<a href="javascript:(function(){var js=document.body.appendChild(document.createElement('script'));js.onerror=function(){alert('Sorry, the script could not be loaded.')};js.src='https://rawgit.com/Krazete/bookmarklets/master/piano.js'})();">Piano</a>
<P>a 8-bit piano in your browser</P>
<a href="javascript:void(document.head.appendChild(document.createElement('script')).src='https://raw.githubusercontent.com/Krazete/bookmarklets/refs/heads/master/invert.js' )"="">Inverter!</a>
<P>Inverts the websites color</P>
<a href="javascript:(function(){ const dot = (function(){ function dot(size = null, startPosX = null, startPosY = null, xDir = null, yDir = null, speed = null, color = null){ this.size = (size !== null) ? size : 150; this.minSize = 60; this.colChange = 80; this.x = (startPosX !== null) ? startPosX : Math.random() * (window.innerWidth - this.size) ; this.y = (startPosY !== null) ? startPosY : Math.random() * (window.innerHeight - this.size); this.maxX = window.innerWidth; this.maxY = window.innerHeight; this.xDir = (xDir !== null) ? xDir : 1; this.yDir = (yDir !== null) ? yDir : 1; this.speed = (speed !== null) ? speed : 1; this.shrink = 20; this.color = (color !== null) ? color : '#70a6ff';%20this.dot%20=%20document.createElement('div');%20this.dot.style.width%20=%20this.dot.style.height%20=%20`${this.size}px`;%20this.dot.style.border%20=%20`1px%20solid%20${this.color}`;%20this.dot.style.backgroundColor%20=%20`${this.color}1A`;%20this.dot.style.position%20=%20'fixed';%20this.dot.style.zIndex%20=%20'99999999';%20this.dot.style.top%20=%20`${this.x}px`;%20this.dot.style.left%20=%20`${this.y}px`;%20this.dot.style.borderRadius%20=%20'90px';%20document.body.appendChild(this.dot);%20this.dot.addEventListener('mousedown',%20()%20=>%20{%20this.size%20-=%20this.shrink;%20if%20(this.size%20>%20this.minSize){%20this.speed%20+=%200.3;%20this.dot.style.width%20=%20this.dot.style.height%20=%20`${this.size}px`;%20this.x%20=%20this.x%20+%20((this.shrink%20/%202)%20*%20this.xDir);%20this.y%20=%20this.y%20+%20((this.shrink%20/%202)%20*%20this.yDir);%20this.dot.style.left%20=%20`${this.x}px`;%20this.dot.style.top%20=%20`${this.y}px`;%20console.log(this.size);%20this.color%20=%20(this.size%20<%20this.colChange)%20?%20'#ff0000'%20:%20this.color;%20this.dot.style.border%20=%20`1px%20solid%20${this.color}`;%20this.dot.style.backgroundColor%20=%20`${this.color}1A`;%20window.dotStats.dotspopped++;%20let%20newXDir%20=%20(Math.round(Math.random())%20===%201)%20?%201%20:%20-1;%20let%20newYDir%20=%20(Math.round(Math.random())%20===%201)%20?%201%20:%20-1;%20window.dots.push(new%20dot(this.size,%20this.x,%20this.y,%20newXDir,%20newYDir,%20(this.speed+(Math.random()/0.5)),%20this.color));%20}%20if%20(this.size%20<%20this.minSize){%20window.clearInterval(this.move);%20this.dot.remove();%20}%20},%20false);%20%20this.move%20=%20window.setInterval(()%20=>%20{%20this.x%20+=%20(this.xDir%20*%20this.speed);%20if%20(this.x%20>=%20(this.maxX%20-%20this.size))this.xDir%20=%20-1;%20if%20(this.x%20<=%200)%20this.xDir%20=%201;%20this.y%20+=%20(this.yDir%20*%20this.speed);%20if%20(this.y%20>=%20(this.maxY%20-%20this.size))this.yDir%20=%20-1;%20if%20(this.y%20<=%200)%20this.yDir%20=%201;%20%20this.dot.style.left%20=%20`${this.x}px`;%20this.dot.style.top%20=%20`${this.y}px`;%20},%2010);%20}%20return%20dot;%20})();%20if%20(window.dots){%20window.dots.push(new%20dot());%20window.dotStats.basedots++;%20}%20else%20{%20window.dots%20=%20[new%20dot()];%20window.dotStats%20=%20{%20basedots:%201,%20clicks:%200,%20dotspopped:%200%20};%20window.addEventListener('mousedown',%20()=>%20{%20window.dotStats.clicks++;%20window.updateStats();%20},%20false);%20let%20ds%20=%20document.createElement('div');%20ds.setAttribute('id',%20'dotStats');%20ds.style.position%20=%20'fixed';%20ds.style.right%20=%20'0px';%20ds.style.top%20=%20'0px';%20ds.style.zIndex%20=%20'9999999';%20ds.style.textAlign%20=%20'right';%20ds.style.padding%20=%20'20px';%20ds.style.backgroundColor%20=%20'#fff';%20ds.style.border%20=%20'1px%20solid%20#ccc';%20ds.style.color%20=%20'#090909';%20ds.style.fontFamily%20=%20'Arial,%20Helvetica,%20sans-serif';%20document.body.appendChild(ds);%20window.updateStats%20=%20function(){%20document.getElementById('dotStats').innerHTML%20=%20%20`Big%20dots%20spawned:%20${window.dotStats.basedots}<br/>%20Dots%20popped:%20${window.dotStats.dotspopped}<br/>%20Misses:%20${window.dotStats.clicks%20-%20window.dotStats.dotspopped}`;%20};%20}%20window.updateStats();%20})();">Dot game</a>
<P>Click the dots (bubbles) this is fun with 3dlayers! click the bookmarklet more to spawn more bigdots (one per click)</P>
<a href="javascript: var versionCalc = prompt('1). Basic Calculator\n2). Equations');switch (versionCalc) { case '1': var operatorType = parseInt(prompt('1). Addition\n2). Subtraction\n3). Multiplication\n4). Division')); switch (operatorType) { case 1: var num1 = parseInt(prompt('First Number:')); var num2 = parseInt(prompt('Second Number:')); result = num1 + num2; break; case 2: var num1 = parseInt(prompt('First Number:')); var num2 = parseInt(prompt('Second Number:')); result = num1 - num2; break; case 3: var num1 = parseInt(prompt('First Number:')); var num2 = parseInt(prompt('Second Number:')); result = num1 * num2; break; case 4: var num1 = parseInt(prompt('First Number:')); var num2 = parseInt(prompt('Second Number:')); result = num1 / num2; break; default: alert('That is not a valid input. Input the number of the operation you are trying to run'); break; }; break; case '2': var equationType = parseInt(prompt('1). Slope\n2). Area of a circle\n3). Area of a square/rectangle\n4). Area of a triangle\n5). Volume of a cube\n6). Distance\n7). Time\n8). Speed')); switch (equationType) { case 1: m = parseInt(prompt("What is the rise/run? (M)")); x = parseInt(prompt("What is the distance of the line from the x-axis? (X)")); b = parseInt(prompt("What is the Y-Intercept? (B)")); result = (m * x) + b; break; case 2: r = parseInt(prompt(%27What is the radius of the circle? (R)%27)); r2 = r * r; result = r2 * 3.14; break; case 3: l = parseInt(prompt(%27What is the length?%27)); w = parseInt(prompt(%27What is the width?%27)); result = l * w; break; case 4: b = parseInt(prompt("What is the base of the triangle?")); h = parseInt(prompt("what is the height of the triangle?")); result = (b * h) / 2; break; case 5: l = parseInt(prompt(%27What is the length?%27)); w = parseInt(prompt(%27What is the width?%27)); h = parseInt(prompt(%27What is the height?%27)); result = l * w * h; break; case 6: s = parseInt(prompt(%27What is the speed?%27)); t = parseInt(prompt(%27What is the time?%27)); result = s * t; break; case 7: s = parseInt(prompt(%27What is the speed?%27)); d = parseInt(prompt(%27What is the distance?%27)); result = d / s; break; case 8: s = parseInt(prompt(%27What is the time?%27)); d = parseInt(prompt(%27What is the distance?%27)); result = d / t; break; default: alert(%27That is not a valid input. Input the number of the operation you are trying to run%27); break; }; break; default: alert(%27That is not a valid input. Input the number of the operation you are trying to run%27); };alert(%27Your answer is %27 + result);">Calculator</a>
<P>A simple calculator</P>
<a href="javascript:(function()%7Bjavascript%3Aalert(%22--BREAKOUT--%20hit%20the%20ball%20to%20break%20all%20the%20blocks!%20speeds%20up%20every%20time%20you%20break%20all%20of%20them!%20by%20Michael%20a%20school%20student%20who%20got%20bored%22)%3B%20var%20width%20%3D%20window.innerWidth%3B%20var%20height%20%3D%20window.innerHeight%3B%20var%20ballxpos%20%3D%20683%3B%20var%20ballypos%20%3D%20200%3B%20var%20randomnum%20%3D%20Math.floor(Math.random()%20*%20(2%20-%201%20%2B%201)%20%2B%201)%3B%20if%20(randomnum%20%3D%3D%201)%20%7B%20var%20ballchangex%20%3D%201%3B%20%7D%20if%20(randomnum%20%3D%3D%202)%20%7B%20var%20ballchangex%20%3D%20-1%3B%20%7D%20var%20ballchangey%20%3D%201%3B%20var%20ballspeed%20%3D%203%3B%20var%20xpos%20%3D%20683%3B%20var%20ypos%20%3D%20605%3B%20var%20playerxmove%20%3D%200%3B%20var%20playerspeed%20%3D%205%3B%20var%20score%20%3D%200%3B%20var%20done%20%3D%200%3B%20var%20s1width%20%3D%20180%3B%20var%20s1height%20%3D%2040%3B%20var%20s1xpos%20%3D%201366%20%2F%202%3B%20s1xpos%20%3D%20s1xpos%20-%20s1width%20%2F%202%3B%20var%20s1ypos%20%3D%2010%3B%20var%20s2width%20%3D%20180%3B%20var%20s2height%20%3D%2040%3B%20var%20s2xpos%20%3D%201366%20%2F%202%3B%20s2xpos%20%3D%20s2xpos%20-%20s2width%20%2F%202%20%2B%20s2width%20%2B%2010%3B%20var%20s2ypos%20%3D%2010%3B%20var%20s3width%20%3D%20180%3B%20var%20s3height%20%3D%2040%3B%20var%20s3xpos%20%3D%201366%20%2F%202%3B%20s3xpos%20%3D%20s3xpos%20-%20s3width%20%2F%202%20-%20s3width%20-%2010%3B%20var%20s3ypos%20%3D%2010%3B%20var%20s4width%20%3D%20180%3B%20var%20s4height%20%3D%2040%3B%20var%20s4xpos%20%3D%201366%20%2F%202%3B%20s4xpos%20%3D%20s4xpos%20-%20s4width%20%2F%202%20-%20s4width%20-%2010%3B%20var%20s4ypos%20%3D%2010%3B%20s4ypos%20%3D%20s4ypos%20%2B%20s4height%20%2B%2010%3B%20var%20s5width%20%3D%20180%3B%20var%20s5height%20%3D%2040%3B%20var%20s5xpos%20%3D%201366%20%2F%202%3B%20s5xpos%20%3D%20s5xpos%20-%20s5width%20%2F%202%20%2B%20s5width%20%2B%2010%3B%20var%20s5ypos%20%3D%2010%3B%20s5ypos%20%3D%20s5ypos%20%2B%20s5height%20%2B%2010%3B%20var%20s6width%20%3D%20180%3B%20var%20s6height%20%3D%2040%3B%20var%20s6xpos%20%3D%201366%20%2F%202%3B%20s6xpos%20%3D%20s6xpos%20-%20s6width%20%2F%202%3B%20var%20s6ypos%20%3D%2010%3B%20s6ypos%20%3D%20s6ypos%20%2B%20s6height%20%2B%2010%3B%20var%20s7width%20%3D%20180%3B%20var%20s7height%20%3D%2040%3B%20var%20s7xpos%20%3D%201366%20%2F%202%3B%20s7xpos%20%3D%20s7xpos%20-%20s7width%20%2F%202%20-%20s7width%20-%2010%3B%20var%20s7ypos%20%3D%2010%3B%20s7ypos%20%3D%20s7ypos%20%2B%20s7height%20%2B%20s7height%20%2B%2020%3B%20var%20s8width%20%3D%20180%3B%20var%20s8height%20%3D%2040%3B%20var%20s8xpos%20%3D%201366%20%2F%202%3B%20s8xpos%20%3D%20s8xpos%20-%20s8width%20%2F%202%20%2B%20s8width%20%2B%2010%3B%20var%20s8ypos%20%3D%2010%3B%20s8ypos%20%3D%20s8ypos%20%2B%20s8height%20%2B%2010%20%2B%20s8height%20%2B%2010%3B%20var%20s9width%20%3D%20180%3B%20var%20s9height%20%3D%2040%3B%20var%20s9xpos%20%3D%201366%20%2F%202%3B%20s9xpos%20%3D%20s9xpos%20-%20s9width%20%2F%202%3B%20var%20s9ypos%20%3D%2010%3B%20s9ypos%20%3D%20s9ypos%20%2B%20s9height%20%2B%2010%20%2B%20s9height%20%2B%2010%3B%20var%20s10width%20%3D%20180%3B%20var%20s10height%20%3D%2040%3B%20var%20s10xpos%20%3D%201366%20%2F%202%3B%20s10xpos%20%3D%20s10xpos%20-%20s10width%20%2F%202%20-%20s10width%20-%2010%3B%20var%20s10ypos%20%3D%2010%3B%20s10ypos%20%3D%20s10ypos%20%2B%20s10height%20%2B%20s10height%20%2B%20s10height%20%2B%2030%3B%20var%20s11width%20%3D%20180%3B%20var%20s11height%20%3D%2040%3B%20var%20s11xpos%20%3D%201366%20%2F%202%3B%20s11xpos%20%3D%20s11xpos%20-%20s11width%20%2F%202%20%2B%20s11width%20%2B%2010%3B%20var%20s11ypos%20%3D%2010%3B%20s11ypos%20%3D%20s11ypos%20%2B%20s11height%20%2B%2010%20%2B%20s11height%20%2B%2010%20%2B%20s11height%20%2B%2010%3B%20var%20s12width%20%3D%20180%3B%20var%20s12height%20%3D%2040%3B%20var%20s12xpos%20%3D%201366%20%2F%202%3B%20s12xpos%20%3D%20s12xpos%20-%20s12width%20%2F%202%3B%20var%20s12ypos%20%3D%2010%3B%20s12ypos%20%3D%20s12ypos%20%2B%20s12height%20%2B%2010%20%2B%20s12height%20%2B%2010%20%2B%20s12height%20%2B%2010%3B%20(function()%20%7B%20var%20me%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(me)%3B%20me.style.position%20%3D%20'fixed'%3B%20me.style.bottom%20%3D%20'0px'%3B%20me.style.right%20%3D%20'0px'%3B%20me.style.margin%20%3D%20'0px'%3B%20me.style.paddingTop%20%3D%20'0px'%3B%20me.style.width%20%3D%20''%20%2B%20width%20%2B%20'px'%3B%20me.style.height%20%3D%20'20px'%3B%20me.style.zIndex%20%3D%2010000%3B%20me.style.opacity%20%3D%200.8%3B%20me.style.color%20%3D%20'white'%3B%20me.style.backgroundColor%20%3D%20'black'%3B%20me.style.border%20%3D%20'0px%20solid%20black'%3B%20me.style.textAlign%20%3D%20'center'%3B%20me.style.cursor%20%3D%20'pointer'%3B%20me.id%20%3D%20'me'%3B%20me.style.display%20%3D%20'circle'%3B%20me.innerText%20%3D%20'by%20michael'%3B%20document.getElementById('me').addEventListener('click'%2C%20function()%20%7B%20window.open('https%3A%2F%2Fgithub.com%2Fracerretrocoder')%3B%20%7D)%3B%20%7D())%3B%20(function()%20%7B%20var%20you%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(you)%3B%20you.style.position%20%3D%20'fixed'%3B%20you.style.top%20%3D%20''%20%2B%20ypos%20%2B%20'px'%3B%20you.style.left%20%3D%20''%20%2B%20xpos%20%2B%20'px'%3B%20you.style.margin%20%3D%20'0px'%3B%20you.style.width%20%3D%20'200px'%3B%20you.style.height%20%3D%20'30px'%3B%20you.style.zIndex%20%3D%2010000%3B%20you.style.opacity%20%3D%201%3B%20you.style.color%20%3D%20'black'%3B%20you.style.backgroundColor%20%3D%20'white'%3B%20you.style.border%20%3D%20'2px%20solid%20black'%3B%20you.style.textAlign%20%3D%20'center'%3B%20you.id%20%3D%20'you'%3B%20you.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20ball%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(ball)%3B%20ball.style.position%20%3D%20'fixed'%3B%20ball.style.top%20%3D%20''%20%2B%20ballypos%20%2B%20'px'%3B%20ball.style.left%20%3D%20''%20%2B%20ballxpos%20%2B%20'px'%3B%20ball.style.margin%20%3D%20'0px'%3B%20ball.style.width%20%3D%20'50px'%3B%20ball.style.height%20%3D%20'50px'%3B%20ball.style.zIndex%20%3D%2010000%3B%20ball.style.opacity%20%3D%201%3B%20ball.style.color%20%3D%20'black'%3B%20ball.style.backgroundColor%20%3D%20'white'%3B%20ball.style.border%20%3D%20'2px%20solid%20black'%3B%20ball.style.textAlign%20%3D%20'center'%3B%20ball.id%20%3D%20'ball'%3B%20ball.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20scorer%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(scorer)%3B%20scorer.style.position%20%3D%20'fixed'%3B%20scorer.style.top%20%3D%20'10px'%3B%20scorer.style.left%20%3D%20'10px'%3B%20scorer.style.margin%20%3D%20'0px'%3B%20scorer.style.width%20%3D%20'100px'%3B%20scorer.style.height%20%3D%20'40px'%3B%20scorer.style.zIndex%20%3D%2010000%3B%20scorer.style.opacity%20%3D%201%3B%20scorer.style.color%20%3D%20'black'%3B%20scorer.style.backgroundColor%20%3D%20'white'%3B%20scorer.style.paddingTop%20%3D%20'5px'%3B%20scorer.style.border%20%3D%20'3px%20solid%20black'%3B%20scorer.style.textAlign%20%3D%20'center'%3B%20scorer.id%20%3D%20'scorer'%3B%20scorer.style.display%20%3D%20'block'%3B%20scorer.innerText%20%3D%20'score%3A%20'%20%2B%20score%20%2B%20''%3B%20%7D())%3B%20function%20start()%20%7B%20ballspeed%20%3D%20ballspeed%20%2B%200.3%3B%20playerspeed%20%3D%20playerspeed%20%2B%200.3%3B%20s1width%20%3D%20180%3B%20s1height%20%3D%2040%3B%20s1xpos%20%3D%201366%20%2F%202%3B%20s1xpos%20%3D%20s1xpos%20-%20s1width%20%2F%202%3B%20s1ypos%20%3D%2010%3B%20s2width%20%3D%20180%3B%20s2height%20%3D%2040%3B%20s2xpos%20%3D%201366%20%2F%202%3B%20s2xpos%20%3D%20s2xpos%20-%20s2width%20%2F%202%20%2B%20s2width%20%2B%2010%3B%20s2ypos%20%3D%2010%3B%20s3width%20%3D%20180%3B%20s3height%20%3D%2040%3B%20s3xpos%20%3D%201366%20%2F%202%3B%20s3xpos%20%3D%20s3xpos%20-%20s3width%20%2F%202%20-%20s3width%20-%2010%3B%20s3ypos%20%3D%2010%3B%20s4width%20%3D%20180%3B%20s4height%20%3D%2040%3B%20s4xpos%20%3D%201366%20%2F%202%3B%20s4xpos%20%3D%20s4xpos%20-%20s4width%20%2F%202%20-%20s4width%20-%2010%3B%20s4ypos%20%3D%2010%3B%20s4ypos%20%3D%20s4ypos%20%2B%20s4height%20%2B%2010%3B%20s5width%20%3D%20180%3B%20s5height%20%3D%2040%3B%20s5xpos%20%3D%201366%20%2F%202%3B%20s5xpos%20%3D%20s5xpos%20-%20s5width%20%2F%202%20%2B%20s5width%20%2B%2010%3B%20s5ypos%20%3D%2010%3B%20s5ypos%20%3D%20s5ypos%20%2B%20s5height%20%2B%2010%3B%20s6width%20%3D%20180%3B%20s6height%20%3D%2040%3B%20s6xpos%20%3D%201366%20%2F%202%3B%20s6xpos%20%3D%20s6xpos%20-%20s6width%20%2F%202%3B%20s6ypos%20%3D%2010%3B%20s6ypos%20%3D%20s6ypos%20%2B%20s6height%20%2B%2010%3B%20s7width%20%3D%20180%3B%20s7height%20%3D%2040%3B%20s7xpos%20%3D%201366%20%2F%202%3B%20s7xpos%20%3D%20s7xpos%20-%20s7width%20%2F%202%20-%20s7width%20-%2010%3B%20s7ypos%20%3D%2010%3B%20s7ypos%20%3D%20s7ypos%20%2B%20s7height%20%2B%20s7height%20%2B%2020%3B%20s8width%20%3D%20180%3B%20s8height%20%3D%2040%3B%20s8xpos%20%3D%201366%20%2F%202%3B%20s8xpos%20%3D%20s8xpos%20-%20s8width%20%2F%202%20%2B%20s8width%20%2B%2010%3B%20s8ypos%20%3D%2010%3B%20s8ypos%20%3D%20s8ypos%20%2B%20s8height%20%2B%2010%20%2B%20s8height%20%2B%2010%3B%20s9width%20%3D%20180%3B%20s9height%20%3D%2040%3B%20s9xpos%20%3D%201366%20%2F%202%3B%20s9xpos%20%3D%20s9xpos%20-%20s9width%20%2F%202%3B%20s9ypos%20%3D%2010%3B%20s9ypos%20%3D%20s9ypos%20%2B%20s9height%20%2B%2010%20%2B%20s9height%20%2B%2010%3B%20s10width%20%3D%20180%3B%20s10height%20%3D%2040%3B%20s10xpos%20%3D%201366%20%2F%202%3B%20s10xpos%20%3D%20s10xpos%20-%20s10width%20%2F%202%20-%20s10width%20-%2010%3B%20s10ypos%20%3D%2010%3B%20s10ypos%20%3D%20s10ypos%20%2B%20s10height%20%2B%20s10height%20%2B%20s10height%20%2B%2030%3B%20s11width%20%3D%20180%3B%20s11height%20%3D%2040%3B%20s11xpos%20%3D%201366%20%2F%202%3B%20s11xpos%20%3D%20s11xpos%20-%20s11width%20%2F%202%20%2B%20s11width%20%2B%2010%3B%20s11ypos%20%3D%2010%3B%20s11ypos%20%3D%20s11ypos%20%2B%20s11height%20%2B%2010%20%2B%20s11height%20%2B%2010%20%2B%20s11height%20%2B%2010%3B%20s12width%20%3D%20180%3B%20s12height%20%3D%2040%3B%20s12xpos%20%3D%201366%20%2F%202%3B%20s12xpos%20%3D%20s12xpos%20-%20s12width%20%2F%202%3B%20s12ypos%20%3D%2010%3B%20s12ypos%20%3D%20s12ypos%20%2B%20s12height%20%2B%2010%20%2B%20s12height%20%2B%2010%20%2B%20s12height%20%2B%2010%3B%20(function()%20%7B%20var%20s1%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s1)%3B%20s1.style.position%20%3D%20'fixed'%3B%20s1.style.top%20%3D%20''%20%2B%20s1ypos%20%2B%20'px'%3B%20s1.style.left%20%3D%20''%20%2B%20s1xpos%20%2B%20'px'%3B%20s1.style.margin%20%3D%20'0px'%3B%20s1.style.width%20%3D%20''%20%2B%20s1width%20%2B%20'px'%3B%20s1.style.height%20%3D%20''%20%2B%20s1height%20%2B%20'px'%3B%20s1.style.zIndex%20%3D%2010000%3B%20s1.style.opacity%20%3D%201%3B%20s1.style.color%20%3D%20'black'%3B%20s1.style.backgroundColor%20%3D%20'green'%3B%20s1.style.paddingTop%20%3D%20'5px'%3B%20s1.style.border%20%3D%20'3px%20solid%20black'%3B%20s1.style.textAlign%20%3D%20'center'%3B%20s1.id%20%3D%20's1'%3B%20s1.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s2%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s2)%3B%20s2.style.position%20%3D%20'fixed'%3B%20s2.style.top%20%3D%20''%20%2B%20s2ypos%20%2B%20'px'%3B%20s2.style.left%20%3D%20''%20%2B%20s2xpos%20%2B%20'px'%3B%20s2.style.margin%20%3D%20'0px'%3B%20s2.style.width%20%3D%20''%20%2B%20s2width%20%2B%20'px'%3B%20s2.style.height%20%3D%20''%20%2B%20s2height%20%2B%20'px'%3B%20s2.style.zIndex%20%3D%2010000%3B%20s2.style.opacity%20%3D%201%3B%20s2.style.color%20%3D%20'black'%3B%20s2.style.backgroundColor%20%3D%20'green'%3B%20s2.style.paddingTop%20%3D%20'5px'%3B%20s2.style.border%20%3D%20'3px%20solid%20black'%3B%20s2.style.textAlign%20%3D%20'center'%3B%20s2.id%20%3D%20's2'%3B%20s2.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s3%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s3)%3B%20s3.style.position%20%3D%20'fixed'%3B%20s3.style.top%20%3D%20''%20%2B%20s3ypos%20%2B%20'px'%3B%20s3.style.left%20%3D%20''%20%2B%20s3xpos%20%2B%20'px'%3B%20s3.style.margin%20%3D%20'0px'%3B%20s3.style.width%20%3D%20''%20%2B%20s3width%20%2B%20'px'%3B%20s3.style.height%20%3D%20''%20%2B%20s3height%20%2B%20'px'%3B%20s3.style.zIndex%20%3D%2010000%3B%20s3.style.opacity%20%3D%201%3B%20s3.style.color%20%3D%20'black'%3B%20s3.style.backgroundColor%20%3D%20'green'%3B%20s3.style.paddingTop%20%3D%20'5px'%3B%20s3.style.border%20%3D%20'3px%20solid%20black'%3B%20s3.style.textAlign%20%3D%20'center'%3B%20s3.id%20%3D%20's3'%3B%20s3.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s7%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s7)%3B%20s7.style.position%20%3D%20'fixed'%3B%20s7.style.top%20%3D%20''%20%2B%20s7ypos%20%2B%20'px'%3B%20s7.style.left%20%3D%20''%20%2B%20s7xpos%20%2B%20'px'%3B%20s7.style.margin%20%3D%20'0px'%3B%20s7.style.width%20%3D%20''%20%2B%20s7width%20%2B%20'px'%3B%20s7.style.height%20%3D%20''%20%2B%20s7height%20%2B%20'px'%3B%20s7.style.zIndex%20%3D%2010000%3B%20s7.style.opacity%20%3D%201%3B%20s7.style.color%20%3D%20'black'%3B%20s7.style.backgroundColor%20%3D%20'orange'%3B%20s7.style.paddingTop%20%3D%20'5px'%3B%20s7.style.border%20%3D%20'3px%20solid%20black'%3B%20s7.style.textAlign%20%3D%20'center'%3B%20s7.id%20%3D%20's7'%3B%20s7.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s8%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s8)%3B%20s8.style.position%20%3D%20'fixed'%3B%20s8.style.top%20%3D%20''%20%2B%20s8ypos%20%2B%20'px'%3B%20s8.style.left%20%3D%20''%20%2B%20s8xpos%20%2B%20'px'%3B%20s8.style.margin%20%3D%20'0px'%3B%20s8.style.width%20%3D%20''%20%2B%20s8width%20%2B%20'px'%3B%20s8.style.height%20%3D%20''%20%2B%20s8height%20%2B%20'px'%3B%20s8.style.zIndex%20%3D%2010000%3B%20s8.style.opacity%20%3D%201%3B%20s8.style.color%20%3D%20'black'%3B%20s8.style.backgroundColor%20%3D%20'orange'%3B%20s8.style.paddingTop%20%3D%20'5px'%3B%20s8.style.border%20%3D%20'3px%20solid%20black'%3B%20s8.style.textAlign%20%3D%20'center'%3B%20s8.id%20%3D%20's8'%3B%20s8.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s9%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s9)%3B%20s9.style.position%20%3D%20'fixed'%3B%20s9.style.top%20%3D%20''%20%2B%20s9ypos%20%2B%20'px'%3B%20s9.style.left%20%3D%20''%20%2B%20s9xpos%20%2B%20'px'%3B%20s9.style.margin%20%3D%20'0px'%3B%20s9.style.width%20%3D%20''%20%2B%20s9width%20%2B%20'px'%3B%20s9.style.height%20%3D%20''%20%2B%20s9height%20%2B%20'px'%3B%20s9.style.zIndex%20%3D%2010000%3B%20s9.style.opacity%20%3D%201%3B%20s9.style.color%20%3D%20'black'%3B%20s9.style.backgroundColor%20%3D%20'orange'%3B%20s9.style.paddingTop%20%3D%20'5px'%3B%20s9.style.border%20%3D%20'3px%20solid%20black'%3B%20s9.style.textAlign%20%3D%20'center'%3B%20s9.id%20%3D%20's9'%3B%20s9.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s6%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s6)%3B%20s6.style.position%20%3D%20'fixed'%3B%20s6.style.top%20%3D%20''%20%2B%20s6ypos%20%2B%20'px'%3B%20s6.style.left%20%3D%20''%20%2B%20s6xpos%20%2B%20'px'%3B%20s6.style.margin%20%3D%20'0px'%3B%20s6.style.width%20%3D%20''%20%2B%20s6width%20%2B%20'px'%3B%20s6.style.height%20%3D%20''%20%2B%20s6height%20%2B%20'px'%3B%20s6.style.zIndex%20%3D%2010000%3B%20s6.style.opacity%20%3D%201%3B%20s6.style.color%20%3D%20'black'%3B%20s6.style.backgroundColor%20%3D%20'orange'%3B%20s6.style.paddingTop%20%3D%20'5px'%3B%20s6.style.border%20%3D%20'3px%20solid%20black'%3B%20s6.style.textAlign%20%3D%20'center'%3B%20s6.id%20%3D%20's6'%3B%20s6.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s5%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s5)%3B%20s5.style.position%20%3D%20'fixed'%3B%20s5.style.top%20%3D%20''%20%2B%20s5ypos%20%2B%20'px'%3B%20s5.style.left%20%3D%20''%20%2B%20s5xpos%20%2B%20'px'%3B%20s5.style.margin%20%3D%20'0px'%3B%20s5.style.width%20%3D%20''%20%2B%20s5width%20%2B%20'px'%3B%20s5.style.height%20%3D%20''%20%2B%20s5height%20%2B%20'px'%3B%20s5.style.zIndex%20%3D%2010000%3B%20s5.style.opacity%20%3D%201%3B%20s5.style.color%20%3D%20'black'%3B%20s5.style.backgroundColor%20%3D%20'orange'%3B%20s5.style.paddingTop%20%3D%20'5px'%3B%20s5.style.border%20%3D%20'3px%20solid%20black'%3B%20s5.style.textAlign%20%3D%20'center'%3B%20s5.id%20%3D%20's5'%3B%20s5.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s4%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s4)%3B%20s4.style.position%20%3D%20'fixed'%3B%20s4.style.top%20%3D%20''%20%2B%20s4ypos%20%2B%20'px'%3B%20s4.style.left%20%3D%20''%20%2B%20s4xpos%20%2B%20'px'%3B%20s4.style.margin%20%3D%20'0px'%3B%20s4.style.width%20%3D%20''%20%2B%20s4width%20%2B%20'px'%3B%20s4.style.height%20%3D%20''%20%2B%20s4height%20%2B%20'px'%3B%20s4.style.zIndex%20%3D%2010000%3B%20s4.style.opacity%20%3D%201%3B%20s4.style.color%20%3D%20'black'%3B%20s4.style.backgroundColor%20%3D%20'orange'%3B%20s4.style.paddingTop%20%3D%20'5px'%3B%20s4.style.border%20%3D%20'3px%20solid%20black'%3B%20s4.style.textAlign%20%3D%20'center'%3B%20s4.id%20%3D%20's4'%3B%20s4.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s10%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s10)%3B%20s10.style.position%20%3D%20'fixed'%3B%20s10.style.top%20%3D%20''%20%2B%20s10ypos%20%2B%20'px'%3B%20s10.style.left%20%3D%20''%20%2B%20s10xpos%20%2B%20'px'%3B%20s10.style.margin%20%3D%20'0px'%3B%20s10.style.width%20%3D%20''%20%2B%20s10width%20%2B%20'px'%3B%20s10.style.height%20%3D%20''%20%2B%20s10height%20%2B%20'px'%3B%20s10.style.zIndex%20%3D%2010000%3B%20s10.style.opacity%20%3D%201%3B%20s10.style.color%20%3D%20'black'%3B%20s10.style.backgroundColor%20%3D%20'orange'%3B%20s10.style.paddingTop%20%3D%20'5px'%3B%20s10.style.border%20%3D%20'3px%20solid%20black'%3B%20s10.style.textAlign%20%3D%20'center'%3B%20s10.id%20%3D%20's10'%3B%20s10.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s11%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s11)%3B%20s11.style.position%20%3D%20'fixed'%3B%20s11.style.top%20%3D%20''%20%2B%20s11ypos%20%2B%20'px'%3B%20s11.style.left%20%3D%20''%20%2B%20s11xpos%20%2B%20'px'%3B%20s11.style.margin%20%3D%20'0px'%3B%20s11.style.width%20%3D%20''%20%2B%20s11width%20%2B%20'px'%3B%20s11.style.height%20%3D%20''%20%2B%20s11height%20%2B%20'px'%3B%20s11.style.zIndex%20%3D%2010000%3B%20s11.style.opacity%20%3D%201%3B%20s11.style.color%20%3D%20'black'%3B%20s11.style.backgroundColor%20%3D%20'orange'%3B%20s11.style.paddingTop%20%3D%20'5px'%3B%20s11.style.border%20%3D%20'3px%20solid%20black'%3B%20s11.style.textAlign%20%3D%20'center'%3B%20s11.id%20%3D%20's11'%3B%20s8.style.display%20%3D%20'block'%3B%20%7D())%3B%20(function()%20%7B%20var%20s12%20%3D%20document.createElement('div')%3B%20var%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3B%20body.appendChild(s12)%3B%20s12.style.position%20%3D%20'fixed'%3B%20s12.style.top%20%3D%20''%20%2B%20s12ypos%20%2B%20'px'%3B%20s12.style.left%20%3D%20''%20%2B%20s12xpos%20%2B%20'px'%3B%20s12.style.margin%20%3D%20'0px'%3B%20s12.style.width%20%3D%20''%20%2B%20s12width%20%2B%20'px'%3B%20s12.style.height%20%3D%20''%20%2B%20s12height%20%2B%20'px'%3B%20s12.style.zIndex%20%3D%2010000%3B%20s12.style.opacity%20%3D%201%3B%20s12.style.color%20%3D%20'black'%3B%20s12.style.backgroundColor%20%3D%20'orange'%3B%20s12.style.paddingTop%20%3D%20'5px'%3B%20s12.style.border%20%3D%20'3px%20solid%20black'%3B%20s12.style.textAlign%20%3D%20'center'%3B%20s12.id%20%3D%20's12'%3B%20s12.style.display%20%3D%20'block'%3B%20%7D())%3B%20function%20moveball()%20%7B%20if%20(ballchangex%20%3D%3D%201)%20%7B%20ballxpos%20%3D%20ballxpos%20%2B%20ballspeed%3B%20ball.style.top%20%3D%20''%20%2B%20ballypos%20%2B%20'px'%3B%20ball.style.left%20%3D%20''%20%2B%20ballxpos%20%2B%20'px'%3B%20%7D%20if%20(ballchangey%20%3D%3D%201)%20%7B%20ballypos%20%3D%20ballypos%20%2B%20ballspeed%3B%20ball.style.top%20%3D%20''%20%2B%20ballypos%20%2B%20'px'%3B%20ball.style.left%20%3D%20''%20%2B%20ballxpos%20%2B%20'px'%3B%20%7D%20if%20(ballchangex%20%3D%3D%20-1)%20%7B%20ballxpos%20%3D%20ballxpos%20-%20ballspeed%3B%20ball.style.top%20%3D%20''%20%2B%20ballypos%20%2B%20'px'%3B%20ball.style.left%20%3D%20''%20%2B%20ballxpos%20%2B%20'px'%3B%20%7D%20if%20(ballchangey%20%3D%3D%20-1)%20%7B%20ballypos%20%3D%20ballypos%20-%20ballspeed%3B%20ball.style.top%20%3D%20''%20%2B%20ballypos%20%2B%20'px'%3B%20ball.style.left%20%3D%20''%20%2B%20ballxpos%20%2B%20'px'%3B%20%7D%20%7D%20function%20bounce()%20%7B%20if%20(ballypos%20%3E%3D%20height%20-%2050)%20%7B%20ballxpos%20%3D%20-9999999999999999999%3B%20ballypos%20%3D%20-9999999999999999999999999%3B%20ballchangex%20%3D%200%3B%20ballchangey%20%3D%200%3B%20clearInterval(bounce)%3B%20clearInterval(moveplayer)%3B%20clearInterval(moveball)%3B%20clearInterval(colliding)%3B%20alert(%22game%20over.%20your%20score%20was%20%22%20%2B%20score%20%2B%20%22.%22)%3B%20window.location.reload(1)%3B%20s1.parentNode.removeChild(s1)%3B%20s1width%20%3D%200%3B%20s1height%20%3D%200%3B%20s1xpos%20%3D%20-999999%3B%20s1ypos%20%3D%20-999999%3B%20s2.parentNode.removeChild(s2)%3B%20s2width%20%3D%200%3B%20s2height%20%3D%200%3B%20s2xpos%20%3D%20-999999%3B%20s2ypos%20%3D%20-999999%3B%20s3.parentNode.removeChild(s3)%3B%20s3width%20%3D%200%3B%20s3height%20%3D%200%3B%20s3xpos%20%3D%20-999999%3B%20s3ypos%20%3D%20-999999%3B%20s4.parentNode.removeChild(s4)%3B%20s4width%20%3D%200%3B%20s4height%20%3D%200%3B%20s4xpos%20%3D%20-999999%3B%20s4ypos%20%3D%20-999999%3B%20s5.parentNode.removeChild(s5)%3B%20s5width%20%3D%200%3B%20s5height%20%3D%200%3B%20s5xpos%20%3D%20-999999%3B%20s5ypos%20%3D%20-999999%3B%20s6.parentNode.removeChild(s6)%3B%20s6width%20%3D%200%3B%20s6height%20%3D%200%3B%20s6xpos%20%3D%20-999999%3B%20s6ypos%20%3D%20-999999%3B%20s7.parentNode.removeChild(s7)%3B%20s7width%20%3D%200%3B%20s7height%20%3D%200%3B%20s7xpos%20%3D%20-999999%3B%20s7ypos%20%3D%20-999999%3B%20s8.parentNode.removeChild(s8)%3B%20s8width%20%3D%200%3B%20s8height%20%3D%200%3B%20s8xpos%20%3D%20-999999%3B%20s8ypos%20%3D%20-999999%3B%20s9.parentNode.removeChild(s9)%3B%20s9width%20%3D%200%3B%20s9height%20%3D%200%3B%20s9xpos%20%3D%20-999999%3B%20s9ypos%20%3D%20-999999%3B%20s10.parentNode.removeChild(s10)%3B%20s10width%20%3D%200%3B%20s10height%20%3D%200%3B%20s10xpos%20%3D%20-999999%3B%20s10ypos%20%3D%20-999999%3B%20s11.parentNode.removeChild(s11)%3B%20s11width%20%3D%200%3B%20s11height%20%3D%200%3B%20s11xpos%20%3D%20-999999%3B%20s11ypos%20%3D%20-999999%3B%20s12.parentNode.removeChild(s12)%3B%20s12width%20%3D%200%3B%20s12height%20%3D%200%3B%20s12xpos%20%3D%20-999999%3B%20s12ypos%20%3D%20-999999%3B%20you.parentNode.removeChild(you)%3B%20ball.parentNode.removeChild(ball)%3B%20ballchangex%20%3D%200%3B%20ballchangey%20%3D%200%3B%20scorer.parentNode.removeChild(scorer)%3B%20me.parentNode.removeChild(me)%3B%20return%3B%20%7D%20if%20(ballxpos%20%3C%3D%200)%20%7B%20ballchangex%20%3D%201%3B%20%7D%20if%20(ballypos%20%3C%3D%200)%20%7B%20ballchangey%20%3D%201%3B%20%7D%20if%20(ballxpos%20%3E%3D%20width%20-%2050)%20%7B%20ballchangex%20%3D%20-1%3B%20%7D%20%7D%20function%20moveplayer()%20%7B%20if%20(playerxmove%20%3D%3D%201)%20%7B%20if%20(xpos%20%2B%20playerspeed%20%3E%3D%201366%20-%20200)%20%7B%7D%20else%20%7B%20xpos%20%3D%20xpos%20%2B%20playerspeed%3B%20you.style.top%20%3D%20''%20%2B%20ypos%20%2B%20'px'%3B%20you.style.left%20%3D%20''%20%2B%20xpos%20%2B%20'px'%3B%20%7D%20%7D%20if%20(playerxmove%20%3D%3D%20-1)%20%7B%20if%20(xpos%20%2B%20playerspeed%20%3C%3D%200)%20%7B%7D%20else%20%7B%20xpos%20%3D%20xpos%20-%20playerspeed%3B%20you.style.top%20%3D%20''%20%2B%20ypos%20%2B%20'px'%3B%20you.style.left%20%3D%20''%20%2B%20xpos%20%2B%20'px'%3B%20%7D%20%7D%20%7D%20window.addEventListener(%22keydown%22%2C%20function(event)%20%7B%20if%20(event.key%20%3D%3D%20%22ArrowLeft%22)%20%7B%20playerxmove%20%3D%20-1%3B%20%7D%20if%20(event.key%20%3D%3D%20%22ArrowRight%22)%20%7B%20playerxmove%20%3D%201%3B%20%7D%20%7D)%3B%20window.addEventListener(%22keyup%22%2C%20function(event)%20%7B%20if%20(event.key%20%3D%3D%20%22ArrowLeft%22)%20%7B%20playerxmove%20%3D%200%3B%20%7D%20if%20(event.key%20%3D%3D%20%22ArrowRight%22)%20%7B%20playerxmove%20%3D%200%3B%20%7D%20%7D)%3B%20function%20colliding()%20%7B%20if%20(ballxpos%20%3C%20s1xpos%20%2B%20s1width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s1xpos%20%26%26%20ballypos%20%3C%20s1ypos%20%2B%20s1height%20%26%26%20ballypos%20%2B%2050%20%3E%20s1ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s1.parentNode.removeChild(s1)%3B%20s1width%20%3D%200%3B%20s1height%20%3D%200%3B%20s1xpos%20%3D%20-999999%3B%20s1ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s2xpos%20%2B%20s2width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s2xpos%20%26%26%20ballypos%20%3C%20s2ypos%20%2B%20s2height%20%26%26%20ballypos%20%2B%2050%20%3E%20s2ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s2.parentNode.removeChild(s2)%3B%20s2width%20%3D%200%3B%20s2height%20%3D%200%3B%20s2xpos%20%3D%20-999999%3B%20s2ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s3xpos%20%2B%20s3width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s3xpos%20%26%26%20ballypos%20%3C%20s3ypos%20%2B%20s3height%20%26%26%20ballypos%20%2B%2050%20%3E%20s3ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s3.parentNode.removeChild(s3)%3B%20s3width%20%3D%200%3B%20s3height%20%3D%200%3B%20s3xpos%20%3D%20-999999%3B%20s3ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s4xpos%20%2B%20s4width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s4xpos%20%26%26%20ballypos%20%3C%20s4ypos%20%2B%20s4height%20%26%26%20ballypos%20%2B%2050%20%3E%20s4ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s4.parentNode.removeChild(s4)%3B%20s4width%20%3D%200%3B%20s4height%20%3D%200%3B%20s4xpos%20%3D%20-999999%3B%20s4ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s5xpos%20%2B%20s5width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s5xpos%20%26%26%20ballypos%20%3C%20s5ypos%20%2B%20s5height%20%26%26%20ballypos%20%2B%2050%20%3E%20s5ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s5.parentNode.removeChild(s5)%3B%20s5width%20%3D%200%3B%20s5height%20%3D%200%3B%20s5xpos%20%3D%20-999999%3B%20s5ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s6xpos%20%2B%20s6width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s6xpos%20%26%26%20ballypos%20%3C%20s6ypos%20%2B%20s6height%20%26%26%20ballypos%20%2B%2050%20%3E%20s6ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s6.parentNode.removeChild(s6)%3B%20s6width%20%3D%200%3B%20s6height%20%3D%200%3B%20s6xpos%20%3D%20-999999%3B%20s6ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s7xpos%20%2B%20s7width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s7xpos%20%26%26%20ballypos%20%3C%20s7ypos%20%2B%20s7height%20%26%26%20ballypos%20%2B%2050%20%3E%20s7ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s7.parentNode.removeChild(s7)%3B%20s7width%20%3D%200%3B%20s7height%20%3D%200%3B%20s7xpos%20%3D%20-999999%3B%20s7ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s8xpos%20%2B%20s8width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s8xpos%20%26%26%20ballypos%20%3C%20s8ypos%20%2B%20s8height%20%26%26%20ballypos%20%2B%2050%20%3E%20s8ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s8.parentNode.removeChild(s8)%3B%20s8width%20%3D%200%3B%20s8height%20%3D%200%3B%20s8xpos%20%3D%20-999999%3B%20s8ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s9xpos%20%2B%20s9width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s9xpos%20%26%26%20ballypos%20%3C%20s9ypos%20%2B%20s9height%20%26%26%20ballypos%20%2B%2050%20%3E%20s9ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s9.parentNode.removeChild(s9)%3B%20s9width%20%3D%200%3B%20s9height%20%3D%200%3B%20s9xpos%20%3D%20-999999%3B%20s9ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s12xpos%20%2B%20s12width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s12xpos%20%26%26%20ballypos%20%3C%20s12ypos%20%2B%20s12height%20%26%26%20ballypos%20%2B%2050%20%3E%20s12ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s12.parentNode.removeChild(s12)%3B%20s12width%20%3D%200%3B%20s12height%20%3D%200%3B%20s12xpos%20%3D%20-999999%3B%20s12ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s11xpos%20%2B%20s11width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s11xpos%20%26%26%20ballypos%20%3C%20s11ypos%20%2B%20s11height%20%26%26%20ballypos%20%2B%2050%20%3E%20s11ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s11.parentNode.removeChild(s11)%3B%20s11width%20%3D%200%3B%20s11height%20%3D%200%3B%20s11xpos%20%3D%20-999999%3B%20s11ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20if%20(ballxpos%20%3C%20s10xpos%20%2B%20s10width%20%26%26%20ballxpos%20%2B%2050%20%3E%20s10xpos%20%26%26%20ballypos%20%3C%20s10ypos%20%2B%20s10height%20%26%26%20ballypos%20%2B%2050%20%3E%20s10ypos)%20%7B%20score%20%3D%20score%20%2B%201%3B%20done%20%3D%20done%20%2B%201%3B%20s10.parentNode.removeChild(s10)%3B%20s10width%20%3D%200%3B%20s10height%20%3D%200%3B%20s10xpos%20%3D%20-999999%3B%20s10ypos%20%3D%20-999999%3B%20ballchangey%20%3D%20ballchangey%20*%20-1%3B%20%7D%20scorer.innerText%20%3D%20'score%3A%20'%20%2B%20score%20%2B%20''%3B%20%7D%20setInterval(colliding%2C%205)%3B%20setInterval(moveball%2C%2015)%3B%20setInterval(bounce%2C%203)%3B%20setInterval(moveplayer%2C%2015)%3B%20%7D%20start()%3B%20function%20next()%20%7B%20if%20(done%20%3E%3D%2012)%20%7B%20start()%3B%20done%20%3D%200%3B%20%7D%20%7D%20function%20hit()%20%7B%20if%20(xpos%20%3C%20ballxpos%20%2B%2050%20%26%26%20xpos%20%2B%20200%20%3E%20ballxpos%20%26%26%20ypos%20%3C%20ballypos%20%2B%2050%20%26%26%20ypos%20%2B%2030%20%3E%20ballypos)%20%7B%20if%20(xpos%2B35%3Eballxpos)%7B%20ballchangex%20%3D%20-1%3B%20%7D%20if%20(xpos%2B165%3Cballxpos)%7B%20ballchangex%20%3D%201%3B%20%7D%20ballchangey%20%3D%20-1%3B%20%7D%20%7D%20setInterval(next%2C%202)%3B%20setInterval(hit%2C%202)%3B%7D)()%3B">Breakout!</a>
<p>break out</p>
<a href="javascript:(function()%7Bjavascript%3Avar%20x%3D0%3Balert(%22--GUESS%20THE%20NUMBER--%20rules%3A%20guess%20a%20number%20between%20or%20equal%20to%201%20and%2020%22)%3Bfunction%20getRandomNumberBetween(min%2Cmax)%7B%20return%20Math.floor(Math.random()*(max-min%2B1)%2Bmin)%3B%20%7D%3Ba%3DgetRandomNumberBetween(0%2C21)%3Bwhile%20(true)%7Bv%3Dprompt(%22What%20number%20do%20you%20guess%3F%22)%3Bif%20(v%3D%3Da)%7Bx%3Dx%2B1%3Balert(%22You%20got%20it!%20you%20got%20it%20%22%2Bx%2B%22%20try!%22)%3Bbreak%7D%20else%20if%20(v%3E20)%7Balert(%22please%20guess%20a%20number%20between%20or%20equal%20to%201%20and%2020.%22)%7D%20else%20if%20(v%3C1)%7Balert(%22please%20guess%20a%20number%20between%20or%20equal%20to%201%20and%2020.%22)%7D%20else%20if%20(v%3Ea)%7Bx%3Dx%2B1%3Balert(%22too%20high.%22)%7D%20else%20if%20(v%3Ca)%7Bx%3Dx%2B1%3Balert(%22too%20low.%22)%7D%7D%7D)()%3B">Guess the number</a>
<P>Guess a number between 1 and 20</P>
<a href="javascript:(function()%7Bjavascript%3Avar%20%24jscomp%3D%24jscomp%7C%7C%7B%7D%3B%24jscomp.scope%3D%7B%7D%3B%24jscomp.createTemplateTagFirstArg%3Dfunction(a)%7Breturn%20a.raw%3Da%7D%3B%24jscomp.createTemplateTagFirstArgWithRaw%3Dfunction(a%2Cb)%7Ba.raw%3Db%3Breturn%20a%7D%3Bvar%20incrementingNum%3D0%2Ccolors%3D%22red%20orange%20yellow%20green%20blue%20purple%20pink%22.split(%22%20%22)%3BsetInterval(function()%7B6%3C%3DincrementingNum%3FincrementingNum%3D0%3AincrementingNum%2B%2B%3Bfor(var%20a%3Ddocument.querySelectorAll(%22div%22)%2Cb%3D0%3Bb%3Ca.length%3Bb%2B%2B)a%5Bb%5D.style.backgroundColor%3Dcolors%5BincrementingNum%5D%2Ca%5Bb%5D.style.transition%3D%22background-color%201s%22%7D%2C1E3)%3B%7D)()%3B">Rainbow!</a>
<P>Rainbow! this dosent seem to work on my site.. but try it somewhere else ;)</P>
<a href="javascript:(function()%7Bjavascript%3Avar%20choices%3D%5B'rock'%2C'paper'%2C'scissors'%5D%3Bvar%20x%3D0%3Balert(%22by%20Michael%20on%20GitHub%5CnGitHub%20Profile%3A%20https%3A%2F%2Fgithub.com%2Fracerretrocoder%22)%3Balert(%22--ROCK%20PAPER%20SCISSORS--%20rules%3A%20choose%20rock%2C%20paper%2C%20or%20scissors.%22)%3Bfunction%20getRandomChoice()%7Breturn%20choices%5BMath.floor(Math.random()*choices.length)%5D%3B%7D%3Bfor(var%20i%3D1%3Bi%3C%3D5%3Bi%2B%2B)%7Bvar%20playerChoice%3Dprompt(%22Round%20%22%2Bi%2B%22%2F5%3A%20Please%20choose%20rock%2C%20paper%2C%20or%20scissors%22)%3Bvar%20computerChoice%3DgetRandomChoice()%3Bif(playerChoice%3D%3D%3Dnull)%7Bbreak%3B%7Delse%20if(!choices.includes(playerChoice))%7Balert(%22Invalid%20selection.%20Please%20choose%20rock%2C%20paper%2C%20or%20scissors.%22)%3B%7Delse%7Bif(playerChoice%3D%3D%3DcomputerChoice)%7Balert(%22It's%20a%20tie!%22)%3B%7Delse%20if((playerChoice%3D%3D%3D'rock'%26%26computerChoice%3D%3D%3D'scissors')%7C%7C(playerChoice%3D%3D%3D'paper'%26%26computerChoice%3D%3D%3D'rock')%7C%7C(playerChoice%3D%3D%3D'scissors'%26%26computerChoice%3D%3D%3D'paper'))%7Bx%2B%3D1%3Balert(%22You%20win!%22)%3B%7Delse%7Bx%2B%3D1%3Balert(%22Computer%20wins!%22)%3B%7Dconsole.log(%22Player%3A%20%22%2BplayerChoice)%3Bconsole.log(%22Computer%3A%20%22%2BcomputerChoice)%3Bconsole.log(%22-----------------%22)%3B%7D%7Dalert(%22Game%20over!%20You%20played%20%22%2Bx%2B%22%20rounds.%22)%3B%7D)()%3B">Rock Paper Scissor!</a>
<P>Rock paper scissors via message boxes!</P>
<a href="javascript:(function(){var js=document.body.appendChild(document.createElement('script'));js.onerror=function(){alert('Sorry, the script could not be loaded.')};js.src='https://fontbomb.ilex.ca/js/main.js'})();">FontBomb</a>
<P>BOOM!</P>
<a href="javascript:for(Q=64,m=b=Q*Q,a=[P=l=u=d=p=S=w=0],u=89,f=(h=j=t=(b+Q)/2)-1,(B=(D=document).body).appendChild(x=D.createElement('p')),(X=x.style).position='fixed',X.left=X.top=0,X.background='#FFF',x.innerHTML='<p></p><canvas>',v=(s=x.childNodes)[0],(s=s[1]).width=s.height=Q*5,c=s.getContext('2d'),onkeydown=onblur=F=function(e,z){z?a[f]?(w+=m,f=Math.random(l+=8)*(R=Q-2)*R|(u=0),F(f+=Q+1+(f/R|0)*2,z)):F(f):e<0?(l?--l:(y=t,t=a[t]-2,F(y)),S+=(w*=.8)/4,m=999/(u+++10),a[h+=[-1,-Q,1,Q][d=p]]?B.removeChild(x,alert('Game Over')):(F(h),F(e,j=h),v.innerHTML=P?(setTimeout(F,50,e,0),S|0):'Press P')):-e?(y=(a[e]=e<Q|e>=Q*Q-Q|!(e%Q)|e%Q==Q-1|(e==h)*2)+(e==f),e==h&&(a[j]=2+h),c.fillStyle='hsl('+!a[e]*99+','+m*2+'%,'+y*50+'%)',c.fillRect(e%Q*5,(e/Q|0)*5,5,5)):isNaN(y=e.keyCode-37)|y==43?(P=y&&!P)&&F(-1):p=!P|y&-4|!(y^2^d)?p:y;return!1};--b;F(b));void F(-1)">snake</a>
<p>its just a cool little snake game</p>
<a name="1" href="javascript:(function(c){var a=c.body.style;c.documentElement.style.background=a.background='black';a.color='yellow';a.height=a.width='100%';a.position='fixed';a.overflowY='scroll';a.top='-15%';a.webkitTransform=a.MozTransform=a.transform='matrix3d(1,0,0,0,0,1,0,-0.0015,0,0,1,0,0,0,0,1)';for(var a=c.body.children,b=0;b<a.length;b++)'SCRIPT'!=a[b].nodeName&&(a[b].style.overflowY='scroll',a[b].style.maxHeight='100%');var b=new Audio();b.src='https://archive.org/download/StarWarsThemeSongByJohnWilliams/Star Wars Theme Song By John Williams.mp3';var f=function(){for(var a,b=0;a=c.body.children[b];b++)'SCRIPT'!=a.nodeName&&(a.scrollTop+=2);setTimeout(f,50)};setTimeout(f,1000);b.load();b.play()})(document)">Star Wars</a>
<p>make any site look like the starwars intro Very funny! XD it plays music too </p>
<a href="javascript:document.body.contentEditable = 'true'; document.designMode='on'; void 0
">Edit On</a>
<p>enable edit text (refresh to clear)</p>
<a href="javascript:document.body.contentEditable = 'false'; document.designMode='off'; void 0">Edit Off</a>
<p>disable edit text</p>
<a href="javascript:(function()%7Bconst%20CHARACTER%20%3D%20%7B%0A%20%20BOTTOM%3A%20%22%E2%96%97%22%2C%0A%20%20TOP%3A%20%22%E2%96%9D%22%2C%0A%20%20OVER%3A%20%22%E2%96%9E%22%2C%0A%20%20UNDER%3A%20%22%E2%96%9A%22%2C%0A%20%20CRASH%3A%20%22%E2%AD%92%22%2C%0A%7D%3B%0Aconst%20BOX%20%3D%20%7B%0A%20%20BOTTOM%3A%20%22%E2%96%96%22%2C%0A%20%20TOP%3A%20%22%E2%96%98%22%2C%0A%7D%3B%0Aconst%20MISC%20%3D%20%7B%0A%20%20FLAG_DARK%3A%20%22%E2%9A%91%22%2C%0A%20%20FLAG_LIGHT%3A%20%22%E2%9A%90%22%2C%0A%20%20PLAY%3A%20%22%E2%96%B8%22%2C%0A%20%20STAR_DARK%3A%20%22%E2%98%85%22%2C%0A%20%20STAR_LIGHT%3A%20%22%E2%AD%92%22%2C%0A%7D%3B%0Aconst%20COLLISION%20%3D%20%22collision%22%3B%0A%0Aconst%20JUMP_TIMEOUT%20%3D%20-1%3B%0Aconst%20JUMP_LENGTH%20%3D%203%3B%0Aconst%20DELAY_LOOP%20%3D%20210%3B%0Aconst%20DELAY_INITIAL%20%3D%201000%3B%0A%0Aconst%20MAPS%20%3D%20%7B%0A%20%201%3A%20%22%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%9A%91%22%2C%0A%20%202%3A%20%22%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%9A%91%22%2C%0A%20%203%3A%20%22%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%9A%91%22%2C%0A%20%204%3A%20%22%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80Hard%20Mode%20%3B)%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%96%96%E2%80%80%E2%96%96%E2%80%80%E2%96%96%E2%80%80%E2%96%96%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%96%98%E2%80%80%E2%80%80%E2%80%80%E2%96%96%E2%96%96%E2%96%96%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%80%80%E2%9A%91%22%2C%0A%7D%3B%0A%0Aconst%20GAME_URL%20%3D%20new%20URL(window.location.href)%3B%0Aconst%20MAP%20%3D%0A%20%20GAME_URL.searchParams.get(%22map%22)%20in%20MAPS%0A%20%20%20%20%3F%20GAME_URL.searchParams.get(%22map%22)%0A%20%20%20%20%3A%201%3B%0Aconst%20DEBUG%20%3D%20!!GAME_URL.searchParams.get(%22debug%22)%20!%3D%20undefined%3B%0A%0Alet%20map%20%3D%20loadMap(MAP)%3B%0Alet%20jump%20%3D%20JUMP_TIMEOUT%3B%0Alet%20ticks%20%3D%200%3B%0Alet%20playing%20%3D%20false%3B%0Alet%20win%20%3D%20true%3B%0A%0Aconst%20commands%20%3D%20%7B%0A%20%20ArrowUp%3A%20()%20%3D%3E%20%7B%0A%20%20%20%20if%20(!playing)%20return%20commands.s()%3B%0A%20%20%20%20if%20(jump%20%3C%3D%20JUMP_TIMEOUT)%20jump%20%3D%20JUMP_LENGTH%3B%0A%20%20%7D%2C%0A%20%20s%3A%20async%20()%20%3D%3E%20%7B%0A%20%20%20%20if%20(playing)%20return%3B%0A%0A%20%20%20%20faviconize(%22%22%2C%200)%3B%0A%20%20%20%20loopGame()%3B%0A%20%20%7D%2C%0A%20%20%22%20%22%3A%20()%20%3D%3E%20commands.ArrowUp()%2C%0A%20%20r%3A%20async%20()%20%3D%3E%20%7B%0A%20%20%20%20playing%20%3D%20false%3B%0A%20%20%20%20await%20dotDotDot(%22Restarting%22)%3B%0A%20%20%20%20location.reload()%3B%0A%20%20%7D%2C%0A%20%20m%3A%20async%20()%20%3D%3E%20%7B%0A%20%20%20%20playing%20%3D%20false%3B%0A%20%20%20%20clearStorage()%3B%0A%20%20%20%20await%20dotDotDot(%22Clearing%22)%3B%0A%20%20%20%20location.reload()%3B%0A%20%20%7D%2C%0A%7D%3B%0A%0Adocument.addEventListener(%22keydown%22%2C%20(event)%20%3D%3E%20%7B%0A%20%20if%20(event.isComposing%20%7C%7C%20event.keyCode%20%3D%3D%3D%20229)%20%7B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%20%20log(event.key)%3B%0A%20%20if%20(event.key%20in%20commands)%20%7B%0A%20%20%20%20event.preventDefault()%3B%0A%20%20%20%20return%20commands%5Bevent.key%5D()%3B%0A%20%20%7D%0A%20%20if%20(event.key%20in%20MAPS)%20%7B%0A%20%20%20%20event.preventDefault()%3B%0A%20%20%20%20return%20(location.href%20%3D%20%60%24%7Blocation.origin%7D%24%7Blocation.pathname%7D%3Fmap%3D%24%7Bevent.key%7D%60)%3B%0A%20%20%7D%0A%7D)%3B%0A%0A%2F%2F%20todo%3A%20add%20onblur%20message%20and%20favicon%0A%0A%2F%2F%20main%0AloopPreGame()%3B%0A%0Aasync%20function%20loopPreGame()%20%7B%0A%20%20const%20welcomeMessage%20%3D%20MAP%20%3D%3D%201%20%3F%20%22Hit%20S%20to%20play!%22%20%3A%20%60MAP%20%24%7BMAP%7D%60%3B%0A%0A%20%20faviconize(MISC.PLAY%2C%20102)%3B%0A%0A%20%20await%20sleep(DELAY_INITIAL)%3B%0A%20%20while%20(!playing)%20%7B%0A%20%20%20%20render(%60%24%7BMISC.FLAG_DARK%7D%20%24%7BwelcomeMessage%7D%60)%3B%0A%20%20%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20%20%20render(%60%24%7BMISC.FLAG_LIGHT%7D%20%24%7BwelcomeMessage%7D%60)%3B%0A%20%20%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20%7D%0A%7D%0A%0Aasync%20function%20loopGame()%20%7B%0A%20%20playing%20%3D%20true%3B%0A%20%20while%20(playing%20%26%26%20map.length%20%3E%200)%20%7B%0A%20%20%20%20const%20character%20%3D%20getCharacter(jump%2C%20map%5B0%5D)%3B%0A%0A%20%20%20%20if%20(character%20%3D%3D%20COLLISION)%20%7B%0A%20%20%20%20%20%20faviconize(MISC.STAR_LIGHT%2C%20101)%3B%0A%20%20%20%20%20%20render(CHARACTER.CRASH%2C%20map%2C%20%60SCORE%20%24%7Bticks%7D%60)%3B%0A%20%20%20%20%20%20win%20%3D%20false%3B%0A%20%20%20%20%20%20break%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20map%20%3D%20map.slice(1%2C%20map.length)%3B%0A%20%20%20%20render(character%2C%20map)%3B%0A%0A%20%20%20%20ticks%2B%2B%3B%0A%20%20%20%20if%20(jump%20%3E%20JUMP_TIMEOUT)%20jump--%3B%0A%20%20%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20%7D%0A%0A%20%20if%20(win)%20loopWin(ticks)%3B%0A%7D%0A%0Aasync%20function%20loopWin(score)%20%7B%0A%20%20faviconize(MISC.FLAG_LIGHT%2C%20104)%3B%0A%0A%20%20while%20(playing)%20%7B%0A%20%20%20%20document.title%20%3D%20%60%E2%AD%92%20You%20win!%20%E2%AD%91%20SCORE%20%24%7Bscore%7D%60%3B%0A%20%20%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20%20%20document.title%20%3D%20%60%E2%AD%91%20You%20win!%20%E2%AD%92%20SCORE%20%24%7Bscore%7D%60%3B%0A%20%20%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20%7D%0A%7D%0A%0Afunction%20loadMap(map)%20%7B%0A%20%20if%20(readStorage())%20%7B%0A%20%20%20%20return%20readStorage()%3B%0A%20%20%7D%0A%20%20return%20MAPS%5Bmap%5D%3B%0A%7D%0A%0Afunction%20getCharacter(jump%2C%20tile)%20%7B%0A%20%20if%20(jump%20%3E%200)%20%7B%0A%20%20%20%20if%20(tile%20%3D%3D%20BOX.TOP)%20%7B%0A%20%20%20%20%20%20return%20COLLISION%3B%0A%20%20%20%20%7D%20else%20if%20(tile%20%3D%3D%20BOX.BOTTOM)%20%7B%0A%20%20%20%20%20%20return%20CHARACTER.OVER%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20return%20CHARACTER.TOP%3B%0A%20%20%20%20%7D%0A%20%20%7D%20else%20%7B%0A%20%20%20%20if%20(tile%20%3D%3D%20BOX.BOTTOM)%20%7B%0A%20%20%20%20%20%20return%20COLLISION%3B%0A%20%20%20%20%7D%20else%20if%20(tile%20%3D%3D%20BOX.TOP)%20%7B%0A%20%20%20%20%20%20return%20CHARACTER.UNDER%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20return%20CHARACTER.BOTTOM%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Aasync%20function%20dotDotDot(message)%20%7B%0A%20%20render(%60%24%7Bmessage%7D.%60)%3B%0A%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20render(%60%24%7Bmessage%7D..%60)%3B%0A%20%20await%20sleep(DELAY_LOOP)%3B%0A%20%20render(%60%24%7Bmessage%7D...%60)%3B%0A%20%20await%20sleep(DELAY_LOOP)%3B%0A%7D%0A%0Afunction%20readStorage()%20%7B%0A%20%20try%20%7B%0A%20%20%20%20return%20localStorage.getItem(%22map%22)%3B%0A%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20localStorageError(error)%3B%0A%20%20%20%20return%20false%3B%0A%20%20%7D%0A%7D%0A%0Afunction%20clearStorage()%20%7B%0A%20%20try%20%7B%0A%20%20%20%20localStorage.removeItem(%22map%22)%3B%0A%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20localStorageError(error)%3B%0A%20%20%7D%0A%7D%0A%0Afunction%20localStorageError(error)%20%7B%0A%20%20console.log(%22Maybe%20somebody%20is%20blocking%20localStorage...%22)%3B%0A%20%20console.error(error)%3B%0A%7D%0A%0Afunction%20render(character%2C%20map%2C%20comment)%20%7B%0A%20%20if%20(!map)%20return%20(document.title%20%3D%20character)%3B%0A%20%20if%20(!comment)%20return%20(document.title%20%3D%20%60%24%7Bcharacter%7D%24%7Bmap%7D%60)%3B%0A%20%20document.title%20%3D%20%60%24%7Bcharacter%7D%24%7Bmap.slice(0%2C%202)%7D%20%24%7Bcomment%7D%60%3B%0A%7D%0A%0Afunction%20hasCollision(character%2C%20tile)%20%7B%0A%20%20return%20(%0A%20%20%20%20(character%20%3D%3D%20CHARACTER.BOTTOM%20%26%26%20tile%20%3D%3D%20BOX.BOTTOM)%20%7C%7C%0A%20%20%20%20(character%20%3D%3D%20CHARACTER.TOP%20%26%26%20tile%20%3D%3D%20BOX.TOP)%0A%20%20)%3B%0A%7D%0A%0Afunction%20faviconize(character%2C%20offset)%20%7B%0A%20%20const%20canvas%20%3D%20document.createElement(%22canvas%22)%3B%0A%20%20canvas.height%20%3D%20128%3B%0A%20%20canvas.width%20%3D%20128%3B%0A%0A%20%20const%20ctx%20%3D%20canvas.getContext(%222d%22)%3B%0A%20%20const%20radius%20%3D%2096%3B%0A%0A%20%20ctx.lineJoin%20%3D%20%22round%22%3B%0A%20%20ctx.lineWidth%20%3D%20radius%3B%0A%20%20ctx.strokeRect(radius%20%2F%202%2C%20radius%20%2F%202%2C%20128%20-%20radius%2C%20128%20-%20radius)%3B%0A%20%20ctx.fillRect(radius%20%2F%202%2C%20radius%20%2F%202%2C%20128%20-%20radius%2C%20128%20-%20radius)%3B%0A%20%20ctx.stroke()%3B%0A%20%20ctx.fill()%3B%0A%0A%20%20ctx.fillStyle%20%3D%20%22white%22%3B%0A%20%20ctx.font%20%3D%20%22128px%20serif%22%3B%0A%20%20ctx.textAlign%20%3D%20%22center%22%3B%0A%20%20ctx.fillText(character%2C%2064%2C%20offset)%3B%0A%0A%20%20const%20link%20%3D%0A%20%20%20%20document.querySelector(%22link%5Brel*%3D'icon'%5D%22)%20%7C%7C%0A%20%20%20%20document.createElement(%22link%22)%3B%0A%0A%20%20link.rel%20%3D%20%22icon%22%3B%0A%20%20link.href%20%3D%20canvas.toDataURL()%3B%0A%20%20document.getElementsByTagName(%22head%22)%5B0%5D.appendChild(link)%3B%0A%7D%0A%0Afunction%20log()%20%7B%0A%20%20if%20(DEBUG)%20%7B%0A%20%20%20%20console.log(...arguments)%3B%0A%20%20%7D%0A%7D%0A%0Aasync%20function%20sleep(ms)%20%7B%0A%20%20return%20new%20Promise((r)%20%3D%3E%20setTimeout(r%2C%20ms))%3B%0A%7D%7D)()%3B">Titlerun</a>
<p>The world infamous game in your browser's "Tab" differnet maps: activate script. <br> press 1-3 (4 is a custom hard mode ;) then activate the script after when it reloads the page</p>
<a href="javascript:(function () {var script=document.createElement('script');script.src='https://x-ray-goggles.mouse.org/webxray.js';script.className='webxray';script.setAttribute('data-lang','en-US');script.setAttribute('data-baseuri','https://x-ray-goggles.mouse.org');document.body.appendChild(script);}())">X-RAY</a>
<p>view and edit html code</p>
<a href="javascript:(function(){const a=document.createElement('div');a.style.position='fixed';a.style.top='5%';a.style.left='50%';a.style.transform='translate(-50%, 0%';a.style.fontSize='5rem';a.style.backgroundColor='#3a3aff';a.style.color='#ee0000';a.style.border='10px solid #ee0000';a.style.zIndex='9999';a.style.lineHeight='normal';a.style.cursor='not-allowed';a.style.userSelect='none';a.textContent='YOU ARE BEING HACKED :)';document.body.appendChild(a);const b = ['overline','line-through','blink','underline'];let c = 0;setInterval(()=>{a.style.textDecorationLine=b[c];const d=a.style.backgroundColor;a.style.backgroundColor=a.style.color;a.style.color=d;a.style.borderColor=d;if(c<b.length-1)c++;else c=0;},100);})();">
You Are hacked</a>
<p>for prank epilepsy warning refresh to turn off</p>
<a href="javascript:(function()%7B(function()%20%7B%0Afunction%20Asteroids()%20%7B%0A%09if%20(%20!%20window.ASTEROIDS%20)%0A%09%09window.ASTEROIDS%20%3D%20%7B%0A%09%09%09enemiesKilled%3A%200%2C%0A%09%09%09startedPlaying%3A%20(new%20Date()).getTime()%0A%09%09%7D%3B%0A%0A%09var%20BASEPATH%20%3D%20'http%3A%2F%2Fkickassapp.com%2F'%3B%0A%0A%09%2F*%0A%09%09Classes%0A%09*%2F%0A%0A%09function%20Vector(x%2C%20y)%20%7B%0A%09%09if%20(%20typeof%20x%20%3D%3D%20'Object'%20)%20%7B%0A%09%09%09this.x%20%3D%20x.x%3B%0A%09%09%09this.y%20%3D%20x.y%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09this.x%20%3D%20x%3B%0A%09%09%09this.y%20%3D%20y%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09Vector.prototype%20%3D%20%7B%0A%09%09cp%3A%20function()%20%7B%0A%09%09%09return%20new%20Vector(this.x%2C%20this.y)%3B%0A%09%09%7D%2C%0A%0A%09%09mul%3A%20function(factor)%20%7B%0A%09%09%09this.x%20*%3D%20factor%3B%0A%09%09%09this.y%20*%3D%20factor%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09mulNew%3A%20function(factor)%20%7B%0A%09%09%09return%20new%20Vector(this.x%20*%20factor%2C%20this.y%20*%20factor)%3B%0A%09%09%7D%2C%0A%0A%09%09add%3A%20function(vec)%20%7B%0A%09%09%09this.x%20%2B%3D%20vec.x%3B%0A%09%09%09this.y%20%2B%3D%20vec.y%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09addNew%3A%20function(vec)%20%7B%0A%09%09%09return%20new%20Vector(this.x%20%2B%20vec.x%2C%20this.y%20%2B%20vec.y)%3B%0A%09%09%7D%2C%0A%0A%09%09sub%3A%20function(vec)%20%7B%0A%09%09%09this.x%20-%3D%20vec.x%3B%0A%09%09%09this.y%20-%3D%20vec.y%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09subNew%3A%20function(vec)%20%7B%0A%09%09%09return%20new%20Vector(this.x%20-%20vec.x%2C%20this.y%20-%20vec.y)%3B%0A%09%09%7D%2C%0A%0A%09%09%2F%2F%20angle%20in%20radians%0A%09%09rotate%3A%20function(angle)%20%7B%0A%09%09%09var%20x%20%3D%20this.x%2C%20y%20%3D%20this.y%3B%0A%09%09%09this.x%20%3D%20x%20*%20Math.cos(angle)%20-%20Math.sin(angle)%20*%20y%3B%0A%09%09%09this.y%20%3D%20x%20*%20Math.sin(angle)%20%2B%20Math.cos(angle)%20*%20y%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09%2F%2F%20angle%20still%20in%20radians%0A%09%09rotateNew%3A%20function(angle)%20%7B%0A%09%09%09return%20this.cp().rotate(angle)%3B%0A%09%09%7D%2C%0A%0A%09%09%2F%2F%20angle%20in%20radians...%20again%0A%09%09setAngle%3A%20function(angle)%20%7B%0A%09%09%09var%20l%20%3D%20this.len()%3B%0A%09%09%09this.x%20%3D%20Math.cos(angle)%20*%20l%3B%0A%09%09%09this.y%20%3D%20Math.sin(angle)%20*%20l%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09%2F%2F%20RADIANS%0A%09%09setAngleNew%3A%20function(angle)%20%7B%0A%09%09%09return%20this.cp().setAngle(angle)%3B%0A%09%09%7D%2C%0A%0A%09%09setLength%3A%20function(length)%20%7B%0A%09%09%09var%20l%20%3D%20this.len()%3B%0A%09%09%09if%20(%20l%20)%20this.mul(length%20%2F%20l)%3B%0A%09%09%09else%20this.x%20%3D%20this.y%20%3D%20length%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09setLengthNew%3A%20function(length)%20%7B%0A%09%09%09return%20this.cp().setLength(length)%3B%0A%09%09%7D%2C%0A%0A%09%09normalize%3A%20function()%20%7B%0A%09%09%09var%20l%20%3D%20this.len()%3B%0A%09%09%09this.x%20%2F%3D%20l%3B%0A%09%09%09this.y%20%2F%3D%20l%3B%0A%09%09%09return%20this%3B%0A%09%09%7D%2C%0A%0A%09%09normalizeNew%3A%20function()%20%7B%0A%09%09%09return%20this.cp().normalize()%3B%0A%09%09%7D%2C%0A%0A%09%09angle%3A%20function()%20%7B%0A%09%09%09return%20Math.atan2(this.y%2C%20this.x)%3B%0A%09%09%7D%2C%0A%0A%09%09collidesWith%3A%20function(rect)%20%7B%0A%09%09%09return%20this.x%20%3E%20rect.x%20%26%26%20this.y%20%3E%20rect.y%20%26%26%20this.x%20%3C%20rect.x%20%2B%20rect.width%20%26%26%20this.y%20%3C%20rect.y%20%2B%20rect.height%3B%0A%09%09%7D%2C%0A%0A%09%09len%3A%20function()%20%7B%0A%09%09%09var%20l%20%3D%20Math.sqrt(this.x%20*%20this.x%20%2B%20this.y%20*%20this.y)%3B%0A%09%09%09if%20(%20l%20%3C%200.005%20%26%26%20l%20%3E%20-0.005)%20return%200%3B%0A%09%09%09return%20l%3B%0A%09%09%7D%2C%0A%0A%09%09is%3A%20function(test)%20%7B%0A%0A%09%09%09return%20typeof%20test%20%3D%3D%20'object'%20%26%26%20this.x%20%3D%3D%20test.x%20%26%26%20this.y%20%3D%3D%20test.y%3B%0A%09%09%7D%2C%0A%0A%09%09toString%3A%20function()%20%7B%0A%09%09%09return%20'%5BVector('%20%2B%20this.x%20%2B%20'%2C%20'%20%2B%20this.y%20%2B%20')%20angle%3A%20'%20%2B%20this.angle()%20%2B%20'%2C%20length%3A%20'%20%2B%20this.len()%20%2B%20'%5D'%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09function%20Line(p1%2C%20p2)%20%7B%0A%09%09this.p1%20%3D%20p1%3B%0A%09%09this.p2%20%3D%20p2%3B%0A%09%7D%3B%0A%0A%09Line.prototype%20%3D%20%7B%0A%09%09shift%3A%20function(pos)%20%7B%0A%09%09%09this.p1.add(pos)%3B%0A%09%09%09this.p2.add(pos)%3B%0A%09%09%7D%2C%0A%0A%09%09intersectsWithRect%3A%20function(rect)%20%7B%0A%09%09%09var%20LL%20%3D%20new%20Vector(rect.x%2C%20rect.y%20%2B%20rect.height)%3B%0A%09%09%09var%20UL%20%3D%20new%20Vector(rect.x%2C%20rect.y)%3B%0A%09%09%09var%20LR%20%3D%20new%20Vector(rect.x%20%2B%20rect.width%2C%20rect.y%20%2B%20rect.height)%3B%0A%09%09%09var%20UR%20%3D%20new%20Vector(rect.x%20%2B%20rect.width%2C%20rect.y)%3B%0A%0A%09%09%09if%20(%0A%09%09%09%09this.p1.x%20%3E%20LL.x%20%26%26%20this.p1.x%20%3C%20UR.x%20%26%26%20this.p1.y%20%3C%20LL.y%20%26%26%20this.p1.y%20%3E%20UR.y%20%26%26%0A%09%09%09%09this.p2.x%20%3E%20LL.x%20%26%26%20this.p2.x%20%3C%20UR.x%20%26%26%20this.p2.y%20%3C%20LL.y%20%26%26%20this.p2.y%20%3E%20UR.y%0A%09%09%09)%20return%20true%3B%0A%0A%09%09%09if%20(%20this.intersectsLine(new%20Line(UL%2C%20LL))%20)%20return%20true%3B%0A%09%09%09if%20(%20this.intersectsLine(new%20Line(LL%2C%20LR))%20)%20return%20true%3B%0A%09%09%09if%20(%20this.intersectsLine(new%20Line(UL%2C%20UR))%20)%20return%20true%3B%0A%09%09%09if%20(%20this.intersectsLine(new%20Line(UR%2C%20LR))%20)%20return%20true%3B%0A%09%09%09return%20false%3B%0A%09%09%7D%2C%0A%0A%09%09intersectsLine%3A%20function(line2)%20%7B%0A%09%09%09var%20v1%20%3D%20this.p1%2C%20v2%20%3D%20this.p2%3B%0A%09%09%09var%20v3%20%3D%20line2.p1%2C%20v4%20%3D%20line2.p2%3B%0A%0A%09%09%09var%20denom%20%3D%20((v4.y%20-%20v3.y)%20*%20(v2.x%20-%20v1.x))%20-%20((v4.x%20-%20v3.x)%20*%20(v2.y%20-%20v1.y))%3B%0A%09%09%09var%20numerator%20%3D%20((v4.x%20-%20v3.x)%20*%20(v1.y%20-%20v3.y))%20-%20((v4.y%20-%20v3.y)%20*%20(v1.x%20-%20v3.x))%3B%0A%0A%09%09%09var%20numerator2%20%3D%20((v2.x%20-%20v1.x)%20*%20(v1.y%20-%20v3.y))%20-%20((v2.y%20-%20v1.y)%20*%20(v1.x%20-%20v3.x))%3B%0A%0A%09%09%09if%20(%20denom%20%3D%3D%200.0%20)%20%7B%0A%09%09%09%09return%20false%3B%0A%09%09%09%7D%0A%09%09%09var%20ua%20%3D%20numerator%20%2F%20denom%3B%0A%09%09%09var%20ub%20%3D%20numerator2%20%2F%20denom%3B%0A%0A%09%09%09return%20(ua%20%3E%3D%200.0%20%26%26%20ua%20%3C%3D%201.0%20%26%26%20ub%20%3E%3D%200.0%20%26%26%20ub%20%3C%3D%201.0)%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09function%20Highscores()%20%7B%0A%0A%09%7D%3B%0A%0A%09Highscores.prototype%20%3D%20%7B%0A%09%20%20build%3A%20function()%20%7B%0A%09%20%20%20%20%20%20var%20self%20%3D%20this%3B%0A%0A%20%20%20%20%09%09var%20w%20%3D%20(document.clientWidth%20%7C%7C%20window.innerWidth%20%7C%7C%20document.documentElement.clientWidth)%3B%0A%20%20%20%20%09%09var%20h%20%3D%20(document.clientHeight%20%7C%7C%20window.innerHeight%20%7C%7C%20document.documentElement.clientHeight)%3B%0A%0A%20%20%20%20%09%09this.container%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%09%09this.container.className%20%3D%20%22ASTEROIDSYEAH%22%3B%0A%20%20%20%20%09%09with%20(%20this.container.style%20)%20%7B%0A%20%20%20%20%09%09%09position%20%3D%20%22fixed%22%3B%0A%20%20%20%20%09%09%09top%20%3D%20parseInt(h%20%2F%202%20-%20250%2C%2010)%20%2B%20%22px%22%3B%0A%20%20%20%20%09%09%09left%20%3D%20parseInt(w%20%2F%202%20-%20250%2C%2010)%20%2B%20%22px%22%3B%0A%20%20%20%20%09%09%09width%20%3D%20%22500px%22%3B%0A%20%20%20%20%09%09%09height%20%3D%20%22500px%22%3B%0A%20%20%20%20%09%09%09boxShadow%20%3D%20MsBoxShadow%20%3D%20OBoxShadow%20%3D%20MozBoxShadow%20%3D%20WebkitBoxShadow%20%3D%20%220%200%2025px%20%23000%22%3B%0A%20%20%20%20%09%09%09zIndex%20%3D%20%221000002%22%3B%0A%09%09%09%09%2F%2FwebkitTransform%20causes%20a%20bug%20where%20you%20can't%20click%20anything%20in%20the%20iframe%20if%20the%20scroll%20is%20not%20top%0A%20%20%20%20%09%09%09%2F%2FwebkitTransform%20%3D%20'scale(0%2C%200)'%3B%0A%20%20%20%20%09%09%09%2F%2FwebkitTransition%20%3D%20%22-webkit-transform%20500ms%22%3B%0A%20%20%20%20%09%09%09background%20%3D%20'%23222'%3B%0A%20%20%20%20%09%09%7D%3B%0A%20%20%20%20%09%09document.body.appendChild(this.container)%3B%0A%0A%20%20%20%20%09%09%2F%2F%20Create%20iframe%0A%20%20%20%20%09%09this.iframe%20%3D%20document.createElement('iframe')%3B%0A%20%20%20%20%09%09this.iframe.className%20%3D%20%22ASTEROIDSYEAH%22%3B%0A%20%20%20%20%09%09this.iframe.width%20%3D%20this.iframe.height%20%3D%20500%3B%0A%20%20%20%20%09%09this.iframe.frameBorder%20%3D%200%3B%0A%20%20%20%20%09%09this.container.appendChild(this.iframe)%3B%0A%0A%20%20%20%20%09%09%2F%2F%20Create%20close%20button%0A%20%20%20%20%09%09this.close%20%3D%20document.createElement('a')%3B%0A%20%20%20%20%09%09this.close.href%20%3D%20%22%23%22%3B%0A%20%20%20%20%09%09this.close.onclick%20%3D%20function()%20%7B%0A%20%20%20%20%09%09%09self.hide()%3B%0A%20%20%20%20%09%09%09return%20false%3B%0A%20%20%20%20%09%09%7D%3B%0A%20%20%20%20%09%09this.close.innerHTML%20%3D%20%22X%22%3B%0A%20%20%20%20%09%09with%20(%20this.close.style%20)%20%7B%0A%20%20%20%20%09%09%09position%20%3D%20%22absolute%22%3B%0A%20%20%20%20%09%09%09display%20%3D%20%22block%22%3B%0A%20%20%20%20%09%09%09padding%20%3D%20%222px%206px%22%3B%0A%20%20%20%20%09%09%09top%20%3D%20%22-12px%22%3B%0A%20%20%20%20%09%09%09right%20%3D%20%22-12px%22%3B%0A%20%20%20%20%09%09%09background%20%3D%20%22%23222%22%3B%0A%20%20%20%20%09%09%09%2F%2FtextIndent%20%3D%20%22-10000px%22%3B%0A%20%20%20%20%09%09%09border%20%3D%20%223px%20solid%20%23fff%22%3B%0A%20%20%20%20%09%09%09boxShadow%20%3D%20%221px%201px%205px%20%23000%22%3B%0A%20%20%20%20%09%09%09color%20%3D%20%22%23fff%22%3B%0A%20%20%20%20%09%09%09textAlign%20%3D%20%22center%22%3B%0A%20%20%20%20%09%09%09borderRadius%20%3D%20%2224px%22%3B%0A%20%20%20%20%09%09%09outline%20%3D%20%22none%22%3B%0A%20%20%20%20%09%09%09textDecoration%20%3D%20%22none%22%3B%0A%20%20%20%20%09%09%09fontFamily%20%3D%20%22Verdana%22%3B%0A%20%20%20%20%09%09%09fontSize%20%3D%20%2216px%22%3B%0A%20%20%20%20%09%09%09fontWeight%20%3D%20%22bold%22%3B%0A%20%20%20%20%09%09%09zIndex%20%3D%20%2210003%22%3B%0A%20%20%20%20%09%09%7D%0A%20%20%20%20%09%09this.container.appendChild(this.close)%3B%0A%20%20%20%20%09%09this.hide()%3B%0A%0A%20%20%20%20%09%09document.body.appendChild(this.container)%3B%0A%09%20%20%7D%2C%0A%0A%09%09show%3A%20function()%20%7B%0A%09%09%20%20this.build()%3B%0A%09%09%20%20this.container.style.display%20%3D%20'block'%3B%0A%0A%09%09%09var%20self%20%3D%20this%3B%0A%09%09%09setTimeout(function()%20%7B%0A%09%09%09%20%20%2F%2Fself.container.style.webkitTransform%20%3D%20'scale(1%2C%201)'%3B%0A%09%09%09%7D%2C%2050)%3B%0A%0A%09%09%09this.sendScore()%3B%0A%09%09%7D%2C%0A%0A%09%09hide%3A%20function()%20%7B%0A%09%09%09if%20(%20this.container%20%26%26%20this.container.parentNode%20)%0A%09%09%09%09this.container.parentNode.removeChild(this.container)%3B%0A%09%09%7D%2C%0A%0A%09%09sendScore%3A%20function()%20%7B%0A%09%09%20%20var%20timePlayed%20%3D%20(new%20Date()).getTime()%20-%20window.ASTEROIDS.startedPlaying%3B%0A%09%09%09this.iframe.src%20%3D%20highscoreURL%20%2B%20%22%3Fasd%3D%22%20%2B%20(window.ASTEROIDS.enemiesKilled%20*%2010).toString()%20%2B%20%22%26sad%3D%22%20%2B%20escape(document.location.href)%20%2B%20'%26das%3D'%20%2B%20timePlayed%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09%2F*%0A%09%09end%20classes%2C%20begin%20code%0A%09*%2F%0A%0A%09var%20that%20%3D%20this%3B%0A%0A%09var%20isIE%20%3D%20!!window.ActiveXObject%3B%20%2F%2F%20IE%20gets%20less%20performance-intensive%0A%09var%20isIEQuirks%20%3D%20isIE%20%26%26%20document.compatMode%20%3D%3D%20%22BackCompat%22%3B%0A%0A%09%2F%2F%20configuration%20directives%20are%20placed%20in%20local%20variables%0A%09var%20w%20%3D%20document.documentElement.clientWidth%2C%20h%20%3D%20document.documentElement.clientHeight%3B%0A%09if%20(%20isIEQuirks%20)%20%7B%0A%09%09w%20%3D%20document.body.clientWidth%3B%0A%09%09h%20%3D%20document.body.clientHeight%3B%0A%09%7D%0A%0A%09var%20playerWidth%20%3D%2020%2C%20playerHeight%20%3D%2030%3B%0A%0A%09var%20playerVerts%20%3D%20%5B%5B-1%20*%20playerHeight%2F2%2C%20-1%20*%20playerWidth%2F2%5D%2C%20%5B-1%20*%20playerHeight%2F2%2C%20playerWidth%2F2%5D%2C%20%5BplayerHeight%2F2%2C%200%5D%5D%3B%0A%0A%09var%20ignoredTypes%20%3D%20%5B'HTML'%2C%20'HEAD'%2C%20'BODY'%2C%20'SCRIPT'%2C%20'TITLE'%2C%20'META'%2C%20'STYLE'%2C%20'LINK'%5D%3B%0A%09if%20(%20window.ActiveXObject%20)%0A%09%09ignoredTypes%20%3D%20%5B'HTML'%2C%20'HEAD'%2C%20'BODY'%2C%20'SCRIPT'%2C%20'TITLE'%2C%20'META'%2C%20'STYLE'%2C%20'LINK'%2C%20'SHAPE'%2C%20'LINE'%2C%20'GROUP'%2C%20'IMAGE'%2C%20'STROKE'%2C%20'FILL'%2C%20'SKEW'%2C%20'PATH'%2C%20'TEXTPATH'%2C%20'INS'%5D%3B%20%2F%2F%20Half%20of%20these%20are%20for%20IE%20g_vml%0A%09var%20hiddenTypes%20%3D%20%5B'BR'%2C%20'HR'%5D%3B%0A%0A%09var%20FPS%20%3D%2050%3B%0A%0A%09%2F%2F%20units%2Fsecond%0A%09var%20acc%09%09%09%20%20%3D%20300%3B%0A%09var%20maxSpeed%09%20%20%3D%20600%3B%0A%09var%20rotSpeed%09%20%20%3D%20360%3B%20%2F%2F%20one%20rotation%20per%20second%0A%09var%20bulletSpeed%09%20%20%3D%20700%3B%0A%09var%20particleSpeed%20%3D%20400%3B%0A%0A%09var%20timeBetweenFire%20%3D%20150%3B%20%2F%2F%20how%20many%20milliseconds%20between%20shots%0A%09var%20timeBetweenBlink%20%3D%20250%3B%20%2F%2F%20milliseconds%20between%20enemy%20blink%0A%09var%20timeBetweenEnemyUpdate%20%3D%20isIE%20%3F%2010000%20%3A%202000%3B%0A%09var%20bulletRadius%20%3D%202%3B%0A%09var%20maxParticles%20%3D%20isIE%20%3F%2020%20%3A%2040%3B%0A%09var%20maxBullets%20%3D%20isIE%20%3F%2010%20%3A%2020%3B%0A%0A%09var%20highscoreURL%20%3D%20BASEPATH%20%2B%20%22highscores%2F%22%3B%0A%0A%09%2F%2F%20generated%20every%2010%20ms%0A%09this.flame%20%3D%20%7Br%3A%20%5B%5D%2C%20y%3A%20%5B%5D%7D%3B%0A%0A%09%2F%2F%20blink%20style%0A%09this.toggleBlinkStyle%20%3D%20function%20()%20%7B%0A%09%09if%20(this.updated.blink.isActive)%20%7B%0A%09%09%09removeClass(document.body%2C%20'ASTEROIDSBLINK')%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09addClass(document.body%2C%20'ASTEROIDSBLINK')%3B%0A%09%09%7D%0A%0A%09%09this.updated.blink.isActive%20%3D%20!this.updated.blink.isActive%3B%0A%09%7D%3B%0A%0A%09addStylesheet(%22.ASTEROIDSBLINK%20.ASTEROIDSYEAHENEMY%22%2C%20%22outline%3A%202px%20dotted%20red%3B%22)%3B%0A%0A%09this.pos%20%3D%20new%20Vector(100%2C%20100)%3B%0A%09this.lastPos%20%3D%20false%3B%0A%09this.vel%20%3D%20new%20Vector(0%2C%200)%3B%0A%09this.dir%20%3D%20new%20Vector(0%2C%201)%3B%0A%09this.keysPressed%20%3D%20%7B%7D%3B%0A%09this.firedAt%20%3D%20false%3B%0A%09this.updated%20%3D%20%7B%0A%09%09enemies%3A%20false%2C%20%2F%2F%20if%20the%20enemy%20index%20has%20been%20updated%20since%20the%20user%20pressed%20B%20for%20Blink%0A%09%09flame%3A%20new%20Date().getTime()%2C%20%2F%2F%20the%20time%20the%20flame%20was%20last%20updated%0A%09%09blink%3A%20%7Btime%3A%200%2C%20isActive%3A%20false%7D%0A%09%7D%3B%0A%09this.scrollPos%20%3D%20new%20Vector(0%2C%200)%3B%0A%0A%09this.bullets%20%3D%20%5B%5D%3B%0A%0A%09%2F%2F%20Enemies%20lay%20first%20in%20this.enemies%2C%20when%20they%20are%20shot%20they%20are%20moved%20to%20this.dying%0A%09this.enemies%20%3D%20%5B%5D%3B%0A%09this.dying%20%3D%20%5B%5D%3B%0A%09this.totalEnemies%20%3D%200%3B%0A%0A%09%2F%2F%20Particles%20are%20created%20when%20something%20is%20shot%0A%09this.particles%20%3D%20%5B%5D%3B%0A%0A%09%2F%2F%20things%20to%20shoot%20is%20everything%20textual%20and%20an%20element%20of%20type%20not%20specified%20in%20types%20AND%20not%20a%20navigation%20element%20(see%20further%20down)%0A%09function%20updateEnemyIndex()%20%7B%0A%09%09for%20(%20var%20i%20%3D%200%2C%20enemy%3B%20enemy%20%3D%20that.enemies%5Bi%5D%3B%20i%2B%2B%20)%0A%09%09%09removeClass(enemy%2C%20%22ASTEROIDSYEAHENEMY%22)%3B%0A%0A%09%09var%20all%20%3D%20document.body.getElementsByTagName('*')%3B%0A%09%09that.enemies%20%3D%20%5B%5D%3B%0A%09%09for%20(%20var%20i%20%3D%200%2C%20el%3B%20el%20%3D%20all%5Bi%5D%3B%20i%2B%2B%20)%20%7B%0A%09%09%09%2F%2F%20elements%20with%20className%20ASTEROIDSYEAH%20are%20part%20of%20the%20%22game%22%0A%09%09%09if%20(%20indexOf(ignoredTypes%2C%20el.tagName.toUpperCase())%20%3D%3D%20-1%20%26%26%20el.prefix%20!%3D%20'g_vml_'%20%26%26%20hasOnlyTextualChildren(el)%20%26%26%20el.className%20!%3D%20%22ASTEROIDSYEAH%22%20%26%26%20el.offsetHeight%20%3E%200%20)%20%7B%0A%09%09%09%09el.aSize%20%3D%20size(el)%3B%0A%09%09%09%09that.enemies.push(el)%3B%0A%0A%09%09%09%09addClass(el%2C%20%22ASTEROIDSYEAHENEMY%22)%3B%0A%0A%09%09%09%09%2F%2F%20this%20is%20only%20for%20enemycounting%0A%09%09%09%09if%20(%20!%20el.aAdded%20)%20%7B%0A%09%09%09%09%09el.aAdded%20%3D%20true%3B%0A%09%09%09%09%09that.totalEnemies%2B%2B%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%3B%0A%09updateEnemyIndex()%3B%0A%0A%09%2F%2F%20createFlames%20create%20the%20vectors%20for%20the%20flames%20of%20the%20ship%0A%09var%20createFlames%3B%0A%09(function%20()%20%7B%0A%09%09var%20rWidth%20%3D%20playerWidth%2C%0A%09%09%09rIncrease%20%3D%20playerWidth%20*%200.1%2C%0A%09%09%09yWidth%20%3D%20playerWidth%20*%200.6%2C%0A%09%09%09yIncrease%20%3D%20yWidth%20*%200.2%2C%0A%09%09%09halfR%20%3D%20rWidth%20%2F%202%2C%0A%09%09%09halfY%20%3D%20yWidth%20%2F%202%2C%0A%09%09%09halfPlayerHeight%20%3D%20playerHeight%20%2F%202%3B%0A%0A%09%09createFlames%20%3D%20function%20()%20%7B%0A%09%09%09%2F%2F%20Firstly%20create%20red%20flames%0A%09%09%09that.flame.r%20%3D%20%5B%5B-1%20*%20halfPlayerHeight%2C%20-1%20*%20halfR%5D%5D%3B%0A%09%09%09that.flame.y%20%3D%20%5B%5B-1%20*%20halfPlayerHeight%2C%20-1%20*%20halfY%5D%5D%3B%0A%0A%09%09%09for%20(%20var%20x%20%3D%200%3B%20x%20%3C%20rWidth%3B%20x%20%2B%3D%20rIncrease%20)%20%7B%0A%09%09%09%09that.flame.r.push(%5B-random(2%2C%207)%20-%20halfPlayerHeight%2C%20x%20-%20halfR%5D)%3B%0A%09%09%09%7D%0A%0A%09%09%09that.flame.r.push(%5B-1%20*%20halfPlayerHeight%2C%20halfR%5D)%3B%0A%0A%09%09%09%2F%2F%20...%20And%20now%20the%20yellow%20flames%0A%09%09%09for%20(%20var%20x%20%3D%200%3B%20x%20%3C%20yWidth%3B%20x%20%2B%3D%20yIncrease%20)%20%7B%0A%09%09%09%09that.flame.y.push(%5B-random(2%2C%207)%20-%20halfPlayerHeight%2C%20x%20-%20halfY%5D)%3B%0A%09%09%09%7D%0A%0A%09%09%09that.flame.y.push(%5B-1%20*%20halfPlayerHeight%2C%20halfY%5D)%3B%0A%09%09%7D%3B%0A%09%7D)()%3B%0A%0A%09createFlames()%3B%0A%0A%09%2F*%0A%09%09Math%20operations%0A%09*%2F%0A%0A%09function%20radians(deg)%20%7B%0A%09%09return%20deg%20*%200.0174532925%3B%0A%09%7D%3B%0A%0A%09function%20degrees(rad)%20%7B%0A%09%09return%20rad%20*%2057.2957795%3B%0A%09%7D%3B%0A%0A%09function%20random(from%2C%20to)%20%7B%0A%09%09return%20Math.floor(Math.random()%20*%20(to%20%2B%201)%20%2B%20from)%3B%0A%09%7D%3B%0A%0A%09%2F*%0A%09%09Misc%20operations%0A%09*%2F%0A%0A%09function%20code(name)%20%7B%0A%09%09var%20table%20%3D%20%7B'up'%3A%2038%2C%20'down'%3A%2040%2C%20'left'%3A%2037%2C%20'right'%3A%2039%2C%20'esc'%3A%2027%7D%3B%0A%09%09if%20(%20table%5Bname%5D%20)%20return%20table%5Bname%5D%3B%0A%09%09return%20name.charCodeAt(0)%3B%0A%09%7D%3B%0A%0A%09function%20boundsCheck(vec)%20%7B%0A%09%09if%20(%20vec.x%20%3E%20w%20)%0A%09%09%09vec.x%20%3D%200%3B%0A%09%09else%20if%20(%20vec.x%20%3C%200%20)%0A%09%09%09vec.x%20%3D%20w%3B%0A%0A%09%09if%20(%20vec.y%20%3E%20h%20)%0A%09%09%09vec.y%20%3D%200%3B%0A%09%09else%20if%20(%20vec.y%20%3C%200%20)%0A%09%09%09vec.y%20%3D%20h%3B%0A%09%7D%3B%0A%0A%09function%20size(element)%20%7B%0A%09%09var%20el%20%3D%20element%2C%20left%20%3D%200%2C%20top%20%3D%200%3B%0A%09%09do%20%7B%0A%09%09%09left%20%2B%3D%20el.offsetLeft%20%7C%7C%200%3B%0A%09%09%09top%20%2B%3D%20el.offsetTop%20%7C%7C%200%3B%0A%09%09%09el%20%3D%20el.offsetParent%3B%0A%09%09%7D%20while%20(el)%3B%0A%09%09return%20%7Bx%3A%20left%2C%20y%3A%20top%2C%20width%3A%20element.offsetWidth%20%7C%7C%2010%2C%20height%3A%20element.offsetHeight%20%7C%7C%2010%7D%3B%0A%09%7D%3B%0A%0A%09%2F%2F%20Taken%20from%3A%0A%09%2F%2F%20http%3A%2F%2Fwww.quirksmode.org%2Fblog%2Farchives%2F2005%2F10%2F_and_the_winner_1.html%0A%09function%20addEvent(%20obj%2C%20type%2C%20fn%20)%20%7B%0A%09%09if%20(obj.addEventListener)%0A%09%09%09obj.addEventListener(%20type%2C%20fn%2C%20false%20)%3B%0A%09%09else%20if%20(obj.attachEvent)%20%7B%0A%09%09%09obj%5B%22e%22%2Btype%2Bfn%5D%20%3D%20fn%3B%0A%09%09%09obj%5Btype%2Bfn%5D%20%3D%20function()%20%7B%20obj%5B%22e%22%2Btype%2Bfn%5D(%20window.event%20)%3B%20%7D%3B%0A%09%09%09obj.attachEvent(%20%22on%22%2Btype%2C%20obj%5Btype%2Bfn%5D%20)%3B%0A%09%09%7D%0A%09%7D%0A%0A%09function%20removeEvent(%20obj%2C%20type%2C%20fn%20)%20%7B%0A%09%09if%20(obj.removeEventListener)%0A%09%09%09obj.removeEventListener(%20type%2C%20fn%2C%20false%20)%3B%0A%09%09else%20if%20(obj.detachEvent)%20%7B%0A%09%09%09obj.detachEvent(%20%22on%22%2Btype%2C%20obj%5Btype%2Bfn%5D%20)%3B%0A%09%09%09obj%5Btype%2Bfn%5D%20%3D%20null%3B%0A%09%09%09obj%5B%22e%22%2Btype%2Bfn%5D%20%3D%20null%3B%0A%09%09%7D%0A%09%7D%0A%0A%09function%20arrayRemove(array%2C%20from%2C%20to)%20%7B%0A%09%09var%20rest%20%3D%20array.slice((to%20%7C%7C%20from)%20%2B%201%20%7C%7C%20array.length)%3B%0A%09%09array.length%20%3D%20from%20%3C%200%20%3F%20array.length%20%2B%20from%20%3A%20from%3B%0A%09%09return%20array.push.apply(array%2C%20rest)%3B%0A%09%7D%3B%0A%0A%09function%20applyVisibility(vis)%20%7B%0A%09%09for%20(%20var%20i%20%3D%200%2C%20p%3B%20p%20%3D%20window.ASTEROIDSPLAYERS%5Bi%5D%3B%20i%2B%2B%20)%20%7B%0A%09%09%09p.gameContainer.style.visibility%20%3D%20vis%3B%0A%09%09%7D%0A%09%7D%0A%0A%09function%20getElementFromPoint(x%2C%20y)%20%7B%0A%09%09%2F%2F%20hide%20canvas%20so%20it%20isn't%20picked%20up%0A%09%09applyVisibility('hidden')%3B%0A%0A%09%09var%20element%20%3D%20document.elementFromPoint(x%2C%20y)%3B%0A%0A%09%09if%20(%20!%20element%20)%20%7B%0A%09%09%09applyVisibility('visible')%3B%0A%09%09%09return%20false%3B%0A%09%09%7D%0A%0A%09%09if%20(%20element.nodeType%20%3D%3D%203%20)%0A%09%09%09element%20%3D%20element.parentNode%3B%0A%0A%09%09%2F%2F%20show%20the%20canvas%20again%2C%20hopefully%20it%20didn't%20blink%0A%09%09applyVisibility('visible')%3B%0A%09%09return%20element%3B%0A%09%7D%3B%0A%0A%09function%20addParticles(startPos)%20%7B%0A%09%09var%20time%20%3D%20new%20Date().getTime()%3B%0A%09%09var%20amount%20%3D%20maxParticles%3B%0A%09%09for%20(%20var%20i%20%3D%200%3B%20i%20%3C%20amount%3B%20i%2B%2B%20)%20%7B%0A%09%09%09that.particles.push(%7B%0A%09%09%09%09%2F%2F%20random%20direction%0A%09%09%09%09dir%3A%20(new%20Vector(Math.random()%20*%2020%20-%2010%2C%20Math.random()%20*%2020%20-%2010)).normalize()%2C%0A%09%09%09%09pos%3A%20startPos.cp()%2C%0A%09%09%09%09cameAlive%3A%20time%0A%09%09%09%7D)%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09function%20setScore()%20%7B%0A%09%09that.points.innerHTML%20%3D%20window.ASTEROIDS.enemiesKilled%20*%2010%3B%0A%09%7D%3B%0A%0A%09function%20hasOnlyTextualChildren(element)%20%7B%0A%09%09if%20(%20element.offsetLeft%20%3C%20-100%20%26%26%20element.offsetWidth%20%3E%200%20%26%26%20element.offsetHeight%20%3E%200%20)%20return%20false%3B%0A%09%09if%20(%20indexOf(hiddenTypes%2C%20element.tagName)%20!%3D%20-1%20)%20return%20true%3B%0A%0A%09%09if%20(%20element.offsetWidth%20%3D%3D%200%20%26%26%20element.offsetHeight%20%3D%3D%200%20)%20return%20false%3B%0A%09%09for%20(%20var%20i%20%3D%200%3B%20i%20%3C%20element.childNodes.length%3B%20i%2B%2B%20)%20%7B%0A%09%09%09%2F%2F%20%3Cbr%20%2F%3E%20doesn't%20count...%20and%20empty%20elements%0A%09%09%09if%20(%0A%09%09%09%09indexOf(hiddenTypes%2C%20element.childNodes%5Bi%5D.tagName)%20%3D%3D%20-1%0A%09%09%09%09%26%26%20element.childNodes%5Bi%5D.childNodes.length%20!%3D%200%0A%09%09%09)%20return%20false%3B%0A%09%09%7D%0A%09%09return%20true%3B%0A%09%7D%3B%0A%0A%09function%20indexOf(arr%2C%20item%2C%20from)%7B%0A%09%09if%20(%20arr.indexOf%20)%20return%20arr.indexOf(item%2C%20from)%3B%0A%09%09var%20len%20%3D%20arr.length%3B%0A%09%09for%20(var%20i%20%3D%20(from%20%3C%200)%20%3F%20Math.max(0%2C%20len%20%2B%20from)%20%3A%20from%20%7C%7C%200%3B%20i%20%3C%20len%3B%20i%2B%2B)%7B%0A%09%09%09if%20(arr%5Bi%5D%20%3D%3D%3D%20item)%20return%20i%3B%0A%09%09%7D%0A%09%09return%20-1%3B%0A%09%7D%3B%0A%0A%09%2F%2F%20taken%20from%20MooTools%20Core%0A%09function%20addClass(element%2C%20className)%20%7B%0A%09%09if%20(%20element%20%26%26%20element.className%20%26%26%20element.className.indexOf%20%26%26%20element.className.indexOf(className)%20%3D%3D%20-1)%0A%09%09%09element.className%20%3D%20(element.className%20%2B%20'%20'%20%2B%20className).replace(%2F%5Cs%2B%2Fg%2C%20'%20').replace(%2F%5E%5Cs%2B%7C%5Cs%2B%24%2Fg%2C%20'')%3B%0A%09%7D%3B%0A%0A%09%2F%2F%20taken%20from%20MooTools%20Core%0A%09function%20removeClass(element%2C%20className)%20%7B%0A%09%09element.className%20%3D%20element.className.replace(new%20RegExp('(%5E%7C%5C%5Cs)'%20%2B%20className%20%2B%20'(%3F%3A%5C%5Cs%7C%24)')%2C%20'%241')%3B%0A%09%7D%3B%0A%0A%09function%20addStylesheet(selector%2C%20rules)%20%7B%0A%09%09var%20stylesheet%20%3D%20document.createElement('style')%3B%0A%09%09stylesheet.type%20%3D%20'text%2Fcss'%3B%0A%09%09stylesheet.rel%20%3D%20'stylesheet'%3B%0A%09%09stylesheet.id%20%3D%20'ASTEROIDSYEAHSTYLES'%3B%0A%09%09try%20%7B%0A%09%09%09stylesheet.innerHTML%20%3D%20selector%20%2B%20%22%7B%22%20%2B%20rules%20%2B%20%22%7D%22%3B%0A%09%09%7D%20catch%20(%20e%20)%20%7B%0A%09%09%09stylesheet.styleSheet.addRule(selector%2C%20rules)%3B%0A%09%09%7D%0A%09%09document.getElementsByTagName(%22head%22)%5B0%5D.appendChild(stylesheet)%3B%0A%09%7D%3B%0A%0A%09function%20removeStylesheet(name)%20%7B%0A%09%09var%20stylesheet%20%3D%20document.getElementById(name)%3B%0A%09%09if%20(%20stylesheet%20)%20%7B%0A%09%09%09stylesheet.parentNode.removeChild(stylesheet)%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09%2F*%0A%09%09%3D%3D%20Setup%20%3D%3D%0A%09*%2F%0A%09this.gameContainer%20%3D%20document.createElement('div')%3B%0A%09this.gameContainer.className%20%3D%20'ASTEROIDSYEAH'%3B%0A%09document.body.appendChild(this.gameContainer)%3B%0A%0A%09this.canvas%20%3D%20document.createElement('canvas')%3B%0A%09this.canvas.setAttribute('width'%2C%20w)%3B%0A%09this.canvas.setAttribute('height'%2C%20h)%3B%0A%09this.canvas.className%20%3D%20'ASTEROIDSYEAH'%3B%0A%09with%20(%20this.canvas.style%20)%20%7B%0A%09%09width%20%3D%20w%20%2B%20%22px%22%3B%0A%09%09height%20%3D%20h%20%2B%20%22px%22%3B%0A%09%09position%20%3D%20%22fixed%22%3B%0A%09%09top%20%3D%20%220px%22%3B%0A%09%09left%20%3D%20%220px%22%3B%0A%09%09bottom%20%3D%20%220px%22%3B%0A%09%09right%20%3D%20%220px%22%3B%0A%09%09zIndex%20%3D%20%2210000%22%3B%0A%09%7D%0A%0A%09%2F%2F%20Is%20IE%0A%09if%20(%20typeof%20G_vmlCanvasManager%20!%3D%20'undefined'%20)%20%7B%0A%09%09this.canvas%20%3D%20G_vmlCanvasManager.initElement(this.canvas)%3B%0A%09%09if%20(%20!%20this.canvas.getContext%20)%20%7B%0A%09%09%09alert(%22So...%20you're%20using%20IE%3F%20%20Please%20join%20me%20at%20http%3A%2F%2Fgithub.com%2Ferkie%2Ferkie.github.com%20if%20you%20think%20you%20can%20help%22)%3B%0A%09%09%7D%0A%09%7D%20else%20%7B%0A%09%09if%20(%20!%20this.canvas.getContext%20)%20%7B%0A%09%09%09alert('This%20program%20does%20not%20yet%20support%20your%20browser.%20Please%20join%20me%20at%20http%3A%2F%2Fgithub.com%2Ferkie%2Ferkie.github.com%20if%20you%20think%20you%20can%20help')%3B%0A%09%09%7D%0A%09%7D%0A%0A%09addEvent(this.canvas%2C%20'mousedown'%2C%20function(e)%20%7B%0A%09%09e%20%3D%20e%20%7C%7C%20window.event%3B%0A%09%09var%20message%20%3D%20document.createElement('span')%3B%0A%09%09message.style.position%20%3D%20'absolute'%3B%0A%09%09message.style.border%20%3D%20'1px%20solid%20%23999'%3B%0A%09%09message.style.background%20%3D%20'white'%3B%0A%09%09message.style.color%20%3D%20%22black%22%3B%0A%09%09message.innerHTML%20%3D%20'Press%20Esc%20to%20quit'%3B%0A%09%09document.body.appendChild(message)%3B%0A%0A%09%09var%20x%20%3D%20e.pageX%20%7C%7C%20(e.clientX%20%2B%20document.documentElement.scrollLeft)%3B%0A%09%09var%20y%20%3D%20e.pageY%20%7C%7C%20(e.clientY%20%2B%20document.documentElement.scrollTop)%3B%0A%09%09message.style.left%20%3D%20x%20-%20message.offsetWidth%2F2%20%2B%20'px'%3B%0A%09%09message.style.top%20%3D%20y%20-%20message.offsetHeight%2F2%20%2B%20'px'%3B%0A%0A%09%09setTimeout(function()%20%7B%0A%09%09%09try%20%7B%0A%09%09%09%09message.parentNode.removeChild(message)%3B%0A%09%09%09%7D%20catch%20(%20e%20)%20%7B%7D%0A%09%09%7D%2C%201000)%3B%0A%09%7D)%3B%0A%0A%09var%20eventResize%20%3D%20function()%20%7B%0A%09%09if%20(%20!%20isIE%20)%20%7B%0A%09%09%09that.canvas.style.display%20%3D%20%22none%22%3B%0A%0A%09%09%09w%20%3D%20document.documentElement.clientWidth%3B%0A%09%09%09h%20%3D%20document.documentElement.clientHeight%3B%0A%0A%09%09%09that.canvas.setAttribute('width'%2C%20w)%3B%0A%09%09%09that.canvas.setAttribute('height'%2C%20h)%3B%0A%0A%09%09%09with%20(%20that.canvas.style%20)%20%7B%0A%09%09%09%09display%20%3D%20%22block%22%3B%0A%09%09%09%09width%20%3D%20w%20%2B%20%22px%22%3B%0A%09%09%09%09height%20%3D%20h%20%2B%20%22px%22%3B%0A%09%09%09%7D%0A%09%09%7D%20else%20%7B%0A%09%09%09w%20%3D%20document.documentElement.clientWidth%3B%0A%09%09%09h%20%3D%20document.documentElement.clientHeight%3B%0A%0A%09%09%09if%20(%20isIEQuirks%20)%20%7B%0A%09%09%09%09w%20%3D%20document.body.clientWidth%3B%0A%09%09%09%09h%20%3D%20document.body.clientHeight%3B%0A%09%09%09%7D%0A%0A%09%09%09that.canvas.setAttribute('width'%2C%20w)%3B%0A%09%09%09that.canvas.setAttribute('height'%2C%20h)%3B%0A%09%09%7D%0A%09%09forceChange%20%3D%20true%3B%0A%09%7D%3B%0A%09addEvent(window%2C%20'resize'%2C%20eventResize)%3B%0A%0A%09this.gameContainer.appendChild(this.canvas)%3B%0A%09this.ctx%20%3D%20this.canvas.getContext(%222d%22)%3B%0A%0A%09this.ctx.fillStyle%20%3D%20%22black%22%3B%0A%09this.ctx.strokeStyle%20%3D%20%22black%22%3B%0A%0A%09%2F%2F%20navigation%20wrapper%20element%0A%09if%20(%20!%20document.getElementById('ASTEROIDS-NAVIGATION')%20)%20%7B%0A%09%09this.navigation%20%3D%20document.createElement('div')%3B%0A%09%09this.navigation.id%20%3D%20%22ASTEROIDS-NAVIGATION%22%3B%0A%09%09this.navigation.className%20%3D%20%22ASTEROIDSYEAH%22%3B%0A%09%09with%20(%20this.navigation.style%20)%20%7B%0A%09%09%09fontFamily%20%3D%20%22Arial%2Csans-serif%22%3B%0A%09%09%09position%20%3D%20%22fixed%22%3B%0A%09%09%09zIndex%20%3D%20%2210001%22%3B%0A%09%09%09bottom%20%3D%20%220px%22%3B%0A%09%09%09right%20%3D%20%2210px%22%3B%0A%09%09%09textAlign%20%3D%20%22left%22%3B%0A%09%09%09background%20%3D%20'%23fff'%3B%0A%09%09%09color%20%3D%20'%23222'%3B%0A%09%09%09padding%20%3D%20'2px'%3B%0A%09%09%09border%20%3D%20'1px%20solid%20%23e1e1e1'%3B%0A%09%09%09boxShadow%20%3D%20'-2px%20-2px%2015px%20%23333'%3B%0A%09%09%09borderRadius%20%3D%20%223px%22%3B%0A%09%09%7D%0A%09%09%2F%2F%20this.gameContainer.appendChild(this.navigation)%3B%0A%0A%09%09%2F%2F%20points%0A%09%09this.points%20%3D%20document.createElement('span')%3B%0A%09%09this.points.id%20%3D%20'ASTEROIDS-POINTS'%3B%0A%09%09with%20(%20this.points.style%20)%20%7B%0A%09%09%09font%20%3D%20'28pt%20Arial%2C%20sans-serif'%3B%0A%09%09%09fontWeight%20%3D%20'bold'%3B%0A%09%09%09position%20%3D%20'relative'%3B%0A%09%09%09left%20%3D%20'20px'%3B%0A%09%09%7D%0A%09%09this.points.className%20%3D%20%22ASTEROIDSYEAH%22%3B%0A%09%09this.navigation.appendChild(this.points)%3B%0A%0A%09%09%2F%2F%20highscore%20link%0A%09%09this.highscoreLink%20%3D%20document.createElement('a')%3B%0A%09%09this.highscoreLink.className%20%3D%20%22ASTEROIDSYEAH%22%3B%0A%09%09var%20css%20%3D%20%7B%0A%09%09%09fontFamily%3A%20'Arial'%2C%0A%09%09%09fontSize%3A%20'15px'%2C%0A%09%09%09fontWeight%3A%20'normal'%2C%0A%09%09%09color%3A%20'%23fff'%2C%0A%09%09%09background%3A%20'%23333'%2C%0A%09%09%09textDecoration%3A%20'none'%2C%0A%09%09%09display%3A%20'inline'%2C%0A%09%09%09padding%3A%20'2px'%2C%0A%09%09%09borderRadius%3A%20'5px'%2C%0A%09%09%09position%3A%20'relative'%2C%0A%09%09%09left%3A%20'30px'%2C%0A%09%09%09top%3A%20'-3px'%0A%09%09%7D%0A%0A%09%09for%20(%20var%20key%20in%20css%20)%20if%20(%20css.hasOwnProperty(key)%20)%0A%09%09%20%20this.highscoreLink.style%5Bkey%5D%20%3D%20css%5Bkey%5D%3B%0A%0A%09%09this.highscoreLink.href%20%3D%20'%23'%3B%0A%09%09this.highscoreLink.innerHTML%20%3D%20%22Submit%20highscore%22%3B%0A%09%09%2F%2F%20this.navigation.appendChild(this.highscoreLink)%3B%0A%0A%0A%09%09%2F%2F%20credits%20for%20kickass%0A%09%09this.credits%20%3D%20document.createElement('div')%3B%0A%09%09this.credits.innerHTML%20%3D%20'%3Cdiv%20style%3D%22padding%3A%2015px%2020px%200%22%3E%3Cspan%20style%3D%22color%3A%20red%3B%20font-size%3A%20150%25%22%3E%E2%99%A5%3C%2Fspan%3E%20this%20asteroids%20game%3F%20%3Cbr%3E%3Cspan%20style%3D%22margin-top%3A%2010px%3B%20font-size%3A%20smaller%3B%20color%3A%20%23666%22%3EIt%5C's%20made%20by%20the%20awesome%20folks%20of%20%3Ca%20target%3D%22_blank%22%20href%3D%22http%3A%2F%2Fkickassapp.com%22%3EKICK%20ASS%3C%2Fa%3E%20App.%20%3Cbr%3ECheckout%20their%20game%20in%20the%20%3Ca%20href%3D%22http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fkick-ass-destroy-the-web%2Fid436623109%3Fmt%3D8%22%20target%3D%22_blank%22%3EApp%20Store%3C%2Fa%3E.%3C%2Fspan%3E%3C%2Fdiv%3E'%3B%0A%09%09this.navigation.appendChild(this.credits)%3B%0A%0A%09%09this.highscoreLink.onclick%20%3D%20function()%20%7B%0A%09%09%09if%20(%20!%20that.highscores%20)%20%7B%0A%09%09%09%09that.highscores%20%3D%20new%20Highscores()%3B%0A%09%09%09%7D%0A%0A%09%09%20%20that.highscores.show()%3B%0A%09%09%09return%20false%3B%0A%09%09%7D%3B%0A%09%7D%20else%20%7B%0A%09%09this.navigation%20%3D%20document.getElementById('ASTEROIDS-NAVIGATION')%3B%0A%09%09this.points%20%3D%20document.getElementById('ASTEROIDS-POINTS')%3B%0A%09%7D%0A%0A%09%2F%2F%20Because%20IE%20quirks%20does%20not%20understand%20position%3A%20fixed%20we%20set%20to%20absolute%20and%20just%20reposition%20it%20everything%20frame%0A%09if%20(%20isIEQuirks%20)%20%7B%0A%09%09this.gameContainer.style.position%20%3D%0A%09%09%09this.canvas.style.position%20%3D%0A%09%09%09this.navigation.style.position%0A%09%09%09%09%3D%20%22absolute%22%3B%0A%09%7D%0A%0A%09setScore()%3B%0A%09%2F%2F%20For%20ie%0A%09if%20(%20typeof%20G_vmlCanvasManager%20!%3D%20'undefined'%20)%20%7B%0A%09%09var%20children%20%3D%20this.canvas.getElementsByTagName('*')%3B%0A%09%09for%20(%20var%20i%20%3D%200%2C%20c%3B%20c%20%3D%20children%5Bi%5D%3B%20i%2B%2B%20)%0A%09%09%09addClass(c%2C%20'ASTEROIDSYEAH')%3B%0A%09%7D%0A%0A%09%2F*%0A%09%09%3D%3D%20Events%20%3D%3D%0A%09*%2F%0A%0A%09var%20eventKeydown%20%3D%20function(event)%20%7B%0A%09%09event%20%3D%20event%20%7C%7C%20window.event%3B%0A%09%09if%20(%20event.ctrlKey%20%7C%7C%20event.shiftKey%20)%0A%09%09%09return%3B%0A%09%09that.keysPressed%5Bevent.keyCode%5D%20%3D%20true%3B%0A%0A%09%09switch%20(%20event.keyCode%20)%20%7B%0A%09%09%09case%20code('%20')%3A%0A%09%09%09%09that.firedAt%20%3D%201%3B%0A%09%09%09break%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20check%20here%20so%20we%20can%20stop%20propagation%20appropriately%0A%09%09if%20(%20indexOf(%5Bcode('up')%2C%20code('down')%2C%20code('right')%2C%20code('left')%2C%20code('%20')%2C%20code('B')%2C%20code('W')%2C%20code('A')%2C%20code('S')%2C%20code('D')%5D%2C%20event.keyCode)%20!%3D%20-1%20)%20%7B%0A%09%09%09if%20(%20event.ctrlKey%20%7C%7C%20event.shiftKey%20)%0A%09%09%09%09return%3B%0A%0A%09%09%09if%20(%20event.preventDefault%20)%0A%09%09%09%09event.preventDefault()%3B%0A%09%09%09if%20(%20event.stopPropagation)%0A%09%09%09%09event.stopPropagation()%3B%0A%09%09%09event.returnValue%20%3D%20false%3B%0A%09%09%09event.cancelBubble%20%3D%20true%3B%0A%09%09%09return%20false%3B%0A%09%09%7D%0A%09%7D%3B%0A%09addEvent(document%2C%20'keydown'%2C%20eventKeydown)%3B%0A%0A%09var%20eventKeypress%20%3D%20function(event)%20%7B%0A%09%09event%20%3D%20event%20%7C%7C%20window.event%3B%0A%09%09if%20(%20indexOf(%5Bcode('up')%2C%20code('down')%2C%20code('right')%2C%20code('left')%2C%20code('%20')%2C%20code('W')%2C%20code('A')%2C%20code('S')%2C%20code('D')%5D%2C%20event.keyCode%20%7C%7C%20event.which)%20!%3D%20-1%20)%20%7B%0A%09%09%09if%20(%20event.ctrlKey%20%7C%7C%20event.shiftKey%20)%0A%09%09%09%09return%3B%0A%0A%09%09%09if%20(%20event.preventDefault%20)%0A%09%09%09%09event.preventDefault()%3B%0A%09%09%09if%20(%20event.stopPropagation%20)%0A%09%09%09%09event.stopPropagation()%3B%0A%09%09%09event.returnValue%20%3D%20false%3B%0A%09%09%09event.cancelBubble%20%3D%20true%3B%0A%09%09%09return%20false%3B%0A%09%09%7D%0A%09%7D%3B%0A%09addEvent(document%2C%20'keypress'%2C%20eventKeypress)%3B%0A%0A%09var%20eventKeyup%20%3D%20function(event)%20%7B%0A%09%09event%20%3D%20event%20%7C%7C%20window.event%3B%0A%09%09that.keysPressed%5Bevent.keyCode%5D%20%3D%20false%3B%0A%0A%09%09if%20(%20indexOf(%5Bcode('up')%2C%20code('down')%2C%20code('right')%2C%20code('left')%2C%20code('%20')%2C%20code('B')%2C%20code('W')%2C%20code('A')%2C%20code('S')%2C%20code('D')%5D%2C%20event.keyCode)%20!%3D%20-1%20)%20%7B%0A%09%09%09if%20(%20event.preventDefault%20)%0A%09%09%09%09event.preventDefault()%3B%0A%09%09%09if%20(%20event.stopPropagation%20)%0A%09%09%09%09event.stopPropagation()%3B%0A%09%09%09event.returnValue%20%3D%20false%3B%0A%09%09%09event.cancelBubble%20%3D%20true%3B%0A%09%09%09return%20false%3B%0A%09%09%7D%0A%09%7D%3B%0A%09addEvent(document%2C%20'keyup'%2C%20eventKeyup)%3B%0A%0A%09%2F*%0A%09%09Context%20operations%0A%09*%2F%0A%0A%09this.ctx.clear%20%3D%20function()%20%7B%0A%09%09this.clearRect(0%2C%200%2C%20w%2C%20h)%3B%0A%09%7D%3B%0A%0A%09this.ctx.clear()%3B%0A%0A%09this.ctx.drawLine%20%3D%20function(xFrom%2C%20yFrom%2C%20xTo%2C%20yTo)%20%7B%0A%09%09this.beginPath()%3B%0A%09%09this.moveTo(xFrom%2C%20yFrom)%3B%0A%09%09this.lineTo(xTo%2C%20yTo)%3B%0A%09%09this.lineTo(xTo%20%2B%201%2C%20yTo%20%2B%201)%3B%0A%09%09this.closePath()%3B%0A%09%09this.fill()%3B%0A%09%7D%3B%0A%0A%09this.ctx.tracePoly%20%3D%20function(verts)%20%7B%0A%09%09this.beginPath()%3B%0A%09%09this.moveTo(verts%5B0%5D%5B0%5D%2C%20verts%5B0%5D%5B1%5D)%3B%0A%09%09for%20(%20var%20i%20%3D%201%3B%20i%20%3C%20verts.length%3B%20i%2B%2B%20)%0A%09%09%09this.lineTo(verts%5Bi%5D%5B0%5D%2C%20verts%5Bi%5D%5B1%5D)%3B%0A%09%09this.closePath()%3B%0A%09%7D%3B%0A%0A%09var%20THEPLAYER%20%3D%20false%3B%0A%09if%20(%20window.KICKASSIMG%20)%20%7B%0A%09%09THEPLAYER%20%3D%20document.createElement('img')%3B%0A%09%09THEPLAYER.src%20%3D%20window.KICKASSIMG%3B%0A%09%7D%0A%0A%09this.ctx.drawPlayer%20%3D%20function()%20%7B%0A%09%09if%20(%20!%20THEPLAYER%20)%20%7B%0A%09%09%09this.save()%3B%0A%09%09%09this.translate(that.pos.x%2C%20that.pos.y)%3B%0A%09%09%09this.rotate(that.dir.angle())%3B%0A%09%09%09this.tracePoly(playerVerts)%3B%0A%09%09%09this.fillStyle%20%3D%20%22white%22%3B%0A%09%09%09this.fill()%3B%0A%09%09%09this.tracePoly(playerVerts)%3B%0A%09%09%09this.stroke()%3B%0A%09%09%09this.restore()%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09this.save()%3B%0A%09%09%09this.translate(that.pos.x%2C%20that.pos.y)%3B%0A%09%09%09this.rotate(that.dir.angle()%2BMath.PI%2F2)%3B%0A%09%09%09this.drawImage(THEPLAYER%2C%20-THEPLAYER.width%2F2%2C%20-THEPLAYER.height%2F2)%3B%0A%09%09%09this.restore()%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09var%20PI_SQ%20%3D%20Math.PI*2%3B%0A%0A%09this.ctx.drawBullets%20%3D%20function(bullets)%20%7B%0A%09%09for%20(%20var%20i%20%3D%200%3B%20i%20%3C%20bullets.length%3B%20i%2B%2B%20)%20%7B%0A%09%09%09this.beginPath()%3B%0A%09%09%09this.arc(bullets%5Bi%5D.pos.x%2C%20bullets%5Bi%5D.pos.y%2C%20bulletRadius%2C%200%2C%20PI_SQ%2C%20true)%3B%0A%09%09%09this.closePath()%3B%0A%09%09%09this.fill()%3B%0A%09%09%7D%0A%09%7D%3B%0A%0A%09var%20randomParticleColor%20%3D%20function()%20%7B%0A%09%09return%20(%5B'red'%2C%20'yellow'%5D)%5Brandom(0%2C%201)%5D%3B%0A%09%7D%3B%0A%0A%09this.ctx.drawParticles%20%3D%20function(particles)%20%7B%0A%09%09var%20oldColor%20%3D%20this.fillStyle%3B%0A%0A%09%09for%20(%20var%20i%20%3D%200%3B%20i%20%3C%20particles.length%3B%20i%2B%2B%20)%20%7B%0A%09%09%09this.fillStyle%20%3D%20randomParticleColor()%3B%0A%09%09%09this.drawLine(particles%5Bi%5D.pos.x%2C%20particles%5Bi%5D.pos.y%2C%20particles%5Bi%5D.pos.x%20-%20particles%5Bi%5D.dir.x%20*%2010%2C%20particles%5Bi%5D.pos.y%20-%20particles%5Bi%5D.dir.y%20*%2010)%3B%0A%09%09%7D%0A%0A%09%09this.fillStyle%20%3D%20oldColor%3B%0A%09%7D%3B%0A%0A%09this.ctx.drawFlames%20%3D%20function(flame)%20%7B%0A%09%09if%20(%20THEPLAYER%20)%20return%3B%0A%0A%09%09this.save()%3B%0A%0A%09%09this.translate(that.pos.x%2C%20that.pos.y)%3B%0A%09%09this.rotate(that.dir.angle())%3B%0A%0A%09%09var%20oldColor%20%3D%20this.strokeStyle%3B%0A%09%09this.strokeStyle%20%3D%20%22red%22%3B%0A%09%09this.tracePoly(flame.r)%3B%0A%09%09this.stroke()%3B%0A%0A%09%09this.strokeStyle%20%3D%20%22yellow%22%3B%0A%09%09this.tracePoly(flame.y)%3B%0A%09%09this.stroke()%3B%0A%0A%09%09this.strokeStyle%20%3D%20oldColor%3B%0A%09%09this.restore()%3B%0A%09%7D%3B%0A%0A%09%2F*%0A%09%09Game%20loop%0A%09*%2F%0A%0A%09%2F%2F%20Attempt%20to%20focus%20window%20if%20possible%2C%20so%20keyboard%20events%20are%20posted%20to%20us%0A%09try%20%7B%0A%09%09window.focus()%3B%0A%09%7D%20catch%20(%20e%20)%20%7B%7D%0A%0A%09addParticles(this.pos)%3B%0A%09addClass(document.body%2C%20'ASTEROIDSYEAH')%3B%0A%0A%09var%20isRunning%20%3D%20true%3B%0A%09var%20lastUpdate%20%3D%20new%20Date().getTime()%3B%0A%09var%20forceChange%20%3D%20false%3B%0A%0A%09this.update%20%3D%20function()%20%7B%0A%09%09%2F%2F%20%3D%3D%0A%09%09%2F%2F%20logic%0A%09%09%2F%2F%20%3D%3D%0A%09%09var%20nowTime%20%3D%20new%20Date().getTime()%3B%0A%09%09var%20tDelta%20%3D%20(nowTime%20-%20lastUpdate)%20%2F%201000%3B%0A%09%09lastUpdate%20%3D%20nowTime%3B%0A%0A%09%09%2F%2F%20update%20flame%20and%20timer%20if%20needed%0A%09%09var%20drawFlame%20%3D%20false%3B%0A%09%09if%20(%20nowTime%20-%20this.updated.flame%20%3E%2050%20)%20%7B%0A%09%09%09createFlames()%3B%0A%09%09%09this.updated.flame%20%3D%20nowTime%3B%0A%09%09%7D%0A%0A%09%09this.scrollPos.x%20%3D%20window.pageXOffset%20%7C%7C%20document.documentElement.scrollLeft%3B%0A%09%09this.scrollPos.y%20%3D%20window.pageYOffset%20%7C%7C%20document.documentElement.scrollTop%3B%0A%0A%09%09%2F%2F%20update%20player%0A%09%09%2F%2F%20move%20forward%0A%09%09if%20(%20(this.keysPressed%5Bcode('up')%5D)%20%7C%7C%20(this.keysPressed%5Bcode('W')%5D)%20)%20%7B%0A%09%09%09this.vel.add(this.dir.mulNew(acc%20*%20tDelta))%3B%0A%0A%09%09%09drawFlame%20%3D%20true%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09%2F%2F%20decrease%20speed%20of%20player%0A%09%09%09this.vel.mul(0.96)%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20rotate%20counter-clockwise%0A%09%09if%20(%20(this.keysPressed%5Bcode('left')%5D)%20%7C%7C%20(this.keysPressed%5Bcode('A')%5D)%20)%20%7B%0A%09%09%09forceChange%20%3D%20true%3B%0A%09%09%09this.dir.rotate(radians(rotSpeed%20*%20tDelta%20*%20-1))%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20rotate%20clockwise%0A%09%09if%20(%20(this.keysPressed%5Bcode('right')%5D)%20%7C%7C%20(this.keysPressed%5Bcode('D')%5D)%20)%20%7B%0A%09%09%09forceChange%20%3D%20true%3B%0A%09%09%09this.dir.rotate(radians(rotSpeed%20*%20tDelta))%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20fire%0A%09%09if%20(%20this.keysPressed%5Bcode('%20')%5D%20%26%26%20nowTime%20-%20this.firedAt%20%3E%20timeBetweenFire%20)%20%7B%0A%09%09%09this.bullets.unshift(%7B%0A%09%09%09%09'dir'%3A%20this.dir.cp()%2C%0A%09%09%09%09'pos'%3A%20this.pos.cp()%2C%0A%09%09%09%09'startVel'%3A%20this.vel.cp()%2C%0A%09%09%09%09'cameAlive'%3A%20nowTime%0A%09%09%09%7D)%3B%0A%0A%09%09%09this.firedAt%20%3D%20nowTime%3B%0A%0A%09%09%09if%20(%20this.bullets.length%20%3E%20maxBullets%20)%20%7B%0A%09%09%09%09this.bullets.pop()%3B%0A%09%09%09%7D%0A%09%09%7D%0A%0A%09%09%2F%2F%20add%20blink%0A%09%09if%20(%20this.keysPressed%5Bcode('B')%5D%20)%20%7B%0A%09%09%09if%20(%20!%20this.updated.enemies%20)%20%7B%0A%09%09%09%09updateEnemyIndex()%3B%0A%09%09%09%09this.updated.enemies%20%3D%20true%3B%0A%09%09%09%7D%0A%0A%09%09%09forceChange%20%3D%20true%3B%0A%0A%09%09%09this.updated.blink.time%20%2B%3D%20tDelta%20*%201000%3B%0A%09%09%09if%20(%20this.updated.blink.time%20%3E%20timeBetweenBlink%20)%20%7B%0A%09%09%09%09this.toggleBlinkStyle()%3B%0A%09%09%09%09this.updated.blink.time%20%3D%200%3B%0A%09%09%09%7D%0A%09%09%7D%20else%20%7B%0A%09%09%09this.updated.enemies%20%3D%20false%3B%0A%09%09%7D%0A%0A%09%09if%20(%20this.keysPressed%5Bcode('esc')%5D%20)%20%7B%0A%09%09%09destroy.apply(this)%3B%0A%09%09%09return%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20cap%20speed%0A%09%09if%20(%20this.vel.len()%20%3E%20maxSpeed%20)%20%7B%0A%09%09%09this.vel.setLength(maxSpeed)%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20add%20velocity%20to%20player%20(physics)%0A%09%09this.pos.add(this.vel.mulNew(tDelta))%3B%0A%0A%09%09%2F%2F%20check%20bounds%20X%20of%20player%2C%20if%20we%20go%20outside%20we%20scroll%20accordingly%0A%09%09if%20(%20this.pos.x%20%3E%20w%20)%20%7B%0A%09%09%09window.scrollTo(this.scrollPos.x%20%2B%2050%2C%20this.scrollPos.y)%3B%0A%09%09%09this.pos.x%20%3D%200%3B%0A%09%09%7D%20else%20if%20(%20this.pos.x%20%3C%200%20)%20%7B%0A%09%09%09window.scrollTo(this.scrollPos.x%20-%2050%2C%20this.scrollPos.y)%3B%0A%09%09%09this.pos.x%20%3D%20w%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20check%20bounds%20Y%0A%09%09if%20(%20this.pos.y%20%3E%20h%20)%20%7B%0A%09%09%09window.scrollTo(this.scrollPos.x%2C%20this.scrollPos.y%20%2B%20h%20*%200.75)%3B%0A%09%09%09this.pos.y%20%3D%200%3B%0A%09%09%7D%20else%20if%20(%20this.pos.y%20%3C%200%20)%20%7B%0A%09%09%09window.scrollTo(this.scrollPos.x%2C%20this.scrollPos.y%20-%20h%20*%200.75)%3B%0A%09%09%09this.pos.y%20%3D%20h%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20update%20positions%20of%20bullets%0A%09%09for%20(%20var%20i%20%3D%20this.bullets.length%20-%201%3B%20i%20%3E%3D%200%3B%20i--%20)%20%7B%0A%09%09%09%2F%2F%20bullets%20should%20only%20live%20for%202%20seconds%0A%09%09%09if%20(%20nowTime%20-%20this.bullets%5Bi%5D.cameAlive%20%3E%202000%20)%20%7B%0A%09%09%09%09this.bullets.splice(i%2C%201)%3B%0A%09%09%09%09forceChange%20%3D%20true%3B%0A%09%09%09%09continue%3B%0A%09%09%09%7D%0A%0A%09%09%09var%20bulletVel%20%3D%20this.bullets%5Bi%5D.dir.setLengthNew(bulletSpeed%20*%20tDelta).add(this.bullets%5Bi%5D.startVel.mulNew(tDelta))%3B%0A%0A%09%09%09this.bullets%5Bi%5D.pos.add(bulletVel)%3B%0A%09%09%09boundsCheck(this.bullets%5Bi%5D.pos)%3B%0A%0A%09%09%09%2F%2F%20check%20collisions%0A%09%09%09var%20murdered%20%3D%20getElementFromPoint(this.bullets%5Bi%5D.pos.x%2C%20this.bullets%5Bi%5D.pos.y)%3B%0A%09%09%09if%20(%0A%09%09%09%09murdered%20%26%26%20murdered.tagName%20%26%26%0A%09%09%09%09indexOf(ignoredTypes%2C%20murdered.tagName.toUpperCase())%20%3D%3D%20-1%20%26%26%0A%09%09%09%09hasOnlyTextualChildren(murdered)%20%26%26%20murdered.className%20!%3D%20%22ASTEROIDSYEAH%22%0A%09%09%09)%20%7B%0A%09%09%09%09didKill%20%3D%20true%3B%0A%09%09%09%09addParticles(this.bullets%5Bi%5D.pos)%3B%0A%09%09%09%09this.dying.push(murdered)%3B%0A%0A%09%09%09%09this.bullets.splice(i%2C%201)%3B%0A%09%09%09%09continue%3B%0A%09%09%09%7D%0A%09%09%7D%0A%0A%09%09if%20(this.dying.length)%20%7B%0A%09%09%09for%20(%20var%20i%20%3D%20this.dying.length%20-%201%3B%20i%20%3E%3D%200%3B%20i--%20)%20%7B%0A%09%09%09%09try%20%7B%0A%09%09%09%09%09%2F%2F%20If%20we%20have%20multiple%20spaceships%20it%20might%20have%20already%20been%20removed%0A%09%09%09%09%09if%20(%20this.dying%5Bi%5D.parentNode%20)%0A%09%09%09%09%09%09window.ASTEROIDS.enemiesKilled%2B%2B%3B%0A%0A%09%09%09%09%09this.dying%5Bi%5D.parentNode.removeChild(this.dying%5Bi%5D)%3B%0A%09%09%09%09%7D%20catch%20(%20e%20)%20%7B%7D%0A%09%09%09%7D%0A%0A%09%09%09setScore()%3B%0A%09%09%09this.dying%20%3D%20%5B%5D%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20update%20particles%20position%0A%09%09for%20(%20var%20i%20%3D%20this.particles.length%20-%201%3B%20i%20%3E%3D%200%3B%20i--%20)%20%7B%0A%09%09%09this.particles%5Bi%5D.pos.add(this.particles%5Bi%5D.dir.mulNew(particleSpeed%20*%20tDelta%20*%20Math.random()))%3B%0A%0A%09%09%09if%20(%20nowTime%20-%20this.particles%5Bi%5D.cameAlive%20%3E%201000%20)%20%7B%0A%09%09%09%09this.particles.splice(i%2C%201)%3B%0A%09%09%09%09forceChange%20%3D%20true%3B%0A%09%09%09%09continue%3B%0A%09%09%09%7D%0A%09%09%7D%0A%0A%09%09%2F%2F%20%3D%3D%0A%09%09%2F%2F%20drawing%0A%09%09%2F%2F%20%3D%3D%0A%0A%09%09%2F%2F%20Reposition%20the%20canvas%20area%20for%20IE%20quirks%20because%20it%20does%20not%20understand%20position%3A%20fixed%0A%09%09if%20(%20isIEQuirks%20)%20%7B%0A%09%09%09this.gameContainer.style.left%20%3D%0A%09%09%09%09this.canvas.style.left%20%3D%20document.documentElement.scrollLeft%20%2B%20%22px%22%3B%0A%09%09%09this.gameContainer.style.top%20%3D%0A%09%09%09%09this.canvas.style.top%20%3D%20document.documentElement.scrollTop%20%2B%20%22px%22%3B%0A%0A%09%09%09this.navigation.style.right%20%3D%20%2210px%22%3B%0A%09%09%09this.navigation.style.top%0A%09%09%09%09%3D%20document.documentElement.scrollTop%20%2B%20document.body.clientHeight%20-%20this.navigation.clientHeight%20-%2010%20%2B%20%22px%22%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20clear%0A%09%09if%20(%20forceChange%20%7C%7C%20this.bullets.length%20!%3D%200%20%7C%7C%20this.particles.length%20!%3D%200%20%7C%7C%20!%20this.pos.is(this.lastPos)%20%7C%7C%20this.vel.len()%20%3E%200%20)%20%7B%0A%09%09%09this.ctx.clear()%3B%0A%0A%09%09%09%2F%2F%20draw%20player%0A%09%09%09this.ctx.drawPlayer()%3B%0A%0A%09%09%09%2F%2F%20draw%20flames%0A%09%09%09if%20(%20drawFlame%20)%0A%09%09%09%09this.ctx.drawFlames(that.flame)%3B%0A%0A%09%09%09%2F%2F%20draw%20bullets%0A%09%09%09if%20(this.bullets.length)%20%7B%0A%09%09%09%09this.ctx.drawBullets(this.bullets)%3B%0A%09%09%09%7D%0A%0A%09%09%09%2F%2F%20draw%20particles%0A%09%09%09if%20(this.particles.length)%20%7B%0A%09%09%09%09this.ctx.drawParticles(this.particles)%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%09this.lastPos%20%3D%20this.pos%3B%0A%09%09forceChange%20%3D%20false%3B%0A%09%7D%3B%0A%0A%09%2F%2F%20Start%20timer%0A%09var%20updateFunc%20%3D%20function()%20%7B%0A%09%09%2F%2Ftry%20%7B%0A%09%09%09that.update.call(that)%3B%0A%09%09%2F*%7D%0A%09%09catch%20(e)%20%7B%0A%09%09%09clearInterval(interval)%3B%0A%09%09%09throw%20e%3B%0A%09%09%7D*%2F%0A%09%7D%3B%0A%09var%20interval%20%3D%20setInterval(updateFunc%2C%201000%20%2F%20FPS)%3B%0A%0A%09function%20destroy()%20%7B%0A%09%09clearInterval(interval)%3B%0A%09%09removeEvent(document%2C%20'keydown'%2C%20eventKeydown)%3B%0A%09%09removeEvent(document%2C%20'keypress'%2C%20eventKeypress)%3B%0A%09%09removeEvent(document%2C%20'keyup'%2C%20eventKeyup)%3B%0A%09%09removeEvent(window%2C%20'resize'%2C%20eventResize)%3B%0A%09%09isRunning%20%3D%20false%3B%0A%09%09removeStylesheet(%22ASTEROIDSYEAHSTYLES%22)%3B%0A%09%09removeClass(document.body%2C%20'ASTEROIDSYEAH')%3B%0A%09%09if%20(%20this.highscores%20)%0A%09%09%09this.highscores.hide()%3B%0A%09%09this.gameContainer.parentNode.removeChild(this.gameContainer)%3B%0A%09%7D%3B%0A%7D%0A%0Aif%20(%20!%20window.ASTEROIDSPLAYERS%20)%0A%09window.ASTEROIDSPLAYERS%20%3D%20%5B%5D%3B%0A%0Aif%20(%20window.ActiveXObject%20%26%26%20!%20document.createElement('canvas').getContext%20)%20%7B%0A%09try%20%7B%0A%09%09var%20xamlScript%20%3D%20document.createElement('script')%3B%0A%09%09xamlScript.setAttribute('type'%2C%20'text%2Fxaml')%3B%0A%09%09xamlScript.textContent%20%3D%20'%3C%3Fxml%20version%3D%221.0%22%3F%3E%3CCanvas%20xmlns%3D%22http%3A%2F%2Fschemas.microsoft.com%2Fclient%2F2007%22%3E%3C%2FCanvas%3E'%3B%0A%09%09document.getElementsByTagName('head')%5B0%5D.appendChild(xamlScript)%3B%0A%09%7D%20catch%20(%20e%20)%20%7B%7D%0A%0A%09var%20script%20%3D%20document.createElement(%22script%22)%3B%0A%09script.setAttribute('type'%2C%20'text%2Fjavascript')%3B%0A%09script.onreadystatechange%20%3D%20function()%20%7B%0A%09%09if%20(%20script.readyState%20%3D%3D%20'loaded'%20%7C%7C%20script.readyState%20%3D%3D%20'complete'%20)%20%7B%0A%09%09%09if%20(%20typeof%20G_vmlCanvasManager%20!%3D%20%22undefined%22%20)%0A%09%09%09%09window.ASTEROIDSPLAYERS%5Bwindow.ASTEROIDSPLAYERS.length%5D%20%3D%20new%20Asteroids()%3B%0A%09%09%7D%0A%09%7D%3B%0A%09script.src%20%3D%20%22http%3A%2F%2Ferkie.github.com%2Fexcanvas.js%22%3B%0A%09document.getElementsByTagName('head')%5B0%5D.appendChild(script)%3B%0A%7D%0Aelse%20window.ASTEROIDSPLAYERS%5Bwindow.ASTEROIDSPLAYERS.length%5D%20%3D%20new%20Asteroids()%3B%0A%0Avar%20trackingFrame%20%3D%20document.createElement('iframe')%3B%0AtrackingFrame.src%20%3D%20'http%3A%2F%2Ferkie.github.com%2Ftracking.html'%3B%0AtrackingFrame.frameborder%20%3D%20'0'%3B%0AtrackingFrame.style.position%20%3D%20'absolute'%3B%0AtrackingFrame.style.top%20%3D%20%22-1000px%22%3B%0AtrackingFrame.style.height%20%3D%20%220px%22%3B%0AtrackingFrame.style.width%20%3D%20%220px%22%3B%0A%0Adocument.getElementsByTagName('body')%5B0%5D.appendChild(trackingFrame)%3B%0A%0A%7D)()%3B%7D)()%3B">ASTEROIDS</a>
<p>The best Bookmarklet of ALL TIME. combine this with spin.js for the best combo!</p>
<a href="javascript:(function()%7B%2F%2FPinball%20game%0A%0Ajavascript%3A(function()%7Bvar%20js%3Ddocument.body.appendChild(document.createElement(%22script%22))%3Bjs.onerror%3Dfunction()%7Balert(%22Sorry%2C%20the%20script%20could%20not%20be%20loaded.%22)%7D%3Bjs.src%3D%22https%3A%2F%2Frawgit.com%2FKrazete%2Fbookmarklets%2Fmaster%2Flupire.js%22%7D)()%3B%7D)()%3B">pinball</a>
<p>click were you think the ball is going to go</p>
<a href="javascript:var s=document.createElement('script');s.type='text/javascript';s.src='https://sheeptester.github.io/javascripts/twirlie.js';document.body.appendChild(s);void(0);" class="bookmarklet">spin.js</a>
<p>makes elements on websites spin <br>just dont click on the background...</p>
<a href="javascript:%22use%20strict%22;void%20function(e){var%20t=20150216,n=%22https://chriszarate.github.io%22,o=%22https://chriszarate.github.io/supergenpass/mobile/%22,i=1e5,a=2,s=%22SGP%20may%20be%20blocked%20on%20this%20site%20by%20a%20security%20setting.%22,r=%22Would%20you%20like%20to%20open%20the%20mobile%20version%3F%22,c='You%20may%20wish%20to%20%3Ca%20href=%22'+o+'%22%20target=%22_blank%22%3Eopen%20the%20mobile%20version%3C/a%3E.',d=function(){var%20e=confirm(s+%22%20%22+r);e%26%26window.open(o)},p=function(e){var%20r=e(document),p=r,u=!1,f=0,l=function(){try{var%20e=%22_%22+(new%20Date).getTime(),t=this.contentWindow;if(t[e]=e,t[e]===e)return%20p.add(t.document),!0}catch(n){return!1}},h=function(){try{var%20t=e(this).height()*e(this).width();t%3Ef%26%26t%3Ei%26%26(r=e(this.contentWindow.document),f=t)}catch(n){}},g=function(){D.remove()},m=function(){D.html(s+%22%20%22+c)},v=function(){try{this.contentWindow.postMessage('{%22version%22:'+t+%22}%22,n)}catch(e){m()}},b=function(e){var%20t=e.originalEvent;t.origin===n%26%26%22undefined%22!=typeof%20t.data%26%26(g(),clearTimeout(M),y(JSON.parse(t.data)))},y=function(t){e.each(t,function(e,t){switch(e){case%22result%22:x(t);break;case%22height%22:w(Math.max(parseInt(t,10),167)+2)}})},x=function(t){e(%22input:password:visible%22,p).css(%22background%22,%22%239f9%22).val(t).trigger(%22change%20click%22).on(%22input%22,k).focus()},w=function(e){G.css(%22height%22,e)},k=function(){e(this).css(%22background%22,%22%23fff%22)},j=function(){L.remove()},z=%22font-family:sans-serif;font-size:18px;line-height:20px;%22,E=%22z-index:99999;position:absolute;top:0;right:5px;width:258px;margin:0;padding:0;box-sizing:content-box;%22+z,T=%22overflow:hidden;width:258px;height:20px;margin:0;padding:0;text-align:right;background-color:%23356;cursor:move;box-sizing:content-box;%22+z,S=%22padding:0%205px;color:%23fff;cursor:pointer;%22+z,W=%22position:absolute;width:258px;height:190px;padding:15px;color:%23333;background-color:%23fff;font-family:monospace;font-size:15px;text-align:center;%22,q=%22position:static;width:258px;height:190px;border:none;overflow:hidden;pointer-events:auto;%22,L=e(%22%3Cdiv/%3E%22,{style:E}),Y=e(%22%3Cdiv/%3E%22,{style:T}),C=e(%22%3Cspan/%3E%22,{style:S}).append(%22×%22),D=e(%22%3Cdiv/%3E%22,{style:W}).append(%22Loading%20SGP%20...%22),G=e(%22%3Ciframe/%3E%22,{src:o,scrolling:%22no%22,style:q});e(%22frame%22).filter(l).each(h),e(%22iframe%22,r).filter(l).each(h),r||d();var%20M=setTimeout(m,1e3*a);C.on(%22click%22,j),Y.on(%22dblclick%22,j),L.css(%22top%22,r.scrollTop()+%22px%22),e(document.activeElement).blur(),G.on(%22load%22,v),e(window).on(%22message%22,b),Y.append(C),L.append(Y,D,G).appendTo(e(%22body%22,r)),Y.on({mousedown:function(e){var%20t=L.offset();u=[e.pageX-t.left,e.pageY-t.top],G.css(%22pointer-events%22,%22none%22),e.preventDefault()},mouseup:function(){u=!1,G.css(%22pointer-events%22,%22auto%22)}}),r.on(%22mousemove%22,function(e){u%26%26L.css({left:e.pageX-u[0],top:e.pageY-u[1]})})};if(e%26%26e.fn%26%26parseFloat(e.fn.jquery)%3E=1.7)p(e);else{var%20u=document.createElement(%22script%22);u.src=%22//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js%22,u.onload=u.onreadystatechange=function(){var%20e=this.readyState;e%26%26%22loaded%22!==e%26%26%22complete%22!==e||p(jQuery.noConflict())},u.addEventListener(%22error%22,d),u.addEventListener(%22abort%22,d),document.getElementsByTagName(%22head%22)[0].appendChild(u)}}(window.jQuery);">password generator</a>
<p>just a password generator</p>
<a href="javascript:for ( i=0; i<document.styleSheets.length; i++) {void(document.styleSheets.item(i).disabled=true);}">disable css</a>
<p>turns off the style sheet for a website</p>