laziness, impatience, and hubris | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Cet assombrissement est soumis au nom de Paris.pm canal assombri. YES, BUT NO...This program is in fact two programs. 966 characters divided by two: 483. Each of these program would fit nicely in 512 character. And tell me about inner beauty... BOUSTROPHEWHAT?This entry is based on a suggestion made to me by Stéphane Payrard: "Why don't you try a boustrophedonic form?", he asked. So I did. Since the term is defined in "The new hackers's dictionary", I had every reason to do so. The first line of the program is actually a small "bootstrap" that read the rest of the file (here-document) and processes it before running the result. SHOW ME SOME MORE!Apart from using deprecated variables like $* ($# could have been put to more work, had I had more inspiration), the first line treats the program to eval differently depending on the presence of command-line arguments. If there are, the bootstrap evals the text without modification. Else, the program is treated as a boustrophedon, and every even line is reversed. (All that is done in the END statement at the beginning.) The rest of it is a gross use of comments and qquoted strings, combined with the math needed for the fractals calculus and real to character screen- coordinates conversion. A few features were added to fill the last blanks, for example the use of the TPJ environment variable. In interactive mode, the command are given in the following manner: for example, x.404y-.35703 w5 h 5 i 108z.9A-.3 a .3 n 100 the whitespace is optionnal (this is a difference with command-line parameters) BEHIND THE SCENES: MATHS!Here is the meaning of each command (and variable: each command is in fact a variable assignement):
STEP-BY-STEP
Line 1: The variable $00 is assigned the rest of the program's content,
and eventually modified in the end. Lines 6, 8 and 10 are perfectly symmetric, which is some kind of waste of characters (imagine of much could have been squeezed out to fit into category 3...). FURTHER ENJOYEMENTFor other ASCII-art animations, please refer to: In reply to The SOLUTION file
by BooK
|
|