LONG REAL tree prob = 0.55, # original tree probability # f prob = 0.01, # new combustion probability # p prob = 0.01; # tree creation probability # MODE CELL = CHAR; CELL empty=" ", tree="T", burning="#"; MODE WORLD = [6, 65]CELL; PROC has burning neighbours = (WORLD world, INT r, c)BOOL:( FOR row shift FROM -1 TO 1 DO FOR col shift FROM -1 TO 1 DO INT rs = r + row shift, cs = c + col shift; IF rs >= LWB world AND rs <= UPB world AND cs >= 2 LWB world AND cs <= 2 UPB world THEN IF world[rs, cs] = burning THEN true exit FI FI OD OD; FALSE EXIT true exit: TRUE ); PROC next state = (REF WORLD world, REF WORLD next world)VOID:( FOR r FROM LWB world TO UPB world DO REF[]CELL row = world[r, ]; FOR c FROM LWB row TO UPB row DO REF CELL elem = row[c]; next world[r, c] := IF elem = empty THEN IF random