in reply to Life!
use Storable(dclone);$r=0b10111;$c=0b1001111;for$y(0..$r){for$x(0..$c) +{$l[$x][$y]=0;int(rand(0b111))==0and(do{$l[$x][$y]=1})}}while(1){my(@ +f)=@{dclone(\@l)};print("\e[2J");for$y(0..$r){for$x(0..$c){$l[$x][$y] +?do{print(chr(0b1001111))}:do{print(chr(0b100000))};my($n);for$h(-1.. +1){for$s(-1..1){$s==0and$h==0and(next);$n+=$l[($x+$s)%$c][($y+$h)%$r] +;}}$l[$x][$y]==1?do{$n<=1?do{$f[$x][$y]=0}:$n>=4&&do{$f[$x][$y]=0}}:$ +n==0b11&&do{$f[$x][$y]=1};}print("\n");}@l=@{dclone(\@f);};sleep(1);}
|
|---|