10 DIMA(4),B(4),C(4),D(4),E(4),F(4),P(4) 20 DATA 4 30 DATA 0,0,0,.50,0,0,.05 40 DATA .01,0,0,.10,0,.20,.15 50 DATA .42,-.42,.42,.42,0,.20,.40 60 DATA .42,.42,-.42,.42,0,.20,.40 70 READ M 80 PT=0 90 FOR J=1 TO M 100 READ A(J),B(J),C(J),D(J),E(J),F(J),PK 110 PT=PT+PK 120 P(J)=PT 130 NEXT J 140 GOSUB 500 150 XSCALE=370 160 YSCALE=265 170 XOFFSET=160 180 YOFFSET=50 190 X=0 200 Y=0 210 N=0 220 PK=RND(1) 230 IF PK<=P(1) THEN K=1:GOTO 240 231 IF PK<=P(2) THEN K=2:GOTO 240 232 IF PK<=P(3) THEN K=3:GOTO 240 233 K=4 240 NX=A(K)*X+B(K)*Y+E(K) 250 NY=C(K)*X+D(K)*Y+F(K) 260 X=NX 270 Y=NY 280 IF N>10 THEN XX=X*XSCALE+XOFFSET:YY=200-(Y*YSCALE+YOFFSET):GOSUB 600 290 GET A$:IFA$<>"" THEN GOTO 310 300 N=N+1:GOTO 220 310 GET A$:IFA$="" THEN GOTO 310 320 POKE 53272,20:POKE 53265,27:POKE 53280,14:PRINT CHR$(147) 330 END 500 REM** SET UP THE GRAPHICS SCREEN ** 510 POKE 53265,PEEK(53265)OR32 520 POKE 53272,PEEK(53272)OR8 530 BM=8192 540 FOR I=BM TO BM+7999:POKE I,0:NEXT I 550 FOR I=1024 TO 2023:POKE I,13:NEXT I 560 POKE 53280,13 570 RETURN 600 REM** PLOT A POINT ON THE SCREEN ** 610 BY=BM+320*INT(YY/8)+8*INT(XX/8)+(YYAND7) 620 BT=7-(XX AND 7) 630 POKE BY,PEEK(BY)OR(2^BT) 640 RETURN