hi all
hopefully you're not utterly sick of me by now.
well first there was this then this and lo, with depressing inevitability here's my latest effort:
$z='$|=print"\ec";$z=~s#\s##g;$z="\$z=\x27$z\x27".q%;$z=~s#\s|\x4f##g; +eval$z%;$ x = 4 0 ; $ w = 2 * + $ x ; $Ow - - ; $ y = 1 6 ; $ | = 1 +; @ m = ( ( 3 1 , ( 1 5 ) x ( + $ x - 1 ) ) x $ y , ( 3 1 ) x $ x ) ; * p += s u b { " \ e [ 7 m @ _ [ 0 ] \ e [ m " } + ; * l = s u b { c h o p $ t } ; d o { +$ t = r e v e r s e $ z ; $ m [ $ c ] | = + 1 6 , ! ( @ a = g r e p / . $ / & ! ( $ m [ $ + c + $ ` ] & 1 6 + $ s * $ & ) , - 1 8 , 1 1 +, " $ { x } 4 " , " - $ { x } 2 " ) ? $ c += p o p @ p : $ { $ a [ r a n d @ a ] = +~ / . $ / ; $ m [ $ c ] & = ~ 8 / $ & ; p + u s h @ p , $ c ; $ m [ $ c + = $ ` ] +& = 1 5 - $ & ; + + $ u - ( $ x * $ y - $ y +) | | m a p $ _ & = 1 5 , @ m , $ c = $ +s = 1 } , $ s & & + ( p rint"\e[H",(map{p(&l)}(0..($w-1))),map$_%$x?($_-$c?$m[$_]&2?"\e[4m".$" +."\e[0m": $":"\x4f").($m[$_]&8?(p(&l)):"\e[4m".$"."\e[m"):$/.p(&l),0..$x*$y-1)&& +(($t=reve rse$t.$/)=~s#.{$w}#$&$/#g)&&print($t,$/)&&select$q,$q,$q,.2*$s}until$c +>($x*$y-2 )&$s';$z=~s#\s|\x4f##g;eval$z

As ever it uses vt escape codes extensively - apologies to windows users.
enjoy.
alex
ps. you may have to resize your x window, or you can change the height and width by changing $x and $y.

Replies are listed 'Best First'.
Re: the inevitable conclusion
by csuhockey3 (Curate) on Feb 22, 2004 at 12:20 UTC
    Never sick of you -- keep 'em coming! Very cool!

    -CSUhockey3
Re: the inevitable conclusion
by flyingmoose (Priest) on Feb 21, 2004 at 03:08 UTC
    Where do I sign up for the fan club? Kick @$$!!!
Re: the inevitable conclusion
by Skylark (Beadle) on Feb 23, 2004 at 20:13 UTC
    Does anyone have an idea how to make it work on Win32? I went to the other two, and to make them work you simply changed the print "\ec" to system('cls'), but this one has lots more escape codes...

    The other two you linked to were quite nice, so I wonder what this one looks like... :-)

    J-S