100  DIM P[70],N[70],S[10]
110  PRINT
120  PRINT "A PATTERN MAKER (AKA 1D CA)"
130  PRINT "ENTER A RANDOM SEED NUMBER ";
140  INPUT S9
150  FOR I=0 TO S9
160  LET S8=RND(0)
170  NEXT I
200  PRINT "ENTER 10 DIGITS SEPARATED BY COMMAS, EACH 0-3..."
210  INPUT S0,S1,S2,S3,S4,S5,S6,S7,S8,S9
220  LET S[1]=S0
230  LET S[2]=S1
240  LET S[3]=S2
250  LET S[4]=S3
260  LET S[5]=S4
270  LET S[6]=S5
280  LET S[7]=S6
290  LET S[8]=S7
300  LET S[9]=S8
310  LET S[10]=S9
320  LET S9=P[1]=P[70]=0
330  FOR I=1 TO 10
340  LET J=S[I]
350  IF J=0 OR J=1 OR J=2 OR J=3 THEN 370
360  LET S9=1
370  NEXT I
380  IF S9=0 THEN 410
390  PRINT "TRY AGAIN..."
400  GOTO 210
410  PRINT "HOW MANY LINES PER PAUSE (0=CONTINUOUS) ";
420  INPUT L9
430  IF L9=0 THEN 500
440  PRINT "AT PROMPTS ENTER 0 FOR MORE, 1 TO RESTART"
450  PRINT "OR 2 TO ENTER NEW PARAMETERS. ENTER ANY NUMBER ";
460  INPUT S9
480  PRINT
500  FOR I=2 TO 69
510  LET N[I]=INT(RND(0)*4)
520  NEXT I
530  LET L=0
540  REM MAIN LOOP
550  FOR I=2 TO 69
560  LET S9=N[I]
570  LET P[I]=S9
580  IF S9#0 THEN 600
590  PRINT " ";
600  IF S9#1 THEN 620
610  PRINT ".";
620  IF S9#2 THEN 640
630  PRINT "*";
640  IF S9#3 THEN 660
650  PRINT "#";
660  NEXT I
670  PRINT
680  IF L9=0 THEN 740
690  LET L=L+1
700  IF L<L9 THEN 740
710  INPUT S9
720  IF S9=1 THEN 500
730  IF S9=2 THEN 200
735  LET L=0
740  FOR I=2 TO 69
750  LET T=0
760  FOR J=I-1 TO I+1
770  LET T=T+P[J]
780  NEXT J
790  LET N[I]=S[10-T]
800  NEXT I
810  GOTO 550
820  END
