2530 IF Y<Al THEN DT(X,Y+l)=O :CS$=STRING$(S,l) :GOTO 2610 ELSE GOT0 2610
2540 IF Y=Al THEN CS$=CHR$(2) ELSE CS$=STRING$(2,2)
2550 GOT0 2610
2560
2570 IF ST<3 THEN CS$=CHR$(l) :GOTO 2610
2580 IF DT(X,Y+l)=l THEN CS$=CHR$(l) :GOTO 2610 2590 DT(X,Y)=l :CS$=CHR$(2)
2600 IF Y<Al THEN DT(X,Y+l)=P :CS$=STRING$(2,2)
2610 GOSUB 3670
2620 SS=ST :BX=X :BY=Y :GOSUB 2930 :IF SS=ST THEN 2710 2630
2640 IF ST>3 THEN 2670
2650 FOR Z=lO TO 12 :LOCATE Z,40 :PRINT " v :NEXT 2 2660 LOCATE 9+ST,4S :PRINT "t" :GOTO 2480
2670 IF ST=4 THEN GOSUB 3040 :GOTO 2460
2680 IF ST=5 THEN CLS :GOTO 1940
2690 IF ST=6 THEN 3210
2700 IF ST=7 THEN 3100
2710
2720 IF DT(BX,BY)=O THEN 2750 :ELSE
2730 IF DT(BX,BY)=l AND BY<Al THEN CS$= _ 2740 GOT0 2810
2750
2760 CS$.=" . I' :IF (BX MOD 8)=1 THEN
2770 IF (BY HOD lO)=O THEN CS$="+"
2780 IF BY=Al OR DT(BX,BY+l)<>O THEN 2810
2790 IF ((BY+l) MOD lO)=O THEN CS$=CS$+"+" :GOTO 2810
2800 IF (BX MOD .5)=1 THEN
2810 GOSUB 3680 :GOTO 2480
2820
2830 LOCATE PX,PY :PRINT " 'I;SO$
2840 LOCATE PX+l,PY :PRINT " ";slg
2850 IF NOT S THEN 2860 ELSE 2880
2860 LOCATE PX,PY :pRINT "zz)"
2870 LOCATE PX+l,PY :PRINT 'I 'I :LOCATE PX,PY
2880 IF S THEN 2890 ELSE 2910
2890 LOCATE PX,PY :PRINT w "
2900 LOCATE PX+l,PY :PRINT "==>" :LOCATE PX,PY
2910 I$=INPUT$(l) :IF I$<>CHR$(13) THEN S=NOT 8 :GOTO 2850
2920 RETURN
2930
2940 I$=INPUT$(l) :SK=ASC(I$) :FX=VAL(I$)
2950 IF SX>6 AND SK<14 THEN
2970 IF FK MOD 3 = 0 THEN Y=Y+l
2980 IF FK MOD 3 = 1 THEN
3000 IF FK (4 THEN X=X+1
3010 IF Y>Al THEN Y=Al ELSE IF Y<l THEN Y=l
3020 IF X>HI THEN X=HI ELSE IF X<l THEN X=1
3030 RETURN
3040
3050 FOR N=l TO
3060 IF O=N THEN PRINT LEFT$(SC$(O),Al): ELSE PRINT LEFT$(SC$(l),Al); 3070 NEXT 0,N
3080 FOR X=1 TO HI :FOR Y=l TO Al :DT(X,Y)=O :NEXT Y,X
3090 ST=2 :X=1 :Y=l :RETURN
3100
3110 CLS :LOCATE 20,20 :PRINT Il*==** WAIT *a***"
3120 FL=0 :A$(CC)=CHR$(AO)+CHR$(Al)+CHR$(A2) :A(CC)=Al :P$(CC)=""
3130 FOR Y=l TO Al :FOR N=l TO
3140FOR X=N TO N+7 :P=P+WT*(DT(X,Y) AND 1) :FL=FL+P
3150WT=.S*WT :NEXT X
3160P$(CC)=P$(CC)+CHR$(P) :NEXT N,Y