nyancat-telnet
Version:
Nyancat rendered with various bits of ANSI
35 lines (24 loc) • 875 B
JavaScript
// Generated by CoffeeScript 1.3.3
var char, chars, draw, expr, exps, frIdx, frame, frames, key, lIdx, line, replacement, source, _i, _j, _len, _len1;
source = require('../assets/frames');
chars = require('../assets/characters');
draw = chars.draw;
replacement = [];
for (key in draw) {
char = draw[key];
replacement.push("\\" + key + "+");
}
expr = new RegExp("(" + (replacement.join('|')) + ")", ['g']);
frames = [];
exps = {};
for (frIdx = _i = 0, _len = source.length; _i < _len; frIdx = ++_i) {
frame = source[frIdx];
for (lIdx = _j = 0, _len1 = frame.length; _j < _len1; lIdx = ++_j) {
line = frame[lIdx];
frame[lIdx] = line.replace(expr, function(matched) {
return draw[matched[0]] + (new Array(matched.length + 1).join(chars.point)) + chars.end;
});
}
source[frIdx] = frame.join('\r\n');
}
console.log(JSON.stringify(source));