5 CLS 6 RESET 7 RANDOMIZE TIMER MOD 32766 10 DIM L(9, 9) 20 FOR R = 1 TO 9: FOR C = 1 TO 9 30 L(R, C) = 10 40 NEXT C, R 50 FOR I = 1 TO 3 60 R = INT(9 * RND(1) + 1) 70 C = INT(9 * RND(1) + 1) 80 L(R, C) = 9 90 NEXT I 95 REM PRINT GRID 100 PRINT " 1 2 3 4 5 6 7 8 9" 110 FOR R = 1 TO 9 120 PRINT STR$(R); 130 FOR C = 1 TO 9 140 IF L(R, C) = 10 THEN PRINT " ."; : GOTO 170 150 IF L(R, C) > 0 AND L(R, C) < 10 THEN PRINT " *"; : GOTO 170 160 PRINT " "; 170 NEXT C 180 PRINT : NEXT R 195 REM INPUT ROUTINE 200 INPUT "ROW"; R 210 IF R < 0 OR R > 9 THEN 200 220 IF R = 0 THEN 330 230 INPUT "COLUMN"; C 240 IF C < 1 OR C > 9 THEN 230 250 FOR I = -1 TO 1: FOR J = -1 TO 1 260 A = R + I: B = C + J 270 IF A < 1 OR A > 9 OR B < 1 OR B > 9 THEN 310 280 IF L(A, B) < 1 OR L(A, B) = 10 THEN 310 290 IF RND(1) > .5 THEN 310 300 L(A, B) = L(A, B) - 3 310 NEXT J, I 320 GOTO 400 330 INPUT "BACKFIRE ROW"; R 340 IF R < 1 OR R > 9 THEN 330 350 INPUT "BACKFIRE COLUMN"; C 360 IF C < 1 OR C > 9 THEN 350 370 IF L(R, C) = 10 THEN L(R, C) = 2 395 REM SPREAD FIRE 400 FOR R = 1 TO 9: FOR C = 1 TO 9 410 IF L(R, C) < 1 OR L(R, C) > 9 THEN 500 420 IF L(R, C) < 3 THEN 500 430 I = INT(3 * RND(1) - 1) 440 J = INT(3 * RND(1) - 1) 450 A = R + I: B = C + J 460 IF A < 1 OR A > 9 OR B < 1 OR B > 9 THEN 500 470 IF L(A, B) <> 10 THEN 500 480 IF RND(1) < .3 THEN 500 490 L(A, B) = 11 500 NEXT C, R 505 REM BURN FIRE AND COUNT 510 F = 0 520 FOR R = 1 TO 9 530 FOR C = 1 TO 9 540 T = L(R, C) 550 IF T = 11 THEN T = 9 560 IF T > 0 AND T < 10 THEN T = T - 1: F = F + 1 570 L(R, C) = T 580 NEXT C, R 590 IF F < 1 THEN 620 600 GOTO 100 615 REM COUNT WOODS RATING 620 C = 0 630 FOR R = 1 TO 9: FOR C = 1 TO 9 640 IF L(R, C) = 10 THEN W = W + 1 650 NEXT C, R 660 R = W + 30 670 IF R > 100 THEN R = 100 680 PRINT "YOUR RATING IS"; R; "." 690 INPUT "PLAY AGAIN"; Y$ 700 IF UCASE$(Y$) = "Y" THEN 5 710 END