37 lines
1022 B
Plaintext
37 lines
1022 B
Plaintext
VDU 23,22,400;400;16,16,16,128
|
|
OFF
|
|
|
|
DIM old&(200,200), new&(200,200)
|
|
p = 0.01
|
|
f = 0.0001
|
|
|
|
REM 0 = empty, 1 = tree, 2 = burning
|
|
REPEAT
|
|
WAIT 10
|
|
FOR x% = 1 TO 199
|
|
FOR y% = 1 TO 199
|
|
CASE old&(x%,y%) OF
|
|
WHEN 0:
|
|
IF p > RND(1) THEN
|
|
new&(x%,y%) = 1
|
|
GCOL 2
|
|
PLOT 4*x%,4*y%
|
|
ENDIF
|
|
WHEN 1:
|
|
IF f > RND(1) OR old&(x%-1,y%)=2 OR old&(x%+1,y%)=2 OR \
|
|
\ old&(x%-1,y%-1)=2 OR old&(x%,y%-1)=2 OR old&(x%+1,y%-1)=2 OR \
|
|
\ old&(x%-1,y%+1)=2 OR old&(x%,y%+1)=2 OR old&(x%+1,y%+1)=2 THEN
|
|
new&(x%,y%) = 2
|
|
GCOL 1
|
|
PLOT 4*x%,4*y%
|
|
ENDIF
|
|
WHEN 2:
|
|
new&(x%,y%) = 0
|
|
GCOL 15
|
|
PLOT 4*x%,4*y%
|
|
ENDCASE
|
|
NEXT
|
|
NEXT x%
|
|
old&() = new&()
|
|
UNTIL FALSE
|