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[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}