Last active
February 27, 2020 04:41
-
-
Save dfltr/dd07e4177d0d5a8e0f79ad2e5e8f9a97 to your computer and use it in GitHub Desktop.
Snekbot - A solver for the Discord 404 page game fashioned from pure spaghetti
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var d = document, | |
qs = s => d.querySelector(s), | |
r = (s, n) => s.repeat(n), | |
c = qs('[class*=gameWrap]'), | |
cE = c => { | |
var e = d.createEvent('Event'); | |
e.initEvent('keydown', true, true); | |
e.keyCode = c; | |
return e; | |
}, | |
dE = e => c.dispatchEvent(e), | |
mE = { | |
u: cE(38), | |
d: cE(40), | |
l: cE(37), | |
r: cE(39), | |
e: cE(13), | |
}, | |
s = () => { | |
var i = 0, | |
z = 0, | |
t = 'u5 l9 u1 ' + r('r20 d1 l20 d1 ',5) + 'r20 d2 ' + r('l1 u1 l1 d1 ',10) + 'l1 u12 r1', | |
m = ''; | |
t.split(' ').forEach(j => { | |
var p = /([a-z]{1})([0-9]+)/.exec(j); | |
m += r(p[1],p[2]); | |
}); | |
m = Array.from(m); | |
return setInterval(() => { | |
i = i >= m.length ? 0 : i; | |
dE(mE[m[i]]); | |
i++; | |
if (!z && i > 14) { | |
m.splice(0, 15); | |
i = 0; | |
z = 1; | |
} | |
}, 10); | |
}, | |
v = s(), | |
g = setInterval(() => { | |
if (qs('[class*=winner]')) { | |
clearInterval(v); | |
dE(mE.e); | |
v = s(); | |
} | |
}, 1000); | |
/* | |
I Don't Dare Quit Dancing | |
var d=document,qs=function(a){return d.querySelector(a)},r=function(a,b){return a.repeat(b)},c=qs("[class*=gameWrap]"),cE=function(a){var b=d.createEvent("Event");b.initEvent("keydown",!0,!0);b.keyCode=a;return b},dE=function(a){return c.dispatchEvent(a)},mE={u:cE(38),d:cE(40),l:cE(37),r:cE(39),e:cE(13)},s=function(){var a=0,b=0,e="";("u5 l9 u1 "+r("r20 d1 l20 d1 ",5)+"r20 d2 "+r("l1 u1 l1 d1 ",10)+"l1 u12 r1").split(" ").forEach(function(a){a=/([a-z]{1})([0-9]+)/.exec(a);e+=r(a[1],a[2])});e=Array.from(e); return setInterval(function(){a=a>=e.length?0:a;dE(mE[e[a]]);a++;!b&&14<a&&(e.splice(0,15),a=0,b=1)},10)},v=s(),g=setInterval(function(){qs("[class*=winner]")&&(clearInterval(v),dE(mE.e),v=s())},1E3); | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Previous versions of the instruction set: