And again, a vt100 obfuscated game sig thingy.
enjoy.
print"\ec";for$b(0..15){$e[$b].=int 2*rand for 0..($h=30)}{$b=-1;for$f
+(@
a=@e){$e[++$b]="";print"\e[$b\H$f$/";for$c(0..$h){$l=0;for($b-1..$b+1)
+{$
_=$_>0&&$_<$h?substr$a[$_],$c?$c-1:$c,$c==$h?2:$c?3:2:1;$l+=tr/0//}$l-
+=$
d=!substr$f,$c,1;$e[$b].=$l==3||$l==2&&$d?0:$"}}select$q,$q,$q,0.1;red
+o}
alex
ps. oh yeah, you can put different things in @e (an array of 30 bit binary strings) for different behavior:
for$b(0..15){$e[$b].=int 2*rand for 0..30} # (random)
# or
@e=(1x30)x30; #(R-pentomino)
$e[14]=("1"x14)."00".("1"x14);
$e[15]=("1"x13)."00".("1"x15);
$e[16]=("1"x14)."0".("1"x15);
# or
@e=(1x30)x30; #(Pulsar)
$e[12]=("1"x13)."101".("1"x13);
$e[13]=("1"x13)."000".("1"x13);
$e[14]=("1"x13)."010".("1"x13);
$e[15]=("1"x13)."000".("1"x13);
$e[16]=("1"x13)."101".("1"x13);
# or
@e=(1x30)x30; #(pentadecathlon)
$e[15]=("1"x10).("0"x10)."1"x10;
# followed by:
print"\ec";{$b=-1;for$f(@a=@e)
{$e[++$b]="";print"\e[$b\H$f$/";for$c(0..30){for($b-1..$b+1){$_=$_>0&&
+$_
<30?substr$a[$_],$c?$c-1:$c,$c==30?2:$c?3:2:1;$l+=tr/0//}$l-=$d=!subst
+r$
f,$c,1;$e[$b].=$l==3||$l==2&&$d?0:$";$l=0}}select$q,$q,$q,0.1;redo}
some of the examples above require resizing an xterm (as they are too "tall")
(oh yeah, i know the extra patterns push it over 4 lines, i don't really care!)