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