2530
2540
2550
2560
2570
2580
2590
2600
2610
2620
2630
2640
2650
2660
2670
2660
2690
2700
2710
2720
2730
2740
2750
2760
2770
2760
2790
2600
2810
2620
2830
2840
2850
2860
2070
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$(2,1) :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,48 :PRINT 'I 'I :NEXT Z
LOCATE 9+ST,48 :PRINT "+" :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
o
IF DT(BX,BY)=l AND BYcAl THEN CS$="
n
GOT0 2810
C&$9” .‘I
:IF (BX MOD 8)=1 THEN CS$="-"
IF (BY BOD lO)=O THEN CS$="+'
IF BY=Al OR DT(BX,BY+l)OO THEN 2810
IF ((BY+l) MOD lO)=O THEN CS$=CS$+"+" :GOTO 2810
IF (BX MOD 8)=1 THEN CS$=CS$+“-” ELSE CS$=CS$+“-I’
GOSUB 3660 :GOTO 2480
I----__ yes or No _--____-----___----_--~~-----~~~~~-~~-~-~~~~---
LOCATE PX,PY :PRINT "
I( : sag
LOCATE PX+l,PY :PRINT " ";sl$
IF NOT S THEN 2860 ELSE 2880
LOCATE PX,PY
:PRINT "=*>'
LOCATE PX+l,PY :PRINT n " :LOCATE PX,PY
IF S THEN 2890 ELSE 2910
LOCATE PX,PY
:PRINT w w
LOCATE PX+l,PY :PRINT "==>" :LOCATE PX,PY
I$=INPUTQ(l)
:IF I$OCHR$(13) THEN S=NOT S :GOTO 2850
RETURN
I_____- Fu,.&m-on key check --__-----__----__---------------------
I$=INPUT$(l) :SK=ASC(I$) :FK*VAL(I$)
IF SK>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 FK >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
n_____- 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
1--m--- Store ,..hara,..=r data --_---_-_-----_---------------------
CLS :LOCATE 20,20 :PRINT wa****
WAIT f..*"ll
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 6 :WT=l26 :P*O
FOR X-N TO N+7 :P=P+WT*(DT(X,Y) AND 1) :FL=FL+P
WT=.5*WT :NEXT X
P$(CC)=P$(CC)+CHR$(P) :NEXT N,Y
95