Thanks ktross. The comments are appreciated. Glad you liked it. Ok comments onboard, I've changed it print okay at screen widths at or above 80, but still running at the original speed. The new complete code is
#!/usr/bin/perl -w
use strict;
while(1){$:=' 'x2E3;$a+=.01;$b+=.03;$~=(sin$a+sin$b)/10+.2;system(
$^Oeq'MSWin32'?'cls':'clear');t(10.5,1,-11/7);$:=~s/(.{79})/$1\n/g
;print $:}sub t{my($x,$y,$d,$D)=@_;($x,$y)=l($x,$y,$d,11/++$D);$D<
4||return;t($x,$y,$d-.6-$~*$d,$D);t($x,$y,$d+.6-$~*$d,$D--)}sub l{
my($x,$y)=@_;for(0..pop) {p($x+=cos$_[2],$y+=sin$_[2])}($x,$y)}sub
p{substr($:,int(pop)*79+int(pop),1)='#'}
The sum of the changes being...
< my @rows=split(//,$:);
< my $i=0;
< for(@rows){print $_;
< if($i eq 80){
< print "\n";
< $i=0;
< }
< $i++;
< }
> $:=~s/(.{80})/$1\n/g;
> print $:
Update:
For anyone who can't be bothered to run it, it should look something like this. (it looks better animated, honest)
#
# #
## ##
# # #
# ### #
# # # #
## ####
# #
# #
# ## #
# ## ######
# ## #
## #
#
#
#
#
#
#
#
#
---
my name's not Keith, and I'm not reasonable.
|