Forest fire: Difference between revisions

Line 3,817:
[https://easylang.online/apps/forest-fire.html Run it]
 
<lang>subrp_fire init= 0.00002
p_tree = 0.002
for r range 100
#
for c range 100
len f[] i = r102 * 102 + c + 103
len p[i] =len -1f[]
set_background 100
if randomf < 0.55
clear_screen
f[i] = 1
for cr range 100
else
for rc range 100
f[i] = 0
i = .r * 102 + c + 103
if randomf < 0.555
f[i] = 01
.
.
timer 0
.
set_timer 0
#
subr show
for r range 100
Line 3,837 ⟶ 3,840:
h = f[i]
if h <> p[i]
movemove_pen c + 0.5 r + 0.5
if h = 0
colorset_color 210100
draw_circle 0.6
elif h = 1
colorset_color 161151
draw_circle 0.5
else
colorset_color 9609 * 100 + (18 - 2 * h) * 10
draw_circle 0.5
.
rect 1 1
.
.
Line 3,857 ⟶ 3,862:
if p[i] = 0
f[i] = 0
if randomf < 0.003p_tree
f[i] = 1
.
elif p[i] = 101
f[i] = 0
else
f[i] = 1
s = 0p[i - 103] + p[i - 102] + p[i - 101]
s += p[i - 103] + p[i - 102] + p[i - 101]
s += p[i - 1] + p[i + 1]
s += p[i + 101] + p[i + 102] + p[i + 103]
if s >= 109 or randomf < 0.00001p_fire
f[i] = 109
.
elif fp[i] = 04
f[i] = 10
else
rectf[i] 1= p[i] - 1
.
.
Line 3,878 ⟶ 3,884:
call show
call update
timerset_timer 0.2
call init.</lang>
.
len f[] 102 * 102
len p[] len f[]
call init</lang>
 
=={{header|Emacs Lisp}}==
2,060

edits