10 DIM L[1,10],W[10,10] 11 DIM D[50] 15 PRINT "GAME OF LIFE,INPUT GRID IS 10 X 10" 16 PRINT "INPUT X AND Y POSITIONS,OF CELL" 17 PRINT "WHEN FINISHED,USE GRID 0,0" 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 80 PRINT " CELL "; 90 INPUT X,Y 100 IF X=0 THEN 170 110 LET L[X,Y]=1 120 CALL (31,10*X+50,10*Y+50,10*(X-1)+(Y-1)+1) 130 GOTO 80 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 390 GOTO 430 400 LET W[X,Y]=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 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