use Storable qw(dclone);$r=23;$c=79;for $y(0..$r){for $x(0..$c){$l[$x] +[$y]=0;if(int(rand(7))==0){$l[$x][$y]=1;}}}while(0==0){my @f=@{dclone +(\@l)};print"\033[2J";for $y(0..$r){for $x(0..$c){if($l[$x][$y]){prin +t"O";}else{print" ";}my $n;for $h(-1..1){for $s(-1..1){next if (($s== +0)&&($h==0));$n+=$l[($x+$s)%$c][($y+$h)%$r];}}if($l[$x][$y]==1){if($n +<=1){$f[$x][$y]=0;}elsif($n>=4){$f[$x][$y]=0;}}elsif($n==3){$f[$x][$y +]=1;}}print"\n";}@l=@{dclone(\@f)};sleep 1;}
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |