; THIS IS A TEST OF AUTOMATA ON A TWO DIMENSIONAL PLANE ; ; AUTACT.ACT MODULE BYTE ARRAY LINE(320) BYTE ARRAY LINER(320) BYTE ARRAY LINEL(320) BYTE AR,AL,S BYTE RANDOM=53770 CARD I,J,K,L,Y PROC INIT() GRAPHICS(8+16) Y=1 SETCOLOR(2,0,0) COLOR=1 FOR I=1 TO 320 DO LINE(I)=0 LINER(I)=0 LINEL(I)=0 OD FOR I=1 TO 320 DO J=PEEK(RANDOM) J=J/2 IF J>90 THEN LINE(I)=1 FI OD RETURN PROC COUNT() I=2 DO IF I>319 THEN FOR I=1 TO 320 DO LINE(I)=0 OD RETURN FI IF LINE(I)>0 THEN J=I+1 WHILE LINE(J)=0 AND J<320 DO J==+1 OD AR=J-I IF AR>150 THEN S=4 FI IF AR>70 AND AR<151 THEN S=8 FI IF AR>30 AND AR<71 THEN S=16 FI IF AR>10 AND AR<31 THEN S=32 FI IF AR>5 AND AR<11 THEN S=64 FI IF AR>0 AND AR<6 THEN S=128 FI LINER(I)==+S LINEL(J)==+S I=J FI I==+1 OD ;-------------------------------------- PROC MAKLINE() FOR I=2 TO 318 DO IF LINER(I)>128 THEN LINER(I+2)=64 LINER(I)=0 LINE (I+2)=1 LINE (I)=0 ELSEIF LINER(I)>1 THEN LINE(I)=1 FI IF LINEL(I)>128 THEN LINEL(I-2)=64 LINEL(I)=0 LINE (I-2)=1 LINE (I)=0 ELSEIF LINEL(I)>1 THEN LINE(I)=1 FI OD RETURN PROC MAKESCREEN() Y==+1 IF Y>189 THEN Y=1 GRAPHICS (8+16) SETCOLOR(2,0,0) COLOR=1 FI FOR I=2 TO 318 DO IF LINE(I)>0 THEN PLOT(I,Y) FI OD RETURN PROC MASTER() INIT() DO COUNT():MAKLINE():MAKESCREEN() OD RETURN