http://www.perlmonks.org?node_id=266445

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!)