1 TEXT:GRAPH:GOSUB 9915
2 DIM X(58),Y(58),J(58),NA$(58),YY$(3,2,3)
5 DIM DT$(6,4),ZY(58)
10 GRAPH:BOX 0,0,160,80,1,1:A$="̡"
20 FOR N=0 TO 80 STEP 4:LINE N,N/2,N,80-N/2,0:LINE 160-N,N/2,160-N,80-N/2,0:NEXT
30 FOR N=1 TO 15 STEP 1:ELLIPSE 80,40,3*N,N,1,0:NEXT
40 FOR N=48 TO 104 STEP 3:LOCATE 3,6:PRINT A$:BOX N,32,N+15,48,1,0:NEXT
50 LOCATE 3,6:PRINT A$:A$=INKEY$:FOR N=0 TO 40 STEP 2:BOX 0,40-N,160,40+N,1,0:NEXT
60 PRINT " ****̡****",TAB (6);"1.Ϸ",TAB (6);"2.","    :HanWei"
65 PRINT " *******2004*******";
70 A$=INKEY$:IF A$="b" THEN 90 ELSE IF A$="n" THEN 9930 ELSE BEEP
80 GOTO 70
90 CLS:PRINT "(2-3):";:INPUT "";RS:IF RS=0 THEN 60 ELSE IF RS>3 OR RS<2 THEN 90
100 FOR N=1 TO RS
130 CLS:PRINT "";N,"<>1.(ɽ)",TAB (7);"2.()",TAB (7);"3.(Сѩ)"
140 A$=INKEY$
150 IF A$="b" THEN RW(N)=1 ELSE IF A$="n" THEN RW(N)=2 ELSE IF A$="m" THEN RW(N)=3
155 FOR M=1 TO N-1
156 IF N>1 AND RW(M)=RW(N)THEN LOCATE 1,8:PRINT "ʹ!":A$=INKEY$:RW(N)=0:GOTO 130
157 NEXT
160 IF A$="b" OR A$="n" OR A$="m" THEN 170 ELSE 140
170 NEXT
180 CLS:PRINT "߷ʽ:1.m",TAB (10);"2."
190 A$=INKEY$:IF A$="b" THEN XZ=1 ELSE IF A$="n" THEN XZ=2 
200 IF A$="b" OR A$="n" THEN 220 ELSE 190
220 CLS:PRINT "ʤ:","1.(Ʋ)","2...."
230 A$=INKEY$:IF A$="b" THEN SL=1 ELSE IF A$="n" THEN SL=2 
240 IF A$="b" OR A$="n" OR A$="m" THEN 250 ELSE 230
250 IF SL=2 THEN PRINT "λ:¡:";:INPUT "";AF:IF AF<1 THEN 220 
260 CLS:LOCATE 3,6:PRINT "ȷ(Y/N)":A$=INKEY$:PRINT
270 IF A$="y" THEN 280 ELSE IF A$="n" THEN 90 ELSE BEEP:GOTO 260
280 READ DQ,RQ,JY:DATA 1,1,1
310 GOSUB 9000:CLS
320 IF SL=2 AND SYF=AF THEN 600 
350 LOCATE 1,1:FOR N=1 TO 4:PRINT DT$(BM(DQ),N):NEXT
360 LOCATE 1,13:PRINT RW$(RW(DQ));NAME$(RW(DQ))
365 BOX 96,0,160,63,1,0
370 LOCATE 2,13:PRINT ":";XJ(DQ)
380 LOCATE 3,13:PRINT ":";CK(DQ)
390 LOCATE 4,13:PRINT "ȯ:";DQ(DQ)
400 GOSUB 8960:LOCATE 5,1:PRINT "ʱ:";JY;"";RQ;"";
405 FOR N=1 TO RS
410 IF BM(N)=BM(DQ)THEN LOCATE Y(WZ(N)),X(WZ(N)):PRINT RW$(RW(N))
415 NEXT:GOSUB 8940
421 IF YB(DQ)<>0 THEN GOSUB 8960:LOCATE 5,1:PRINT "סԺ";YB(DQ);"";:A$=INKEY$:GOTO 1480
422 IF ZL(DQ)<>0 THEN GOSUB 8960:LOCATE 5,1:PRINT "...";:A$=INKEY$:GOTO 1480
426 IF YK=1 THEN 1000
430 A$=INKEY$
440 IF A$="x" THEN 740 ELSE IF A$="k" THEN 2000 ELSE IF A$=CHR$(13)THEN 1000 ELSE IF A$="s" THEN 9925
500 IF A$=CHR$(25)THEN 510 ELSE ELSE IF A$="r" THEN 9930 ELSE GOTO 430
510 CLS:PRINT " -----˵-----","X=ϵͳK=ʹÿƬ"
520 PRINT "S=浵    R="
540 PRINT "[]===ɫ","[]===˵";
560 A$=INKEY$:CLS
570 GOTO 320
600 CLS:PRINT " -----Ϸ-----","ͳʲ...";
610 FOR M=1 TO RS:FOR N=1 TO 58
620 IF ZY(N)=M THEN ZC(M)=ZC(M)+J(N)
630 NEXT:NEXT
640 FOR N=1 TO RS 
645 IF SM(N)=0 THEN ZC(N)=ZC(N)+XJ(N)+CK(N)
646 NEXT
650 FOR N=1 TO RS:IF ZC(N)>MAX THEN MAX=ZC(N):MAXRW=N 
660 NEXT:PRINT "OK!"
670 PRINT "ھ:",TAB (5);RW$(RW(MAXRW));NAME$(RW(MAXRW)),"ϲϲ";:A$=INKEY$
720 CLS:PRINT " ","      <ټ>":END
740 CLS:PRINT " -----ϵͳ----- ","     1.","     2.˳Ϸ"
760 A$=INKEY$:IF A$="b" THEN 320 ELSE IF A$="n" THEN 950 ELSE BEEP:GOTO 760
950 PRINT "     ȷ(Y/N)";
960 A$=INKEY$
970 IF A$="y" THEN CLS:PRINT " "," ","     ټ":END
980 IF A$="n" THEN 740 ELSE BEEP:GOTO 960 
1000 GOSUB 8960:IF YK=1 THEN BS=YBS:YK=0:GOTO 1070
1005 LOCATE 5,1:PRINT "ɫ ";
1015 FOR N=1 TO XZ:SZ(N)=INT(1+6*RND(1)):BS=BS+SZ(N):NEXT
1055 LOCATE 5,8:FOR N=1 TO XZ:PRINT SZ(N);" ";:NEXT:GOSUB 8940
1070 FOR NN=1 TO BS 
1080 WZ(DQ)=WZ(DQ)+SGN(FX(DQ))
1090 IF WZ(DQ)=0 THEN WZ(DQ)=58
1100 IF WZ(DQ)=59 THEN WZ(DQ)=1
1110 IF WZ(DQ)>=53 OR WZ(DQ)<=6 THEN BM(DQ)=1
1130 IF WZ(DQ)>=15 AND WZ(DQ)<=25 THEN BM(DQ)=3
1140 IF WZ(DQ)>=26 AND WZ(DQ)<=34 THEN BM(DQ)=4
1145 IF WZ(DQ)>=35 AND WZ(DQ)<=43 THEN BM(DQ)=5
1150 IF WZ(DQ)>=44 AND WZ(DQ)<=52 THEN BM(DQ)=6
1155 IF WZ(DQ)>=7 AND WZ(DQ)<=14 THEN BM(DQ)=2
1160 LOCATE 1,1:FOR N=1 TO 4:PRINT DT$(BM(DQ),N):NEXT
1165 FOR N=1 TO RS 
1170 IF BM(N)=BM(DQ)THEN LOCATE Y(WZ(N)),X(WZ(N)):PRINT RW$(RW(N))
1175 NEXT
1180 GOSUB 8940
1200 IF NA$(WZ(DQ))="Y" THEN GOSUB 8000
1210 NEXT
1220 IF NA$(WZ(DQ))="S" THEN GOSUB 4000
1222 IF NA$(WZ(DQ))="L" THEN DQ(DQ)=DQ(DQ)+J(WZ(DQ)):GOSUB 5500
1225 IF NA$(WZ(DQ))="M" THEN GOSUB 5000
1230 IF ASC(NA$(WZ(DQ)))<71 AND ASC(NA$(WZ(DQ)))>64 THEN 1500
1480 BS=0:DQ=DQ+1:IF DQ>RS THEN DQ=1
1485 PD=PD+1:IF PD>RS THEN PD=1
1490 IF PD=RS THEN RQ=RQ+1:IF RQ>30 THEN RQ=1:SYF=SYF+1:KG=1:JY=JY+1:IF JY>12 THEN JY=1
1491 IF KG=1 THEN KG=0:GOSUB 3000
1492 IF ZL(DQ)<>0 THEN ZL(DQ)=ZL(DQ)-1
1493 IF YB(DQ)<>0 THEN YB(DQ)=YB(DQ)-1
1499 GOTO 320
1500 A=WZ(DQ)
1510 IF A>1 AND A<7 THEN LM$="и·"
1515 IF A>8 AND A<14 THEN LM$="·"
1520 IF A>14 AND A<19 THEN LM$="ɽ·"
1525 IF A>19 AND A<25 THEN LM$="Ͼ·"
1530 IF A>43 AND A<48 THEN LM$="·"
1535 IF A>48 AND A<53 THEN LM$=""
1540 IF A>53 THEN LM$="Ʒɽ"
1550 GOSUB 8960:LOCATE 5,1:PRINT LM$;NA$(WZ(DQ));":";J(WZ(DQ));"Ԫ";
1560 GOSUB 8940:A$=INKEY$:IF ZY(WZ(DQ))=0 THEN 1570 
1565 IF ZY(WZ(DQ))=DQ THEN 1670 ELSE 1630
1570 IF XJ(DQ)<J(WZ(DQ))THEN GOSUB 8960:LOCATE 5,1:PRINT "ʽ";:A$=INKEY$:GOTO 1480
1575 GOSUB 8960:LOCATE 5,1:PRINT "Ƿ(Y/N)";:GOSUB 8940
1580 A$=INKEY$
1590 IF A$="n" THEN 1480 ELSE IF A$="y" THEN 1620 ELSE BEEP:GOTO 1580
1620 ZY(WZ(DQ))=DQ:XJ(DQ)=XJ(DQ)-J(WZ(DQ)):GOTO 1480
1630 GOSUB 8960:LOCATE 5,1:PRINT "˵ع";NAME$(RW(ZY(WZ(DQ))));"";
1632 GOSUB 8940:A$=INKEY$
1635 YF=INT(J(WZ(DQ))*RND(1)/2)
1636 IF ZL(ZY(WZ(DQ)))<>0 THEN 6600 
1638 IF YB(ZY(WZ(DQ)))<>0 THEN 6500 
1640 GOSUB 8960:LOCATE 5,1:PRINT "Ӧ";YF;"Ԫ";:GOSUB 8940:A$=INKEY$
1650 XJ(DQ)=XJ(DQ)-YF:IF XJ(DQ)<0 THEN 6000
1655 XJ(ZY(WZ(DQ)))=XJ(ZY(WZ(DQ)))+YF 
1663 H=2:P=DQ:GOSUB 7000
1664 H=1:P=ZY(WZ(DQ)):GOSUB 7000
1665 GOTO 1480
1670 GOSUB 8960:LOCATE 5,1:PRINT "ǷӸ(Y/N)";:GOSUB 8940
1680 A$=INKEY$
1690 IF A$="n" THEN 1480 ELSE IF A$="y" THEN 1720 ELSE BEEP:GOTO 1680
1720 IF XJ(DQ)>=J(WZ(DQ))*0.3 THEN 1740 
1730 GOSUB 8960:LOCATE 5,1:PRINT "ʽ";:GOSUB 8940:A$=INKEY$:GOTO 1480
1740 YF=INT(J(WZ(DQ))*0.3):XJ(ZY(WZ(DQ)))=XJ(DQ)-YF
1750 J(WZ(DQ))=J(WZ(DQ))+YF:IF J(WZ(DQ))>9999 THEN J(WZ(DQ))=9999
1760 GOTO 1480
2000 CLS:PRINT " -----    Ƭ----- ":X=1:Y=2
2010 FOR NA=1 TO 3:LOCATE Y,X
2020 PRINT NA;KN$(NA);"X";YKP(DQ,NA);
2030 Y=Y+1:IF Y=6 THEN X=11:Y=2 
2040 NEXT
2055 LOCATE Y,X:PRINT "Q.뿪";
2060 A$=INKEY$
2070 IF A$="b" AND YKP(DQ,1)<>0 THEN 2130
2080 IF A$="m" AND YKP(DQ,3)<>0 THEN FX(DQ)=-FX(DQ):YKP(DQ,3)=YKP(DQ,3)-1:GOTO 320
2090 IF A$="n" AND YKP(DQ,2)<>0 THEN 2200
2110 IF A$="q" THEN 320 ELSE 2060 
2130 YK=1:YKP(DQ,1)=YKP(DQ,1)-1
2135 CLS:PRINT "벽:";:INPUT "";YBS
2140 IF YBS<1 OR YBS>6*XZ THEN 2130
2150 GOTO 320
2200 AA=0:CLS:PRINT "˭ƶ:"
2210 FOR NA=1 TO RS:PRINT "  ";NA;".";RW$(RW(NA)):NEXT
2215 PRINT "  Q.";
2220 A$=INKEY$
2230 IF A$="b" THEN AA=1 ELSE IF A$="n" THEN AA=2 
2240 IF A$="m" THEN AA=3
2245 IF A$="q" THEN 2000
2246 IF AA<>0 THEN 2250 ELSE BEEP:GOTO 2220
2250 IF AA=DQ OR AA>RS THEN BEEP:GOTO 2220
2260 IF BM(AA)<>BM(DQ)THEN LOCATE 3,9:PRINT "Ҳѽ!":A$=INKEY$:GOTO 2200
2290 BB=(XJ(DQ)+XJ(AA))/2:XJ(DQ)=BB:XJ(AA)=BB:YKP(DQ,2)=YKP(DQ,2)-1:GOTO 320
3000 CLS:PRINT "ĩϢ!ÿ˿ɵô20%.":FOR N=1 TO RS:CK(N)=INT(CK(N)*1.2):NEXT
3010 A$=INKEY$:RETURN
4000 CLS:PRINT " -----̳----- ","1.ңؿ(90)","2.ƶ(100)","3.ת(50)"
4009 PRINT "Q..:";DQ(DQ);"";
4010 A$=INKEY$
4020 IF A$="b" THEN AA=1 ELSE IF A$="n" THEN AA=2 ELSE IF A$="m" THEN AA=3 
4030 IF A$="q" THEN 1480
4040 IF AA<>0 THEN 4050 ELSE BEEP:GOTO 4010
4050 IF DQ(DQ)<JK(AA)THEN LOCATE 5,8:PRINT "ȯ!";:BEEP:A$=INKEY$:GOTO 4000
4060 DQ(DQ)=DQ(DQ)-JK(AA):YKP(DQ,AA)=YKP(DQ,AA)+1:GOTO 4000
5000 GOSUB 8960:LOCATE 5,1:PRINT "ȡƬһ";:GOSUB 8940:A$=INKEY$:CLS
5010 F=INT(1+4*RND(1)):PRINT KP$(F):A$=INKEY$
5020 IF F=1 THEN XJ(DQ)=XJ(DQ)+1000
5030 IF F=2 THEN XJ(DQ)=XJ(DQ)-1000:IF XJ(DQ)<0 THEN 6000
5040 IF F=3 THEN ZL(DQ)=4:WZ(DQ)=7:BM(DQ)=2
5050 IF F=4 THEN YB(DQ)=4:WZ(DQ)=25:BM(DQ)=3
5060 RETURN
5500 GOSUB 8960:LOCATE 5,1:PRINT "õȯ";J(WZ(DQ));"";:GOSUB 8940:A$=INKEY$
5600 H=1:P=DQ:GOSUB 7000:RETURN
6000 GOSUB 8960:LOCATE 5,1:PRINT RW$(RW(DQ));":Ʋˣ";:GOSUB 8940:A$=INKEY$
6010 SM(DQ)=1:GOTO 600
6500 GOSUB 8960:LOCATE 5,1:PRINT RW$(ZY(WZ(DQ)));"סԺ...";:GOSUB 8940:A$=INKEY$
6510 GOTO 6700
6600 GOSUB 8960:LOCATE 5,1:PRINT NAME$(RW(ZY(WZ(DQ))));"...";:GOSUB 8940:A$=INKEY$
6700 GOSUB 8960:LOCATE 5,1:PRINT "ý!";:GOSUB 8940:A$=INKEY$
6710 GOTO 1480
7000 B=INT(1+RND(1)*3)
7010 GOSUB 8960:LOCATE 5,1:PRINT RW$(RW(P));":";YY$(RW(P),H,B);:GOSUB 8940:A$=INKEY$
7020 RETURN
8000 CLS:PRINT " ---------- ","     1.","     2.ȡ","     3.뿪"
8010 A$=INKEY$
8020 IF A$="b" THEN 8060 
8030 IF A$="n" THEN 8090 
8040 IF A$="m" THEN 8125 
8050 GOTO 8010 
8060 LOCATE 5,1:PRINT "(";XJ(DQ);")";:INPUT "";A
8070 IF A<0 OR A>XJ(DQ)THEN BEEP:GOTO 8060
8080 XJ(DQ)=XJ(DQ)-A:CK(DQ)=CK(DQ)+A:GOTO 8000
8090 LOCATE 5,1:PRINT "ȡ(";CK(DQ);")";:INPUT "";A
8100 IF A<0 OR A>CK(DQ)THEN BEEP:GOTO 8090
8110 XJ(DQ)=XJ(DQ)+A:CK(DQ)=CK(DQ)-A:GOTO 8000
8125 IF NN<>BS THEN 8210
8130 CLS:PRINT " ---------- ","     1.","     2.뿪"
8140 A$=INKEY$
8150 IF A$="b" THEN 8180 
8160 IF A$="n" THEN 1210 
8170 GOTO 8140 
8180 LOCATE 4,1:PRINT "(1-1000):";:INPUT "";A
8190 IF A<0 OR A>1000 THEN BEEP:GOTO 8180
8200 CK(DQ)=CK(DQ)+A:GOTO 8210
8210 CLS:LOCATE 1,13:PRINT RW$(RW(DQ));NAME$(RW(DQ))
8220 LOCATE 2,13:PRINT ":";XJ(DQ)
8230 LOCATE 3,13:PRINT ":";CK(DQ)
8240 LOCATE 4,13:PRINT "ȯ:";DQ(DQ)
8250 RETURN
8300 GOSUB 8960:LOCATE 5,1:PRINT "õȯ:";J(WZ(DQ));"    ";:GOSUB 8940:A$=INKEY$
8310 H=1:P=RW(DQ):GOSUB 7000:RETURN
8940 LINE 95,0,95,63:LINE 0,63,160,63
8950 RETURN
8960 LOCATE 5,1:PRINT "                   ";
8970 RETURN
9000 CLS:PRINT " ==========","#ϵͳϢ...";:FOR N=1 TO 58:READ X(N):NEXT
9010 DATA 1,3,5,7,9,11,1,1,3,5,7,9,9,9,9,7,5,3,3,3,3,5,7,9,11,11,11,11,9,7
9020 DATA 5,3,3,1,11,9,9,7,5,3,3,3,5,5,5,3,1,1,1,3,5,7,7,7,5,3,1,1
9030 FOR N=1 TO 58:READ Y(N):NEXT
9040 DATA 4,4,4,4,4,4,4,3,3,3,3,3,2,1,4,4,4,4,3,2,1,1,1,1,1,4,3,2,2,2
9050 DATA 2,2,3,3,3,3,2,2,2,2,3,4,4,1,2,2,2,3,4,4,4,4,1,2,2,2,2,3
9060 FOR N=1 TO 58:READ NA$(N):NEXT
9070 DATA Q,A,B,C,D,E,J,S,A,B,C,D,E,M,A,B,C,D,Y,A,B,C,D,E,Z,L,.,L,.,L
9080 DATA .,M,.,L,.,L,.,L,.,S,.,L,.,A,B,C,D,Y,A,B,C,D,M,A,B,C,D,E
9090 FOR NA=1 TO 3:FOR NB=1 TO 2:FOR NC=1 TO 3:READ YY$(NA,NB,NC):NEXT:NEXT:NEXT
9100 DATA ˧ˣ,ˣ,Thanks God!,డ,ⲻģ,My God!
9110 DATA ˡ,лΰĵ!,̫жˡ,Ҫ,ɡ,ˡ
9120 DATA ...,̫ˣ,׬Ǯ֡,,...,ⲻģ
9130 FOR N=1 TO 4:READ KP$(N):NEXT
9140 DATA Ϊý1000Ԫ
9190 DATA ٣ʧȥ1000Ԫ
9200 DATA 9.11¼йأ3졣
9210 DATA סԺ3졣
9220 PRINT "OK!","#ͼϢ...";:FOR N=1 TO 58:READ J(N):NEXT
9230 DATA 0,500,500,600,600,500,0,0,600,800,800,900,900,0,400,600,750,800,0,500
9240 DATA 650,650,500,900,0,30,0,30,0,20,0,0,0,20,0,50,0,50,0,0
9250 DATA 0,40,0,900,900,900,900,0,750,850,500,600,0,700,550,650,700,950
9270 FOR N=1 TO 3:READ KN$(N):NEXT
9280 DATA ңؿ,ƶ,ת
9310 FOR N=1 TO 3:READ JK(N):NEXT
9320 DATA 90,100,50
9370 FOR NA=1 TO 6:FOR NB=1 TO 4:READ DT$(NA,NB):NEXT:NEXT
9380 DATA "      l    ","iimm    ","k          ","B[[__a"
9390 DATA "          ","        i  ","jiimk  ","L          "
9400 DATA "  YYYY","  m        ","  R        ","  ]]^^  "
9410 DATA "            ","  uIuI","It      u","          I"
9420 DATA "            ","  jwIu  ","  u    It","  It      "
9430 DATA "    [      ","[[\      ","R          ","Zeeo    "
9440 PRINT "OK!","#Ϣ...";:FOR N=1 TO 3:READ NAME$(N):NEXT
9450 DATA "ɽ  ",,"Сѩ  "
9460 FOR N=1 TO 3:READ RW$(N):NEXT
9470 DATA ,,
9555 FOR M=1 TO 3:READ WZ(M),XJ(M),CK(M),FX(M),BM(M):NEXT
9560 DATA 1,5000,5000,1,1,1,5000,5000,1,1,1,5000,5000,1,1
9900 PRINT "OK!":PRINT ""
9910 RETURN
9915 PRINT "ĵ˵:ϷȨHANWEIEPC.","ڴϷȱ,:ܴ浵.,EPCصΪ޸";
9920 W$=INKEY$:CLS:RETURN
9925 BOX 1,1,160,80,1
9926 OPEN "EPC DOOM" FOR OUTPUT AS#1
9927 WRITE #1,XZ,SL,AF,DQ,RQ,JY,SYF,XJ,CK,ZY,ZC,J,RS,MAX
9928 WRITE #1,MAXRW,N,RW$,NAME$,BS,YBS,YK,BM,NA$,PD,DS,NA,YKP,KN$,CK
9929 CLOSE #1:GOTO 320
9930 CLEAR:OPEN "EPC DOOM" FOR INPUT AS#2
9931 INPUT #2,XZ,SL,AF,DQ,RQ,JY,SYF,XJ,CK,ZY,ZC,J,RS,MAX
9932 INPUT #2,MAXRW,N,RW$,NAME$,BS,YBS,YK,BM,NA$,PD,DS,NA,YKP,KN$,CK
9933 CLOSE #2:GOTO 320
9999 CLS