Listing of file='LIFE1.BAS;01' on disk='vmedia/games-sector.ccvf'
9 REM BG-ON/BLACK/FG-ON/GREEN/ERASE PAGE/A7-ON/ 10 REM ***************** GAME OF LIFE -V1.0- ****************** 15 REM * * 20 REM * DALE DEWEY, 7284 HIGHVIEW TRAIL, VICTOR, NY 14564 * 25 REM * * 30 REM * THIS PROGRAM IS BASED ON A GAME THAT WAS DEVELOPED * 35 REM * BY JOHN H CONWAY AT THE UNIVERSITY OF CAMBRIDGE. * 40 REM * * 45 REM * IT WAS PRESENTED BY MARTIN GARDNER IN THE OCTOBER * 50 REM * 1970 SCIENTIFIC AMERICAN. THE DECEMBER 1978 BYTE * 55 REM * HAS SOME GOOD ARTICLES ON THIS GAME AND ITS HISTORY. * 60 REM * * 65 REM * THIS PROGRAM RUNS IN 14K BYTES 3/80 * 70 REM * COPYRIGHT DALE E. DEWEY,1980 * 75 REM ******************************************************** 76 REM ERASE LINE/(ESC)X/(ESC)J/ 100 DATA 20,30,20,31,20,32,21,30,21,32,22,30,22,32,0,0 110 PLOT 29,14,12,27,4:PRINT "LOAD LIFE.DSP 6000" 120 PLOT 27,27,3,0,29 130 INPUT " WOULD YOU LIKE A DEMONSTRATION ? ";A$ 140 PLOT 31,12 150 J= 20:I= 13:GOSUB 2010 160 PRINT "I'M JUST GETTING READY":PLOT 8 170 DIM A(31,61),B(99,1),D(99,1) 180 V1= 30:H1= 60 190 V2= 1:H2= 1 200 PLOT 15,12 210 PRINT "ENTER THE COORDINATES OF YOUR 'SEED'";TAB( 53);"(ROW,COL)" 220 PRINT TAB( 3);"(0,0 WILL GERMINATE THE SEED)" 230 PLOT 15,3,55,1 240 IF LEFT$ (A$,1)= "Y"THEN READ I,J:GOTO 260 250 INPUT " ";I,J 260 IF I= 0AND J= 0THEN 370 270 IF I< 1 OR I> 30 OR J< 1 OR J> 60 THEN PLOT 31,3,35,1:PRINT "BAD INPUT ";I;",";J;"";TAB( 55);SPC( 8):GOTO 230 280 PLOT 3,35,1:PRINT SPC( 28) 290 IF V1 > I THEN V1= I 300 IF V2 < I THEN V2= I 310 IF H1 > J THEN H1= J 320 IF H2 < J THEN H2= J 330 A(I,J)= 1 340 GOSUB 2010 350 PRINT "d" 360 GOTO 230 370 PLOT 31,3,53,1:PRINT "COMPUTING " 380 I1= V1- 1:IF I1 < 1 THEN I1= 1 390 I2= V2+ 1:IF I2 > 30 THEN I2= 30 400 J1= H1- 1:IF J1 < 1 THEN J1= 1 410 J2= H2+ 1:IF J2 > 60 THEN J2= 60 420 FOR I = I1 TO I2 430 FOR J = J1 TO J2 440 NE= A(I- 1,J- 1)+ A(I- 1,J)+ A(I- 1,J+ 1)+ A(I,J- 1)+ A(I,J+ 1)+ A(I+ 1,J- 1)+ A(I+ 1,J)+ A(I+ 1,J+ 1) 450 IF A(I,J) = 1 THEN 480 460 IF NE= 3 THEN GOSUB 2040:REM UNOCCUPIED W/3 NEIGHBORS BIRTH 470 GOTO 490 480 IF NE< 2 OR NE> 3 THEN GOSUB 2100:REM OCCUPIED W/<2 OR >3 NEIGHBORS DEATH 490 NEXT J 500 NEXT I 510 Z= Z+ 1 520 CO= INT (Z/ 10)+ 1:IF CO= 8 THEN 830:REM SET THE COLOR HERE 530 PLOT 8,14,6,CO 540 PRINT TAB( 14);Z;" GENERATION ";BI;" BIRTHS ";DE;" DEATHS";TAB( 62);" " 550 IF BI+ DE= 0 THEN 830:REM NO BIRTHS OR DEATHS - STABLE 560 PLOT 15 570 IF DE= 0 THEN 660 580 FOR K= 0 TO DE- 1 590 I= D(K,0) 600 J= D(K,1) 610 A(I,J)= 0 620 GOSUB 2010 630 PRINT " " 640 NEXT K 650 DE= 0 660 IF BI= 0 THEN 800 670 FOR K= 0 TO BI- 1 680 I= B(K,0) 690 J= B(K,1) 700 IF V1 > I THEN V1= I 710 IF V2 < I THEN V2= I 720 IF H1 > J THEN H1= J 730 IF H2 < J THEN H2= J 740 A(I,J)= 1 750 PLOT 6,CO 760 GOSUB 2010 770 PRINT "d" 780 NEXT K 790 BI= 0 800 PLOT 8 810 GOTO 380 820 PRINT "I SHOULD NOT HAVE GOTTEN HERE":END 830 PLOT 3,0,5,6,5 840 PRINT TAB( 27);"END OF LIFE":PRINT 850 PRINT TAB( 16);"MAXIMUM GROWTH RATE WAS";BM;" BIRTHS":PRINT 860 PRINT TAB( 16);"MAXIMUM DEATH RATE WAS";DM;" DEATHS":PRINT 870 PRINT :PRINT :PRINT :PRINT 880 INPUT "WOULD YOU CARE TO TRY ANOTHER SEED ? ";A$ 890 IF LEFT$ (A$,1)< > "N"THEN RUN 190 900 LOAD "MENU":RUN 2000 REM GENERAL PLOT 3,X,Y 2010 PLOT 3,J+ 1,I+ 1 2020 RETURN 2030 REM BIRTHS OCCUR HERE 2040 B(BI,0)= I 2050 B(BI,1)= J 2060 BI= BI+ 1 2070 IF BM< BI THEN BM= BI 2080 RETURN 2090 REM DEATHS OCCUR HERE 2100 D(DE,0)= I 2110 D(DE,1)= J 2120 DE= DE+ 1 2130 IF DM< DE THEN DM= DE 2140 RETURN 3000 REM (ESC)K/A7-OFF/PLOT3,1,30/GREEN/