create words with blocks

coffeescript-integration
walterhiggins 10 years ago
parent 42b1ac2b74
commit 4ce41e0bb8

@ -0,0 +1,320 @@
load(__folder + "drone.js");
(function(){
var bitmap = {
'0':' ### '+
' # # '+
' # # '+
' # # '+
' ### ',
'1':' # '+
' ## '+
' # '+
' # '+
' ### ',
'2':' ### '+
' # '+
' ### '+
' # '+
' ### ',
'3':' ### '+
' # '+
' ## '+
' # '+
' ### ',
'4':' # '+
' ## '+
' # # '+
' ### '+
' # ',
'5':' ### '+
' # '+
' ### '+
' # '+
' ### ',
'6':' ### '+
' # '+
' ### '+
' # # '+
' ### ',
'7':' ### '+
' # '+
' # '+
' # '+
' # ',
'8':' ### '+
' # # '+
' ### '+
' # # '+
' ### ',
'9':' ### '+
' # # '+
' ### '+
' # '+
' ### ',
'a':' ### '+
' # # '+
' ### '+
' # # '+
' # # ',
'b':' ## '+
' # # '+
' ## '+
' # # '+
' ## ',
'c':' ## '+
' # '+
' # '+
' # '+
' ## ',
'd':' ## '+
' # # '+
' # # '+
' # # '+
' ## ',
'e':' ### '+
' # '+
' ## '+
' # '+
' ### ',
'f':' ### '+
' # '+
' ## '+
' # '+
' # ',
'g':' ### '+
' # '+
' # '+
' # # '+
' ### ',
'h':' # # '+
' # # '+
' ### '+
' # # '+
' # # ',
'i':' ### '+
' # '+
' # '+
' # '+
' ### ',
'j':' ### '+
' # '+
' # '+
' # '+
' # ',
'k':' # '+
' # # '+
' ## '+
' # # '+
' # # ',
'l':' # '+
' # '+
' # '+
' # '+
' ### ',
'm':' # # '+
' ### '+
' # # '+
' # # '+
' # # ',
'n':' ## '+
' # # '+
' # # '+
' # # '+
' # # ',
'o':' # '+
' # # '+
' # # '+
' # # '+
' # ',
'p':' ### '+
' # # '+
' ### '+
' # '+
' # ',
'q':' ### '+
' # # '+
' # # '+
' ### '+
' # ',
'r':' ## '+
' # # '+
' ## '+
' # # '+
' # # ',
's':' ## '+
' # '+
' ### '+
' # '+
' ## ',
't':' ### '+
' # '+
' # '+
' # '+
' # ',
'u':' # # '+
' # # '+
' # # '+
' # # '+
' ### ',
'v':' # # '+
' # # '+
' # # '+
' # # '+
' # ',
'w':' # # '+
' # # '+
' # # '+
' ### '+
' # # ',
'x':' # # '+
' # # '+
' # '+
' # # '+
' # # ',
'y':' # # '+
' # # '+
' # # '+
' # '+
' # ',
'z':' ### '+
' # '+
' # '+
' # '+
' ### ',
'!':' # '+
' # '+
' # '+
' '+
' # ',
':':' '+
' # '+
' '+
' # '+
' ',
';':' '+
' # '+
' '+
' # '+
' # ',
',':' '+
' '+
' '+
' # '+
' # ',
'/':' # '+
' # '+
' # '+
' # '+
' # ',
'+':' '+
' # '+
' ### '+
' # '+
' ',
'-':' '+
' '+
' ### '+
' '+
' ',
'.':' '+
' '+
' '+
' '+
' # ',
"'":' # '+
' # '+
' '+
' '+
' ',
' ':' '+
' '+
' '+
' '+
' '
};
Drone.extend('blocktype', function(message,fg,bg){
this.chkpt('blocktext');
var lines = message.split("\n");
var lineCount = lines.length;
for (var h = 0;h < lineCount; h++) {
var line = lines[h];
line = line.toLowerCase().replace(/[^0-9a-z \.\-\+\/\;\'\:\!]/g,"");
print ("lineCount=" + lineCount);
this.up(7*(lineCount-(h+1)));
for (var i =0;i < line.length; i++) {
var ch = line.charAt(i)
var bits = bitmap[ch];
if (typeof bits == "undefined"){
bits = bitmap[' '];
}
var charWidth = bits.length/5;
if (typeof bg != "undefined")
this.box(bg,charWidth,7,1);
for (var j = 0;j < bits.length;j++){
this.chkpt('btbl');
if (bits.charAt(j) != ' '){
var x = j % charWidth;
var y = Math.ceil(j/charWidth);
this.up(6-y).right(x).box(fg);
}
this.move('btbl');
}
this.right(charWidth-1);
}
this.move('blocktext');
}
return this.move('blocktext');
});
}());