Forest fire: Difference between revisions

Content deleted Content added
Chkas (talk | contribs)
SqrtNegInf (talk | contribs)
m →‎{{header|Perl}}: future-proof for 5.36, use new bitwise string operators
Line 5,912:
 
===Alternate Perl Solution===
<syntaxhighlight lang="perl">#!/usr/bin/perluse strict;
 
use strict; # http://www.rosettacode.org/wiki/Forest_fire
use warnings;
use feature 'bitwise';
 
my $p = 0.01; # probability of empty -> tree
Line 5,928 ⟶ 5,927:
print "\e[H", $forest =~ tr/0123/ ^#/r, "\n"; # ^=tree #=burning tree
my $n = $forest =~ tr/123/004/r; # 4=a neighbor is burning
$forest |.= 0 x $_ . $n |. substr $n, $_ for 1, $wide - 1 .. $wide + 1;
$forest &.= $mask; # clear borders and trim
$forest =~ tr/1-7/et10e31/; # step to next generation
$forest =~ s/t/ rand() < $f ? 3 : 2 /ge; # rule 3) tree cell to burning