10 DIM L[10,10],W[10,10] 11 DIM D[50] 20 CALL (30,D[1],100,0) 21 LET Z=T=1 22 LET Z1=T1=10 23 LET B=C=1 24 LET B1=C1=10 30 FOR X=1 TO 10 40 FOR Y=1 TO 10 50 LET L[X,Y]=0 60 NEXT Y 70 NEXT X 73 PRINT "LIFE GAME WITH RANDON LOAD: ENTER A RANDON # "; 74 INPUT A5 75 FOR A6=1 TO A5 76 LET A1=50*RND(1) 77 LET A2=100*RND(1) 78 NEXT A6 82 FOR A3=1 TO A2 83 LET A4=RND(1) 84 NEXT A3 85 FOR A3=1 TO A1 86 LET X=INT(9*RND(1)+1) 87 LET Y=INT(9*RND(1)+1) 89 LET L[X,Y]=1 120 CALL (31,10*X+50,10*Y+50,10*(X-1)+(Y-1)+1) 130 NEXT A3 135 GOTO 170 140 FOR X=1 TO 100 141 CALL (31,0,0,X) 142 NEXT X 165 GOTO 82 170 FOR X=B TO B1 180 FOR Y=C TO C1 185 LET N=0 190 FOR I1=-1 TO 1 200 FOR I2=-1 TO 1 210 LET X1=X+I1 220 LET Y1=Y+I2 230 IF I1=0 AND I2=0 THEN 260 231 IF Y1>10 OR Y1<1 OR X1<1 OR X1>10 THEN 260 240 LET N=N+L[X1,Y1] 260 NEXT I2 270 NEXT I1 275 IF N>0 THEN 1000 300 IF N <= 1 THEN 360 310 IF N=3 THEN 400 320 IF N >= 4 THEN 360 330 REM A CELL SUVIVES 340 LET W[X,Y]=L[X,Y] 350 GOTO 430 360 REM A CELL DIES 370 LET W[X,Y]=0 372 CALL (31,0,0,10*(X-1)+(Y-1)+1) 390 GOTO 430 400 LET W[X,Y]=1 402 CALL (31,10*X+50,10*Y+50,10*(X-1)+(Y-1)+1) 430 NEXT Y 440 NEXT X 450 FOR X=B TO B1 460 FOR Y=C TO C1 470 LET L[X,Y]=W[X,Y] 475 GOTO 3000 480 NEXT Y 490 NEXT X 495 GOTO 2000 500 GOTO 170 1000 REM MARK BORDERS 1010 IF X>Z1 THEN 1100 1020 LET Z1=X 1100 IF XT1 THEN 1300 1220 LET T1=Y 1300 IF Y0 THEN 2200 2110 LET B=1 2200 IF B1<11 THEN 2300 2210 LET B1=10 2300 IF C>0 THEN 2400 2310 LET C=1 2400 IF C1<11 THEN 2500 2410 LET C1=10 2500 LET Z=T=1 2501 LET Z1=T1=10 2600 GOTO 170 3000 REM LOAD CRT DISPLAY 3001 GOTO 480 3100 IF L[X,Y]>0 THEN 3200 3150 CALL (31,0,0,10*(X-1)+(Y-1)+1) 3160 GOTO 480 3200 REM LIVE BUG 3250 CALL (31,10*X+50,10*Y+50,10*(X-1)+(Y-1)+1) 3260 GOTO 480 9999 END Cg