10 CLS 20 PCLS 21 GOTO 40 30 LINE(0,0)-(511,255),1,BF 40 R=2 50 N=2 60 LINE(0,0)-(508,255),5,B 70 LINE(5,5)-(506,249),5,B 80 LINE(0,0)-(508,256),7,B 90 PAINT (507,254),5,5 100 A=100:B=0 110 FOR I=1 TO 20 120 IF B>510 THEN GOTO 230 130 A5=INT(RND(7)*150)+80 140 B5=INT(RND(7)*510) 150 IF B5>B AND B5510 GOTO 230 170 GOTO 130 180 LINE (B,A)-(B5,A5),7 190 LINE (B5,A5)-(B5+20,A5),7 200 IF B5>510 THEN GOTO 230 210 B=B5+20:A=A5 220 NEXT I 230 PAINT(20,240),7,7 240 A1=INT(RND(3)*500)+10 250 B1=INT(RND(3)*30)+10 260 IF POINT(A1,B1)=7 THEN GOTO 290 270 B1=B1+1 280 GOTO 260 290 LINE(A1+2,B1+1)-(A1-2,B1-1),4,BF 300 A2=INT(RND(3)*500)+10 310 B2=INT(RND(3)*30)+10 320 IF POINT(A2,B2)=7 THEN GOTO 350 330 B2=B2+1 340 GOTO 320 350 LINE(A2+2,B2+1)-(A2-2,B2-1),3,BF 360 K=30:V=0:J=0:U=3 370 C=PEEK(&HF71D) 380 CLS 390 IF C=60 THEN K=K-1 400 PRINT K 410 PRINT V 420 PRINT J 430 IF C=66 THEN K=K+1 440 IF C=62 THEN J=J-1 450 IF C=64 THEN J=J+1 460 IF C=63 THEN V=V+1 470 IF V=2 THEN V=0 480 IF V<0 THEN V=1 490 IF J>90 THEN J=0 500 IF J<0 THEN J=90 510 IF K>30 THEN K=0 520 IF K<0 THEN K=30 530 IF C=33 THEN GOTO 550 540 GOTO 370 550 H=A1:Z=B1:P=1 560 IF V=0 THEN X=1 570 IF V=1 THEN X=-1 580 P=P+U:Q=P*TAN(J*(180/3,14!)) 590 H=A1+X*P:Z=B1-Q 600 IF POINT(H+1,Z-1)=5 THEN M=H:N=Z:GOTO 640 610 IF POINT(H,Z)=7 THEN GOTO 710 620 PSET(H,Z),6 630 GOTO 560 640 IF V=0 THEN X=1 650 IF V=1 THEN X=-1 660 P=P+U:Q=P*TAN(J*(180/3,14!)) 670 H=M+X*P:Z=N+Q 680 PSET(H,Z),6 690 IF POINT (H,Z)=7 THEN GOTO 710 700 GOTO 640 710 CIRCLE(H,Z),K,1:PAINT(H,Z),0,1 720 GOTO 360