#!/usr/bin/perl use strict; $|=1;$/= undef;my$q ;open$q,"< $0";my$Qq= <$q>;close$q; my$wQ=3.1416; my$QQq=$wQ/10; my$Q=(sub{$$ eq $~})->($wQ);my $qQ=$Q++||--$Q; $q++;my$K=[()]; while($Qq=~m{( [^\n]*)\n}gx){ $K->[$Q]=[split '',$1];my$l = length$1;$qQ= 0+$l if($l>$qQ );++$Q;}my$QqQ =$qQ/2;my$qQQ =$Q*0.6;my $qQq =[ map {tan($_)+1}(grep {!($QqQ+$qQQ)}($q ,$qQ,$QQq))];my$k= int(2*$wQ/$QQq-1);$q =4;my$qqq=0unless 0;for my $kc(0..$k){$q--; my$Cq=cos( $qqq);my$ cK=sin($qqq);for my$Kq(0..$qQ -1){for my$C(0.. $Q-1){my$QqqQ =$Kq-$QqQ;my$Qk=$C -$qQQ;my$kk=int($Cq* $QqqQ-$cK *$Qk+$QqQ+0.5);my$cc=int ($cK*$QqqQ+$Cq*$Qk+$qQQ +0.5);$qQq->[$kc]->[$cc]->[$kk]=$K->[ $C]->[$Kq]if($kk>0&&$cc >0); }}$qqq+=$QQq;print'.';}f +or my$kc(@$qQq){--$q;for my $cc(0..$#$kc+15){for m +y$kk(0.. $#{$kc->[$cc]}+18){$kc->[ $kk]->[$cc]=' 'i +f!defined $kc->[$kk]->[$cc];}}} my$qK=`clear`;my +$kc=0; while(1){print$qK;{ map{print jo +in('',@$_) ,"\n";}@{$qQq->[$kc ]}};++$q +;select undef ,undef,undef,0.2 ;++ +$kc;$kc=0 if ($kc+0+0+0+ + +0.0001 >$k);};; $_;
Note: it could sure be bettered in many ways; I will accept any suggestions, especially concerning a portable way to clear the screen.
Blop!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: The Perl Fan
by PsionicMan (Beadle) on Jul 21, 2001 at 19:15 UTC | |
|
Re: The Perl Fan
by converter (Priest) on Jul 22, 2001 at 21:13 UTC | |
|
Error report
by Kickstart (Pilgrim) on Jul 26, 2001 at 00:02 UTC | |
by Blop (Monk) on Jul 26, 2001 at 11:31 UTC |