http://qs321.pair.com?node_id=204745

Update: Fixed scrolling issue in text mode console
#!/usr/bin/perl $m=q\$g=59;$s=23;@v=($",$",'.',';','x','X','M');$t=[map{[(s plit('',$_))[0..$g]]}reverse+split($/,$m)];sub'i{($b)=@_;$b ->[0]=[(0 )x($g+1) ];for(@{$b->[ 0]}){$_=$ #v*(int(r and(7)) <3);}for(1. .($s)){@{ $b}[$_]=[ (0)x( $g+1)]; }}sub'p{( $b)=@_;sy stem($^O= ~/MSW in32/?' cls':'c lear');$s tr='';for $r(reve rse(0 ..$s)){fo r$c(0..$g ){$str.=( $t ->[ $r ][$c]eq$" ?$":@v[in t$b->[$r][$c]]); }$s tr. =$/;}prin t$str;}su b'f{($x)=@_;$b=[ ];i($b);for$r (1..($s-1 )){for$c( 1..($g-1)){if(in t(rand(2))){$ v=0;for$r i(-1..1){ for$ci(-1..1){$v +=$x->[$r+$ri ][$c+$ci] ;}}$b->[$r][$c]=$v/9;}else{$b->[$r][$c]=$x->[$r-1][$c];}}}r eturn $b;}$z=[];i($z);p($z);while(1){$z=f($z);p($z);}\;$m.= "$/$/$/$/$/$/1;$/$/$/$/$/$/$/";;s//$m/;s/$"//g;s|$/||g;eval

[TINPC@perlcabal.com shh]$ su real