Skip to content

Instantly share code, notes, and snippets.

@chrislaughlin
Created June 6, 2017 20:30
Show Gist options
  • Save chrislaughlin/9171b0e6d6b74b9e7062aa2e339a8552 to your computer and use it in GitHub Desktop.
Save chrislaughlin/9171b0e6d6b74b9e7062aa2e339a8552 to your computer and use it in GitHub Desktop.
Nyan Cat Console
//define colors
var c = {
db: "#036", //darkblue
bk: "#000", //black
rd: "#F00", //red
tn: "#FC9", //tan
lp: "#F9F", //lightpink
dp: "#F39", //darkpink
og: "#F90", //orange
gr: "#999", //gray
yl: "#FF0", //yellow
gn: "#3F0", //green
lb: "#09F", //lightblue
sl: "#F99", //salmon
pl: "#63F", //purple
wt: "#FFF" //white
};
var frames = [[
[[33,c.db]],
[[8,c.db],[17,c.bk],[8,c.db]],
[[7,c.rd],[1,c.bk],[17,c.tn],[1,c.bk],[7,c.db]],
[[6,c.rd],[1,c.bk],[3,c.tn],[13,c.lp],[3,c.tn],[1,c.bk],[6,c.db]],
[[6,c.rd],[1,c.bk],[2,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.dp],[5,c.lp],[2,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[2,c.lp],[1,c.dp],[14,c.lp],[1,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[10,c.lp],[2,c.bk],[2,c.lp],[1,c.dp],[2,c.lp],[1,c.tn],[1,c.bk],[1,c.db],[2,c.bk],[3,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[2,c.gr],[1,c.bk],[4,c.lp],[1,c.tn],[2,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[4,c.bk],[2,c.yl],[1,c.bk],[1,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[3,c.gr],[1,c.bk],[3,c.lp],[1,c.tn],[1,c.bk],[3,c.gr],[1,c.bk],[2,c.db]],
[[1,c.bk],[2,c.gr],[2,c.bk],[1,c.yl],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[4,c.gr],[4,c.bk],[4,c.gr],[1,c.bk],[2,c.db]],
[[2,c.bk],[2,c.gr],[3,c.bk],[1,c.tn],[3,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[12,c.gr],[1,c.bk],[2,c.db]],
[[1,c.gn],[2,c.bk],[2,c.gr],[2,c.bk],[1,c.tn],[7,c.lp],[1,c.dp],[1,c.bk],[14,c.gr],[1,c.bk],[1,c.db]],
[[2,c.gn],[2,c.bk],[2,c.gr],[1,c.bk],[1,c.tn],[1,c.lp],[1,c.dp],[6,c.lp],[1,c.bk],[3,c.gr],[1,c.wt],[1,c.bk],[5,c.gr],[1,c.wt],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[3,c.gn],[4,c.bk],[1,c.tn],[8,c.lp],[1,c.bk],[3,c.gr],[2,c.bk],[3,c.gr],[1,c.bk],[1,c.gr],[2,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[5,c.lb],[2,c.bk],[1,c.tn],[5,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[9,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[6,c.lb],[1,c.bk],[2,c.tn],[1,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[6,c.lb],[1,c.bk],[3,c.tn],[7,c.lp],[1,c.bk],[3,c.gr],[7,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[5,c.pl],[3,c.bk],[10,c.tn],[1,c.bk],[10,c.gr],[1,c.bk],[3,c.db]],
[[4,c.pl],[1,c.bk],[3,c.gr],[21,c.bk],[4,c.db]],
[[4,c.pl],[1,c.bk],[2,c.gr],[2,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db]],
[[4,c.db],[4,c.bk],[2,c.db],[3,c.bk],[7,c.db],[3,c.bk],[2,c.db],[2,c.bk],[6,c.db]],
[[33,c.db]]
],[
[[33,c.db]],
[[8,c.db],[17,c.bk],[8,c.db]],
[[7,c.rd],[1,c.bk],[17,c.tn],[1,c.bk],[7,c.db]],
[[6,c.rd],[1,c.bk],[3,c.tn],[13,c.lp],[3,c.tn],[1,c.bk],[6,c.db]],
[[6,c.rd],[1,c.bk],[2,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.dp],[5,c.lp],[2,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[2,c.lp],[1,c.dp],[14,c.lp],[1,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[10,c.lp],[2,c.bk],[2,c.lp],[1,c.dp],[2,c.lp],[1,c.tn],[1,c.bk],[1,c.db],[2,c.bk],[3,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[2,c.gr],[1,c.bk],[4,c.lp],[1,c.tn],[2,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[3,c.gr],[1,c.bk],[3,c.lp],[1,c.tn],[1,c.bk],[3,c.gr],[1,c.bk],[2,c.db]],
[[1,c.yl],[2,c.bk],[3,c.yl],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[4,c.gr],[4,c.bk],[4,c.gr],[1,c.bk],[2,c.db]],
[[1,c.bk],[2,c.gr],[3,c.bk],[1,c.bk],[1,c.tn],[3,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[12,c.gr],[1,c.bk],[2,c.db]],
[[1,c.gn],[1,c.bk],[4,c.gr],[1,c.bk],[1,c.tn],[7,c.lp],[1,c.dp],[1,c.bk],[14,c.gr],[1,c.bk],[1,c.db]],
[[2,c.gn],[2,c.bk],[2,c.gr],[1,c.bk],[1,c.tn],[1,c.lp],[1,c.dp],[6,c.lp],[1,c.bk],[3,c.gr],[1,c.wt],[1,c.bk],[5,c.gr],[1,c.wt],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[3,c.gn],[4,c.bk],[1,c.tn],[8,c.lp],[1,c.bk],[3,c.gr],[2,c.bk],[3,c.gr],[1,c.bk],[1,c.gr],[2,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[5,c.lb],[2,c.bk],[1,c.tn],[5,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[9,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[6,c.lb],[1,c.bk],[2,c.tn],[1,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[6,c.lb],[1,c.bk],[3,c.tn],[7,c.lp],[1,c.bk],[3,c.gr],[7,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[6,c.pl],[2,c.bk],[10,c.tn],[1,c.bk],[10,c.gr],[1,c.bk],[3,c.db]],
[[5,c.pl],[1,c.bk],[2,c.gr],[21,c.bk],[4,c.db]],
[[5,c.pl],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db]],
[[5,c.db],[3,c.bk],[3,c.db],[3,c.bk],[6,c.db],[3,c.bk],[2,c.db],[3,c.bk],[5,c.db]],
[[33,c.db]]
],[
[[33,c.db]],
[[8,c.db],[17,c.bk],[8,c.db]],
[[7,c.rd],[1,c.bk],[17,c.tn],[1,c.bk],[7,c.db]],
[[6,c.rd],[1,c.bk],[3,c.tn],[13,c.lp],[3,c.tn],[1,c.bk],[6,c.db]],
[[6,c.rd],[1,c.bk],[2,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.dp],[5,c.lp],[2,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[2,c.lp],[1,c.dp],[14,c.lp],[1,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[10,c.lp],[2,c.bk],[2,c.lp],[1,c.dp],[2,c.lp],[1,c.tn],[1,c.bk],[1,c.db],[2,c.bk],[3,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[2,c.gr],[1,c.bk],[4,c.lp],[1,c.tn],[2,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[3,c.gr],[1,c.bk],[3,c.lp],[1,c.tn],[1,c.bk],[3,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[4,c.gr],[4,c.bk],[4,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[3,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[12,c.gr],[1,c.bk],[2,c.db]],
[[5,c.gn],[2,c.bk],[1,c.tn],[7,c.lp],[1,c.dp],[1,c.bk],[14,c.gr],[1,c.bk],[1,c.db]],
[[3,c.gn],[4,c.bk],[1,c.tn],[1,c.lp],[1,c.dp],[6,c.lp],[1,c.bk],[3,c.gr],[1,c.wt],[1,c.bk],[5,c.gr],[1,c.wt],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[1,c.gn],[2,c.bk],[3,c.gr],[1,c.bk],[1,c.tn],[8,c.lp],[1,c.bk],[3,c.gr],[2,c.bk],[3,c.gr],[1,c.bk],[1,c.gr],[2,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[1,c.lb],[1,c.bk],[2,c.gr],[3,c.bk],[1,c.tn],[5,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[9,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[2,c.lb],[3,c.bk],[1,c.lb],[1,c.bk],[2,c.tn],[1,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[6,c.lb],[1,c.bk],[3,c.tn],[7,c.lp],[1,c.bk],[3,c.gr],[7,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[6,c.pl],[2,c.bk],[10,c.tn],[1,c.bk],[10,c.gr],[1,c.bk],[3,c.db]],
[[6,c.pl],[1,c.bk],[1,c.gr],[21,c.bk],[4,c.db]],
[[6,c.pl],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[4,c.db]],
[[6,c.db],[4,c.bk],[2,c.db],[3,c.bk],[6,c.db],[3,c.bk],[2,c.db],[3,c.bk],[4,c.db]],
[[33,c.db]]
],[
[[33,c.db]],
[[8,c.db],[17,c.bk],[8,c.db]],
[[7,c.rd],[1,c.bk],[17,c.tn],[1,c.bk],[7,c.db]],
[[6,c.rd],[1,c.bk],[3,c.tn],[13,c.lp],[3,c.tn],[1,c.bk],[6,c.db]],
[[6,c.rd],[1,c.bk],[2,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.dp],[5,c.lp],[2,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[2,c.lp],[1,c.dp],[14,c.lp],[1,c.tn],[1,c.bk],[6,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[10,c.lp],[2,c.bk],[2,c.lp],[1,c.dp],[2,c.lp],[1,c.tn],[1,c.bk],[1,c.db],[2,c.bk],[3,c.db]],
[[6,c.og],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[2,c.gr],[1,c.bk],[4,c.lp],[1,c.tn],[2,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[6,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[3,c.gr],[1,c.bk],[3,c.lp],[1,c.tn],[1,c.bk],[3,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[9,c.lp],[1,c.bk],[4,c.gr],[4,c.bk],[4,c.gr],[1,c.bk],[2,c.db]],
[[6,c.yl],[1,c.bk],[1,c.tn],[3,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[12,c.gr],[1,c.bk],[2,c.db]],
[[5,c.gn],[2,c.bk],[1,c.tn],[7,c.lp],[1,c.dp],[1,c.bk],[14,c.gr],[1,c.bk],[1,c.db]],
[[3,c.gn],[2,c.bk],[1,c.gr],[1,c.bk],[1,c.tn],[1,c.lp],[1,c.dp],[6,c.lp],[1,c.bk],[3,c.gr],[1,c.wt],[1,c.bk],[5,c.gr],[1,c.wt],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[2,c.gn],[1,c.bk],[3,c.gr],[1,c.bk],[1,c.tn],[8,c.lp],[1,c.bk],[3,c.gr],[2,c.bk],[3,c.gr],[1,c.bk],[1,c.gr],[2,c.bk],[2,c.gr],[1,c.bk],[1,c.db]],
[[1,c.lb],[1,c.bk],[2,c.gr],[3,c.bk],[1,c.tn],[5,c.lp],[1,c.dp],[2,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[9,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[1,c.lb],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.lb],[1,c.bk],[2,c.tn],[1,c.lp],[1,c.dp],[5,c.lp],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.gr],[2,c.sl],[1,c.bk],[1,c.db]],
[[2,c.lb],[2,c.bk],[2,c.lb],[1,c.bk],[3,c.tn],[7,c.lp],[1,c.bk],[3,c.gr],[7,c.bk],[2,c.gr],[1,c.bk],[2,c.db]],
[[6,c.pl],[2,c.bk],[10,c.tn],[1,c.bk],[10,c.gr],[1,c.bk],[3,c.db]],
[[5,c.pl],[1,c.bk],[2,c.gr],[21,c.bk],[4,c.db]],
[[5,c.pl],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[1,c.db],[1,c.bk],[2,c.gr],[1,c.bk],[5,c.db]],
[[5,c.db],[4,c.bk],[2,c.db],[3,c.bk],[6,c.db],[3,c.bk],[2,c.db],[3,c.bk],[5,c.db]],
[[33,c.db]]
]];
var count = 0;
var forward = true;
function render() {
var fr = frames[count];
console.clear();
var rowmsg = "%c", rowmsgs = [];
fr.forEach(function(rw) {
rw.forEach(function(px) {
for(var i = 0; i < px[0]*2; i++) {
rowmsg += "█";
};
rowmsg += "%c";
rowmsgs.push("color: " + px[1] + ";background: " + px[1]);
});
rowmsg += "\n";
});
rowmsgs.unshift(rowmsg);
console.log.apply(console, rowmsgs);
if(forward && count < frames.length - 1) {
count++;
} else if(!forward && count > 0) {
count--;
} else {
if(forward) {
count--;
} else {
count++;
}
forward = !forward;
}
};
render();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment