File: 80643.FT of Tape: Various/Decus/decus-3
(Source file text)
wwRR DIMENSION ICELL(32,32),ISAVE(32,32),IROW(32) WRITE(1,2) 2 FORMAT('INPUT DEAD/LIVE DESIGNATION CHARS') READ(1,5) IDEAD,ILIVE 5 FORMAT(2A1) 99 DO 1 J=1,32 DO 1 I=1,32 ISAVE(I,J)=0 1 ICELL(I,J)=0 6 IPOP=0 IGEN=0 NGEN=0 INERT=0 7 WRITE(1,10) 10 FORMAT('ENTER COORDINATES OF LIVE CELLS') 20 READ(1,30)I,J 30 FORMAT(2I2) IF(I) 50,40,40 40 IF(I-1) 44,44,41 41 IF(I-32)42,44,44 42 IF(J-1) 44,44,43 43 IF(J-32)49,44,44 44 WRITE(1,45)I,J 45 FORMAT(2I2,' OUT OF BOUNDS') GO TO 20 49 ICELL(I,J)=1 IPOP=IPOP+1 GO TO 20 50 WRITE(1,60) IGEN,IPOP 60 FORMAT(//'GENERATION 'I4,5X,'POPULATION &I4) DO 100 I=1,32 NONE=0 DO 90 J=1,32 IF(ICELL(I,J)) 80,70,80 70 IROW(J)=IDEAD GO TO 90 80 IROW(J)=ILIVE NONE=1 90 CONTINUE IF(NONE) 107,108,107 107 WRITE(1,110) (IROW(J),J=1,32) GO TO 100 108 WRITE(1,109) 109 FORMAT(1X) 100 CONTINUE IF(INERT) 51,105,51 105 NGEN=IGEN+1 110 FORMAT(32A1) S CLA CLL S 7604 S AND (1 S DCA \IND IF(IND) 51,59,51 51 WRITE(1,52) 52 FORMAT('NEXT GENERATION TO OUTPUT?') READ(1,53) NGEN 53 FORMAT(I4) 59 IF(NGEN-IGEN) 99,7,115 115 IPOP=0 DO 120 J=2,31 DO 120 I=2,31 ISAVE(I,J)=ICELL(I,J) 120 ICELL(I,J)=0 IER601=1 INERT=1 DO 330 J=2,31 DO 330 I=2,31 NBR=0 IF(ISAVE(I-1,J-1)) 140,140,130 130 NBR=NBR+1 140 IF(ISAVE(I-1,J)) 160,160,150 150 NBR=NBR+1 160 IF(ISAVE(I-1,J+1)) 180,180,170 170 NBR=NBR+1 180 IF(ISAVE(I,J-1)) 200,200,190 190 NBR=NBR+1 200 IF(ISAVE(I,J+1)) 220,220,210 210 NBR=NBR+1 220 IF(ISAVE(I+1,J-1)) 240,240,230 230 NBR=NBR+1 240 IF(ISAVE(I+1,J)) 260,260,250 250 NBR=NBR+1 260 IF(ISAVE(I+1,J+1)) 280,280,270 270 NBR=NBR+1 280 IF(2-NBR) 300,300,290 290 ICELL(I,J)=0 IF(ISAVE(I,J)) 295,330,295 295 INERT=0 GO TO 330 300 IF(3-NBR) 310,320,310 310 IF(ISAVE(I,J)) 315,290,315 315 IF(5-NBR) 290,290,320 320 ICELL(I,J)=1 IF(ISAVE(I,J)) 325,324,325 324 INERT=0 325 IPOP=IPOP+1 IF(I-2) 321,328,321 321 IF(I-31) 322,328,322 322 IF(J-2) 323,328,323 323 IF(J-31) 330,328,330 328 IER601=0 330 CONTINUE IGEN=IGEN+1 IF(INERT) 390,334,390 334 IF(IPOP) 335,340,335 335 IF(IER601) 380,360,380 340 WRITE(1,350) IGEN 350 FORMAT('THE UNIVERSE HAS DIED AFTER'I4,' GENERATIONS') GO TO 99 360 WRITE(1,370) IGEN 370 FORMAT('*** WARNING--BOUNDARY MAY BE EXCEEDED - GENERATION 'I4) S CLA CLL S 7604 S AND (1 S DCA \IND IF(IND) 375,380,375 375 NGEN=IGEN 380 IF(NGEN-IGEN) 115,50,115 390 WRITE(1,400) IGEN 400 FORMAT('THE UNIVERSE HAS STABILIZED-GENERATION'I4) GO TO 50 CALL EXIT STOP END