home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / i / i037 / 1.img / WBZX.BAS < prev    next >
Encoding:
BASIC Source File  |  1991-08-15  |  50.9 KB  |  1,518 lines

  1. 10 REM ^OK^4^DB╬σ▒╩╫╓╨═╤╡┴╖╚φ╝■ Ver 1.0^DA^1
  2. 11 reg 1,&HF000
  3. 12 call interrupt &H10
  4. 13 reg 4,reg(4) or &H8800
  5.    if (reg(4) and &H00ff)=7 then 15
  6. 14 reg 3,&h0606
  7. 15 reg 1,&HF001
  8. 16 call interrupt &H10
  9. 20 DIM PST(8),TP(3),BOT(3),CHONG$(3),DM$(2)
  10. 22 GOSUB 30000
  11. 24 def fnnewtimer=timer-oldtimer
  12. 26 def fnnewtime$
  13. 27 hour=int(fnnewtimer/3600)
  14. 28 min=int((fnnewtimer-hour*3600)/60)
  15. 29 sec=int(fnnewtimer-int(fnnewtimer/60)*60)
  16. 30 fnnewtime$=RIGHT$("0"+mid$(str$(hour),2),2)+":"+RIGHT$("0"+mid$(str$(min),2),2)+":"+RIGHT$("0"+mid$(str$(sec),2),2)
  17. 32 end def
  18. 35 GOSUB 30000:GOSUB 11850:GOSUB 23540
  19. 40 PST(1)=1:PST(2)=11:PST(3)=21:PST(4)=31:PST(5)=41:PST(6)=51:PST(7)=61:PST(8)=71
  20. 50 DIM T%(3000),LINF(12),LINB(12)
  21. 60 GOSUB 14580
  22. 70 XOX=1:KEY OFF:H=0
  23. 80 CLS:SCREEN 2,0,0
  24. 90 XOX=1:GOSUB 11550
  25. 100 TM=FNNEWTIMER
  26. 110 LOCATE 6,18:PRINT "│╠╨≥╔Φ╝╞:═⌡┬δ╡τ─╘╣½╦╛┐═╫∙╚φ╝■╤╨╛┐╚╦╘▒╧í░╥╘;
  27. 120 IF INKEY$="" AND FNNEWTIMER-TM<5 THEN 120
  28. 140 OPEN "RECORD" FOR INPUT AS #2
  29. 150 CLOSE
  30. 180 LOCATE 6,5:PRINT SPACE$(70);
  31. 190 MT=FNNEWTIMER:FOR I=1 TO 500:NEXT
  32. 200 IF FNNEWTIMER-MT<.06 THEN TYP$="286" ELSE TYP$="pc"
  33. 210 IF TYP$="286" THEN STT=1 ELSE STT=2
  34. 220 DATE2$="":H=0:KEY OFF:TM=1
  35. 230 OPEN "PRM" FOR INPUT AS #3
  36. 240 INPUT #3,G,SPEED,TTMM,INF
  37. 250 CLOSE #2,#3
  38. 260 DIM B$(100),C$(150),AC$(500),CD$(500),D$(100),E$(150),MK$(2,2,15)
  39. 270 K=0:LSN=0:DM$(0)="╬▐":DM$(1)="╙╨"
  40. 280 OPEN "record" FOR INPUT  AS #2
  41. 290 INPUT #2,D$,L$,S$,R$
  42. 300 IF VAL(L$)<=339 THEN L=VAL(L$)
  43. 310 IF NOT EOF(2) THEN 290
  44. 320 IF DATE$>=D$ AND DATE$>"01-01-1990" THEN 560
  45. 330 LOCATE 25,1:PRINT SPACE$(79);
  46. 340 LOCATE 25,3:PRINT "╓▒╜╙╗╪│╡ú║─¼╚╧╧╘╩╛╚╒╞┌╬¬╜±╚╒╚╒╞┌ú¼╖±╘≥╟δ░┤í░╘┬ú¡╚╒ú¡─Ωí▒╕±╩╜╓╪╨┬╩Σ╚δ╜±╚╒╚╒╞┌";:LINE(0,0)-(639,199),,B
  47. 350 ON ERROR GOTO 370
  48. 360 GOTO 430
  49. 370 IF ERL=470 OR ERL=550 OR ERL=530 OR ERL=540 THEN 390
  50. 380 RESUME
  51. 385 ON ERROR GOTO 8460
  52. 390 LOCATE 25,1:PRINT SPACE$(79);
  53. 400 LOCATE 25,23:PRINT "╩Σ╚δ╚╒╞┌┤φ╬≤ú¼╟δ╓╪╨┬╩Σ╚δ╒²╚╖╚╒╞┌úí";
  54. 410 LINE(0,0)-(639,199),,B
  55. 420 RESUME 430
  56. 430 LOCATE 5,20
  57. 440 PRINT " ╟δ╩Σ╚δ╜±╚╒╚╒╞┌: (╘┬-╚╒-─Ω) ";D$
  58. 450 F$=INPUT$(1)
  59. 460 IF F$=CHR$(13) THEN DATE2$=D$:GOTO 510
  60. 470 IF F$<"0" OR F$>"9" THEN ERROR(2)
  61. 480 DATE2$=F$
  62. 490 LOCATE 5,48:PRINT SPACE$(20);:LOCATE 5,48:PRINT F$;
  63. 500 INPUT "",F$:DATE2$=DATE2$+F$
  64. 510 LOCATE 25,1:PRINT "              ╣Γ▒Ω╝ⁿ[í· í√ íⁿ í²]:╤í╘±╧ε─┐    ╗╪│╡╝ⁿ[í√⌐ñ⌐╛]:╤í╓╨              ";:LINE (0,0)-(639,199),,B
  65. 520 LOCATE 5,20:PRINT SPACE$(55);
  66. 530 DATE$=DATE2$:DATE2$=DATE$
  67. 540 IF DATE$<D$ THEN ERROR(2)
  68. 550 DATE$=DATE2$:GOTO 580
  69. 560 DATE2$=DATE$
  70. 570 IF H<>0 OR HH<>0 THEN 640
  71. 580 IF H=0 AND HH=0 THEN LOCATE 6,18:PRINT "ú┼ú╙ú├ú║╖╡╗╪╓≈▓╦╡Ñú╗╞Σ╦ⁿ╝ⁿú║╝╠╨°╔╧┤╬┐╬│╠┴╖╧░" ELSE 640
  72. 590 D$=INPUT$(1)
  73. 600 LOCATE 6,16:PRINT SPACE$(55);
  74. 610 IF D$=CHR$(27) THEN 9170
  75. 620 IF L>114 THEN XOX=3 ELSE XOX=2
  76. 630 CLOSE:KEY(1) OFF:H=8:HM=8:GOTO 670
  77. 640 CLOSE
  78. 650 KEY(1) OFF
  79. 660 GOTO 9080
  80. 670 IF H=13 THEN ON KEY(1) GOSUB 8990 ELSE ON KEY(1) GOSUB 7450
  81. 680 IF H<9 THEN PLAY "MF"
  82. 690 IF H>14 OR H<1 THEN BEEP :GOTO 640
  83. 700 IF H=0 THEN 3770
  84. 710 IF H<8 THEN LINN=H
  85. 720 GOSUB 14580
  86. 730 IF H<8 THEN LINN=H
  87. 740 CLOSE #2:OPEN "RECORD" FOR INPUT AS #2
  88. 750 INPUT #2,D$,L$,S$,R$
  89. 760 NA$=D$:HM=H
  90. 770 ON H GOSUB 890,890,890,890,890,890,890,840,3490,890,840,5550,7560,8450
  91. 780 IF HM=10 AND LINN=8 THEN 810
  92. 790 IF (HM<>8 AND HM<>11) OR LINN>=12 THEN 640
  93. 800 FOR I=LINB(LINN) TO LINF(LINN):AC$(I)="":CD$(I)="":NEXT
  94. 810 LINN=LINN+1:H=HM:KO=1
  95. 820 GOSUB 930
  96. 830 GOTO 790
  97. 840 CLOSE #2
  98. 850 TM=INT(FNNEWTIMER*4) MOD 2
  99. 860 FOR LINN=1 TO 12
  100. 870 IF L>=LINB(LINN) AND L=<LINF(LINN) THEN 890
  101. 880 NEXT LINN
  102. 890 CLOSE #2,#3
  103. 900 GOSUB 11040
  104. 910 LOCATE 6,5:PRINT SPACE$(65)
  105. 920 LOCATE 6,31:PRINT"╒²╘┌╢┴┼╠ú¼╟δ╔╘║≥úí"
  106. 930 IF LINN>=13 THEN LINN=1 
  107. 940 FILN$="Ex"+MID$(STR$(LINN),2):WT=0
  108. 950 CLOSE #1
  109. 960 OPEN FILN$ FOR INPUT AS #1
  110. 970 FOR K=LINB(LINN) TO LINF(LINN)
  111. 980 LINE INPUT #1,AC$(K)
  112. 990 TM=INT(FNNEWTIMER*4) MOD 2
  113. 1000 IF TM=OT THEN 1030
  114. 1010 XE=30:LONG=19:OT=TM
  115. 1020 IF KO=0 THEN GOSUB 8960
  116. 1030 LINE INPUT #1,CD$(K)
  117. 1040 NEXT K
  118. 1050 SSS=0:TTT=0:RRR=0
  119. 1060 LL=LINF(LINN)
  120. 1080 IF HM<>8 AND HM<>11 THEN L=LINB(LINN)
  121. 1090 IF HM<>11 THEN 1110
  122. 1100 IF KO=0 THEN 3780 ELSE GOSUB 4100
  123. 1110 IF L>LL THEN RETURN
  124. 1120 KEY(1) ON
  125. 1130 FOR II=1 TO G
  126. 1140 IF II=1 THEN GOSUB 2800 ELSE GOSUB 2830
  127. 1150 R=0:ODP=P
  128. 1160 LOCATE ,PQ
  129. 1170 FOR I=1 TO P
  130. 1180 D$=LEFT$(E$(I),1)
  131. 1190 KOK=1:GOSUB 14520 
  132. 1200 IF HP=1 THEN GOSUB 7530
  133. 1210 ERE=1
  134. 1220 D$=""
  135. 1230 IF INF=0 OR MD=0 THEN 1320
  136. 1240 X=POS(0):Y=CSRLIN
  137. 1250 LOCATE Y-2,1
  138. 1260 PRINT SPACE$(79);
  139. 1270 LOCATE Y-2,X
  140. 1280 PRINT E$(I);
  141. 1290 LOCATE Y,X
  142. 1300 KEY(1) ON
  143. 1310 KG=0:OT=0
  144. 1320 FOR OP=1 TO LEN(C$(I))
  145. 1330 F$=INKEY$
  146. 1340 TM=INT(FNNEWTIMER*4) MOD 2
  147. 1350 IF TM=OT THEN 1390
  148. 1360 KG=((KG+1) MOD 2):OT=TM
  149. 1370 XE=POS(1):LONG=LEN(C$(I))
  150. 1375 IF OT2<>INT(FNNEWTIMER) THEN PLAY"O0C64":OT2=INT(FNNEWTIMER)
  151. 1380 GOSUB 8960
  152. 1390 IF F$="" OR F$=" " THEN 1330
  153. 1400 IF F$<="z" AND F$>="a" THEN XPX=CSRLIN:KG=((KG+1) MOD 2):YPY=POS(1):BEEP:LOCATE 25,1:PRINT"                         ╟δ╙├ú┴ú╠ú╘ú½ú╞ú▓╜°╚δ╬σ▒╩╫╓╨═╫┤╠¼                      ";:LOCATE XPX,YPY
  154. 1405 IF F$<="Z" AND F$>="A" THEN XPX=CSRLIN:YPY=POS(1):BEEP:LOCATE 25,1:PRINT"                    ╟δ╙├ Caps Lock ú¿┤≤╨í╨┤╫¬╗╗ú⌐╝ⁿ═╦│÷┤≤╨┤╫┤╠¼                ";:LOCATE XPX,YPY
  155. 1410 IF ASC(F$)=27 THEN 2610
  156. 1420 IF F$=CHR$(0)+"I" THEN SP$=CHR$(13):LD=-1:GOTO 2610
  157. 1430 IF F$=CHR$(0)+"Q" THEN SP$=CHR$(13):LD=1:GOTO 2610
  158. 1440 IF ASC(F$)<150 THEN 1200
  159. 1450 D$=D$+F$
  160. 1460 IF LEN(D$) MOD 2=0 AND D$<>LEFT$(C$(I),LEN(D$)) THEN 1480
  161. 1470 NEXT
  162. 1480 XE=POS(1)
  163. 1490 PRINT D$;
  164. 1500 PRINT " ";
  165. 1510 IF I>1 THEN 1530
  166. 1520 GOSUB 30000
  167. 1530 IF D$=C$(I) THEN LET C$(I)="":R=R+1:GOTO 1720
  168. 1540 ERE=ERE+1
  169. 1550 KEY(1) OFF:PLAY "O2c8d8e8f8g8":KEY(1) ON
  170. 1560 LOCATE ,XE
  171. 1570 IF ERE>3 THEN GOSUB 7450
  172. 1580 PRINT SPACE$(LEN(C$(I)));
  173. 1590 LOCATE ,XE
  174. 1600 D$=""
  175. 1610 FOR OP=1 TO LEN(C$(I))
  176. 1620 F$=INKEY$
  177. 1625 IF OT<>INT(FNNEWTIMER) THEN PLAY"mbO0C64":OT=INT(FNNEWTIMER)
  178. 1630 IF F$="" THEN 1620
  179. 1640 IF ASC(F$)=27 THEN LD=0:GOTO 2610
  180. 1650 IF ASC(F$)<150 THEN 1600
  181. 1660 D$=D$+F$
  182. 1670 IF LEN(D$) MOD 2=0 AND D$<>LEFT$(C$(I),LEN(D$)) THEN 1690
  183. 1680 NEXT
  184. 1690 PRINT D$;
  185. 1700 PRINT " ";
  186. 1710 IF D$<>C$(I) THEN 1540
  187. 1720 D$=LEFT$(E$(I),1)
  188. 1730 KOK=1:GOSUB 14520
  189. 1740 IF KG=0 THEN 1760
  190. 1750 KG=0:GOSUB 8960
  191. 1760 NEXT I
  192. 1770 PLAY"O0C64"
  193. 1780 T=VAL(RIGHT$(FNNEWTIME$,2))+60*VAL(MID$(FNNEWTIME$,4,2))
  194. 1790 PRINT:PRINT :LOCATE ,30:PRINT "╦┘  ╢╚:";INT(P/T*30)*LONG;"╫╓ú»╖╓"
  195. 1800 LOCATE ,20:PRINT "          ╒²╚╖┬╩:";INT(R/P*100);"úÑ           ";
  196. 1810 IF INT(P/T*60)>1 THEN SSS=SSS+INT(P/T*30)*LONG:RRR=RRR+INT(R/P*100):TTT=TTT+1
  197. 1820 TM=TM+1
  198. 1830 IF INKEY$="" THEN 1830
  199. 1840 IF R=P THEN 2310
  200. 1850 FOR I=1 TO P
  201. 1860 IF C$(I)="" THEN 2300
  202. 1870 CLS
  203. 1880 LOCATE 10,1:PRINT "ú╞ú▒ú║░∩╓·            [ESC]═╦│÷";
  204. 1890 LOCATE 2,22:PRINT "╟δ─·░╤╕╒╕╒┤≥┤φ╡─╫╓ú¿┤╩ú⌐╢α┴╖╝╕▒Θú¼╨╗╨╗úí"
  205. 1900 IF L<=114 THEN LOCATE 4,32:TP=5:GOTO 1920
  206. 1910 LOCATE 4,(80-LEN(C$(I))*3-2)/2:TP=3
  207. 1920 FOR J=1 TO TP
  208. 1930 PRINT C$(I);
  209. 1940 PRINT " ";
  210. 1950 NEXT J
  211. 1960 IF L<=114 THEN LOCATE 5,32:GOTO 1980
  212. 1970 PRINT :LOCATE ,(80-LEN(C$(I))*3-2)/2
  213. 1980 FOR J=1 TO TP
  214. 1990 IF HP=1 THEN GOSUB 7530
  215. 2000 D$=""
  216. 2010 FOR OP=1 TO LEN(C$(I))
  217. 2020 F$=INKEY$
  218. 2025 IF OT<>INT(FNNEWTIMER) THEN PLAY"mbO0C64":OT=INT(FNNEWTIMER)
  219. 2030 IF F$="" THEN 2020
  220. 2040 IF ASC(F$)=27 THEN L=L-1:GOTO 2390
  221. 2050 IF ASC(F$)<150 THEN 1990
  222. 2060 D$=D$+F$
  223. 2070 IF LEN(D$) MOD 2=0 AND D$<>LEFT$(C$(I),LEN(D$)) THEN 2090
  224. 2080 NEXT
  225. 2090  XE=POS(1)
  226. 2100 PRINT D$;
  227. 2110 PRINT " ";
  228. 2120 IF D$=C$(I) THEN 2290
  229. 2130 KEY(1) OFF:PLAY "O2g8f8e8d8c8":KEY(1) ON
  230. 2140 LOCATE ,XE
  231. 2150 PRINT SPACE$(LEN(C$(I)));
  232. 2160 LOCATE ,XE
  233. 2170 D$=""
  234. 2180 FOR OP=1 TO LEN(C$(I))
  235. 2190 F$=INKEY$
  236. 2195 IF OT<>INT(FNNEWTIMER) THEN PLAY"O0C64":OT=INT(FNNEWTIMER)
  237. 2200 IF F$="" THEN 2190
  238. 2210 IF ASC(F$)=27 THEN L=L-1:GOTO 2390
  239. 2220 IF ASC(F$)<150 THEN 2170
  240. 2230 D$=D$+F$
  241. 2240 IF LEN(D$) MOD 2=0 AND D$<>LEFT$(C$(I),LEN(D$)) THEN 2260
  242. 2250 NEXT
  243. 2260 PRINT D$;
  244. 2270 PRINT " ";
  245. 2280 IF D$<>C$(I) THEN 2130
  246. 2290 NEXT J
  247. 2300 NEXT I
  248. 2310 MD=0
  249. 2320 IF SPEED<=0 THEN LD=1:GOTO 2370 ELSE II=1
  250. 2330 LD=0
  251. 2340 IF P/T*30*LONG>SPEED AND R/P*100>=85 THEN LD=1:GS=1:GOSUB 2610
  252. 2350 IF R/P*100<60 THEN LD=-1:GS=1:GOSUB 2610
  253. 2360 IF L>LL THEN R=0:GOTO 2390
  254. 2370 R=0
  255. 2380 NEXT II
  256. 2390 IF TM=1 THEN TM=2
  257. 2400 SP$=CHR$(13)
  258. 2610 L=L+LD
  259. 2620 IF L<LINB(LINN) THEN L=LINB(LINN)
  260. 2630 IF L=360 THEN CLOSE #2:OPEN "record" FOR APPEND AS #2:WRITE #2,DATE2$,0,0,0:CLOSE #2,#3:RETURN
  261. 2640 IF GS=0 OR DSP=1 THEN DSP=0
  262. 2650 IF L<=LL THEN 2720
  263. 2660 IF TTT<1 OR WT=1 THEN 2710
  264. 2670 OPEN "record" FOR APPEND AS #2
  265. 2680 WRITE #2,DATE$,L-LD,INT(SSS/TTT+.5),INT(RRR/TTT+.5)
  266. 2690 CLOSE #2
  267. 2700 WT=1
  268. 2710 GS=0:RETURN
  269. 2720 IF GS=1 THEN GOSUB 2800:RETURN
  270. 2730 IF ASC(F$)<>27 OR WT=1 THEN 2790
  271. 2740 IF TTT<1 THEN 2780
  272. 2750 OPEN "record" FOR APPEND AS #2
  273. 2760 WRITE #2,DATE$,L-LD,INT(SSS/TTT+.5),INT(RRR/TTT+.5)
  274. 2770 CLOSE #2
  275. 2780 RETURN 640
  276. 2790 GOTO 1090
  277. 2800 RANDOMIZE(VAL(RIGHT$(FNNEWTIME$,2)))
  278. 2810 A$=AC$(L):B$=CD$(L):MD=1
  279. 2820 P=LEN(A$)/2:PQ=40-P
  280. 2830 LOCATE ,PQ
  281. 2840 KI=1:P=0
  282. 2850 KJ=INSTR(KI,A$," ")
  283. 2860 IF KJ<>0 and kj<len(a$) THEN 2870
  284. 2862 P=P+1
  285. 2863 B$(P)=MID$(A$,KI,LEN(A$)+1-KI)
  286. 2865 GOTO 2900
  287. 2870 P=P+1:B$(P)=MID$(A$,KI,KJ-KI)
  288. 2880 KI=KJ+1
  289. 2890 GOTO 2850
  290. 2900 KI=1:P2=0
  291. 2910 KJ=INSTR(KI,B$," ")
  292. 2920 IF KJ=0 or kj>len(b$) THEN P2=P2+1:D$(P2)=MID$(B$,KI,LEN(B$)+1-KI):GOTO 2960
  293. 2930 P2=P2+1:D$(P2)=MID$(B$,KI,KJ-KI)
  294. 2940 KI=KJ+1
  295. 2950 GOTO 2910
  296. 2960 FOR I=1 TO P
  297. 2970 IF SPEED=0 AND II=1 THEN K=I ELSE K=INT((P+1)*(RND+.05))
  298. 2980 IF B$(K)<>"" THEN C$(I)=B$(K):E$(I)=D$(K):B$(K)="" ELSE 2970
  299. 2990 NEXT I
  300. 3000 IF GS=1 THEN GS=0:RETURN
  301. 3010 CLS
  302. 3020 LOCATE 10,1:PRINT "   ú╞ú▒ú║═Γ┬δ╠ß╩╛   PgUp:╔╧╖¡╥╗╨╨  PgDn:╧┬╖¡╥╗╨╨            [ESC]:═╦│÷";
  303. 3030 IF H=8 AND SPEED<=0 THEN LOCATE 1,24:PRINT "╨╨╩²: ";L;"           ┤╬╩²: ";II:GOTO 3060
  304. 3040 IF H=8 AND SPEED>0 THEN LOCATE 1,36:PRINT "╨╨╩²: ";L:GOTO 3060
  305. 3050 LOCATE 1,24:PRINT "           ┤╬╩²: ";II
  306. 3060 LOCATE 1,70
  307. 3070 IF L=0 THEN PRINT"╥╗╝╢╝≥┬δ";
  308. 3080 IF L=1 THEN PRINT"╝ⁿ├√╫╓╕∙";
  309. 3090 IF L>1 AND L<37 THEN PRINT "╢■╝╢╝≥┬δ";
  310. 3100 IF L>36 AND L<40 THEN PRINT"│╔╫╓╫╓╕∙";
  311. 3110 IF L>39 AND L<48 THEN LOCATE 1,62:PRINT"─⌐▒╩╫╓╨═╜╗▓µ╩╢▒≡┬δ";
  312. 3120 IF L>47 AND L<107 THEN LOCATE 1,70:PRINT "│ú╙├╥╗╟º╫╓";
  313. 3130 IF L>106 AND L<=114 THEN PRINT "─╤╫╓╩Σ╚δ";
  314. 3140 IF L>114 AND L<337 THEN PRINT "┤╩╫Θ╩Σ╚δ";
  315. 3145 LOCATE 1,1:PRINT NA$;
  316. 3150 IF L=0 THEN GOSUB 3310 ELSE GOSUB 3260
  317. 3160 GOSUB 8780
  318. 3180 LOCATE 6,PQ
  319. 3190 FOR I=1 TO P
  320. 3200 PRINT C$(I);
  321. 3210 PRINT " ";
  322. 3220 NEXT I
  323. 3230 PRINT
  324. 3240 RETURN
  325. 3250 END
  326. 3260 REM ╥╗╝╢╝≥┬δ
  327. 3265 LOCATE 2,1 
  328. 3270 PRINT"                Q╜≡  W╚╦  E╘┬  R░╫  T║╠  Y╤╘  U┴ó  I╦«  O╗≡  P╓«  "
  329. 3280 PRINT"                 A╣ñ  S─╛  D┤≤  F═┴  G═⌡  H─┐  J╚╒  K┐┌  L╠∩   ;  "
  330. 3290 PRINT"                  Z    Xµ∙  C╙╓  V┼«  B╫╙  N╥╤  M╔╜  ,  .         "
  331. 3300 RETURN
  332. 3310 REM
  333. 3315 LOCATE 2,1
  334. 3320 PRINT"                Q╬╥  W╚╦  E╙╨  R╡─  T║═  Y╓≈  U▓·  I▓╗  O╬¬  P╒Γ  "
  335. 3330 PRINT"                 A╣ñ  S╥¬  D╘┌  F╡╪  G╥╗  H╔╧  J╩╟  K╓╨  L╣·   ;  "
  336. 3340 PRINT"                  Z    X╛¡  C╥╘  V╖ó  B┴╦  N├±  M═¼  ,  .         "
  337. 3350 RETURN
  338. 3490 CLOSE #2,#3
  339. 3500 OPEN "record" FOR INPUT AS #2
  340. 3510 INPUT #2,D$,L$,S$,R$
  341. 3520 IF VAL(L$)<=339 THEN L=VAL(L$)
  342. 3530 IF NOT EOF(2) THEN 3510 ELSE CLOSE #2,#3
  343. 3540 LOCATE 4,30:PRINT "1. ├┐┐╬┤╬╩² :";G
  344. 3550 LOCATE 5,30:PRINT "2. ┤∩▒Ω╦┘╢╚ :";SPEED
  345. 3570 LOCATE 6,30:PRINT "3. ┤·┬δ╠ß╩╛ : ";DM$(INF)
  346. 3580 LOCATE 8,30:PRINT "[ESC]. ═╦│÷"
  347. 3590 LOCATE 9,30:PRINT "╨▐╕─╧ε─┐:_";:BEEP:YP=POS(0)-1
  348. 3592 LOCATE 25,2:PRINT SPACE$(78);
  349. 3595 LOCATE 25,11:PRINT "╩Σ╚δ╧ε─┐┤·║┼ú¿ú▒ú¡ú│ú⌐╤í╘±┤²╨▐╕─╧ε─┐ú¼╗≥░┤[ESC]╝ⁿ╖╡╗╪╓≈▓╦╡Ñ";
  350. 3597 LOCATE 9,YP
  351. 3600 XGC$=INKEY$
  352. 3610 IF XGC$="" THEN 3600
  353. 3620 IF ASC(XGC$)=27 THEN PRINT "[ESC]":RETURN
  354. 3630 XG=VAL(XGC$):PRINT XGC$;
  355. 3640 IF XG<1 OR XG>3 THEN BEEP:GOTO 3540
  356. 3642 LOCATE 25,2:PRINT SPACE$(78);
  357. 3645 LOCATE 25,25:PRINT "ú¡ú¡ú¡ú¡ú¡╩Σ╚δ╨▐╒²╓╡ú¡ú¡ú¡ú¡ú¡";
  358. 3660 IF XG=3 THEN INF=(INF+1) MOD 2:GOTO 3730
  359. 3670 ON XG GOTO 3680,3710
  360. 3680 LOCATE 4,43:PRINT "     "
  361. 3690 LOCATE 4,43:INPUT " ",G
  362. 3700 GOTO 3730
  363. 3710 LOCATE 5,43:PRINT "     "
  364. 3720 LOCATE 5,43:INPUT " ",SPEED
  365. 3730 OPEN "PRM" FOR OUTPUT AS #3
  366. 3740 WRITE #3,G,SPEED,TTMM,INF
  367. 3750 CLOSE #3
  368. 3760 GOTO 3540
  369. 3770 END
  370. 3780 O=0:H=0:SP=0:DE=0:MARK=1
  371. 3790 TP(1)=55:BOT(1)=16:TP(2)=87:BOT(2)=56:TP(3)=87:BOT(3)=16
  372. 3800 GOSUB 11040
  373. 3810 OPEN "PRM" FOR INPUT AS #3
  374. 3820 INPUT #3,G,SPEED,TTMM,INF
  375. 3830 CLOSE #3
  376. 3840 GOSUB 11550
  377. 3850 LOCATE 5,27:PRINT "┬Σ╫╓╞╡┬╩[50-1500]: ";INT(60/TTMM+.5)
  378. 3860 LOCATE 25,16:PRINT "  ╓▒╜╙╗╪│╡ú║─¼╚╧╧╘╩╛╩²╛▌ú¼╖±╘≥╟δ╓╪╨┬╩Σ╚δ╨┬╡─┬Σ╫╓╞╡┬╩";:LINE(0,0)-(639,199),,B
  379. 3870 LOCATE 5,46
  380. 3880 FOR I=1 TO 10
  381. 3890 F$=INPUT$(1)
  382. 3900 IF F$=CHR$(13) THEN 3950
  383. 3910 IF F$<"0" OR F$>"9" THEN BEEP:GOTO 3890
  384. 3920 IF I=1 THEN PRINT SPACE$(20);:LOCATE 5,46:D$=""
  385. 3930 PRINT F$;:D$=D$+F$
  386. 3940 NEXT I
  387. 3950 SSDD=VAL(D$)
  388. 3960 IF SSDD>0 THEN TMMF=SSDD:TTMM=60/TMMF
  389. 3970 OPEN "PRM" FOR OUTPUT AS #3
  390. 3980 WRITE #3,G,SPEED,TTMM,INF
  391. 3990 CLOSE #3:reg 1,&H0006:call interrupt &H10
  392. 4000 FOR I=1 TO 20:PLAY"O3e32c32":NEXT:LZTM=FNNEWTIMER
  393. 4010 CLS:LOCATE 10,21
  394. 4030 STP=STT+INT((60/TTMM)/2000-1)
  395. 4040 TTMM=(STT/STP)*TTMM
  396. 4050 FOR I=1 TO 20
  397. 4060 PRINT "í≈";
  398. 4070 NEXT
  399. 4080 RANDOMIZE FNNEWTIMER
  400. 4090 CLOSE #2,#3:ER$=""
  401. 4100 LI=LINB(LINN)-1
  402. 4110 IF RDSG=0 THEN LI=LI+1
  403. 4120 IF LI>LINF(LINN) THEN KO=1:LINN=LINN+1:RETURN 930
  404. 4130 IF LI>339 THEN L=0
  405. 4140 IF RDSG=0 THEN A$=AC$(LI):GOTO 4230
  406. 4150 FOR I=1 TO 20 
  407. 4160 LFK=INT((RND(1)+.002)*(TP(PSP)-BOT(PSP)+1))+BOT(PSP)+159
  408. 4170 IF LFK<BOT(PSP)+160 OR LFK>160+TP(PSP) THEN 4160
  409. 4180 RFK=INT((RND(1)+.002)*93)+161
  410. 4190 IF RFK<1 OR RFK>254 THEN 4180
  411. 4200 B$=CHR$(LFK)+CHR$(RFK)
  412. 4210 IF I=1 THEN A$=B$ ELSE A$=A$+" "+B$
  413. 4220 NEXT I
  414. 4230 IF LI>114 THEN ER$=""
  415. 4240 O=0:A$=ER$+" "+A$
  416. 4250 ER$=""
  417. 4260 Y=2
  418. 4270 KI=1:PP=0
  419. 4280 KII=INSTR(KI,A$," ")
  420. 4290 IF KII=0 THEN 4330
  421. 4300 PP=PP+1:C$(PP)=MID$(A$,KI,KII-KI)
  422. 4310 KI=KII+1
  423. 4320 GOTO 4280
  424. 4330 IF O<PP-1 THEN P=INT((RND(1)+.02)*PP) ELSE 4110
  425. 4340 IF P>PP OR C$(P)="" THEN 4330
  426. 4350 O=O+1:PO=(P-1)*LEN(C$(P))+1
  427. 4360 OC$=C$(P):C$(P)=""
  428. 4370 LOCATE 25,3:PRINT ASC(LEFT$(OC$,1))-160;ASC(RIGHT$(OC$,1))-160;
  429. 4380 FOR Y=1 TO 9 STEP STP
  430. 4390 LOCATE Y,PO:PRINT OC$;
  431. 4400 PLAY "o1e32c32"
  432. 4410 GOSUB 5270
  433. 4420 IF BB$<>OC$ THEN 4760
  434. 4430 MARK=MARK+25:H=H+1
  435. 4440 IF LI>114 AND RDSD=0 THEN 4520
  436. 4450 FOR IP=9 TO Y+1 STEP -2
  437. 4460 MT=FNNEWTIMER
  438. 4470 LOCATE IP,PO:PRINT "íⁿ";
  439. 4480 IF FNNEWTIMER-MT<.001 THEN 4480
  440. 4490 LOCATE IP,PO:PRINT "  ";
  441. 4500 IF FNNEWTIMER-MT<.002 THEN 4500
  442. 4510 NEXT
  443. 4520 IF LI<=114 THEN LOCATE Y,PO ELSE LOCATE Y+1,PO
  444. 4530 PLAY "MF"
  445. 4540 FOR I=1 TO LEN(OC$)/2
  446. 4550 IF LI<=114 THEN PRINT "íε";:GOTO 4570
  447. 4560 IF Y+1<10 THEN PRINT"í¬";
  448. 4570 FOR X=0 TO 280 STEP 60
  449. 4580 SOUND 20*X/4+37,1
  450. 4590 NEXT X
  451. 4600 NEXT I
  452. 4610 IF LI>114 AND Y+1<10 THEN LOCATE Y+1,PO:PRINT SPACE$(LEN(OC$));
  453. 4620 MT=FNNEWTIMER
  454. 4630 IF FNNEWTIMER-MT<.25 THEN 4630
  455. 4640 LOCATE 1,68:PRINT "╒²╚╖:";H;
  456. 4650 LOCATE 2,68:PRINT "╩º╬≤:";SP;
  457. 4660 LOCATE 3,68:PRINT "╦≡╩º:";INT(DE/20*100);"úÑ";
  458. 4670 LOCATE 4,66:PRINT "************"
  459. 4680 LOCATE 5,68:PRINT "╡├╖╓:";MARK;
  460. 4690 SSDD=INT(H*60/(FNNEWTIMER-LZTM))-3*SP
  461. 4695 LOCATE 7,68:PRINT "[PAUSE]:╘▌═ú"
  462. 4697 LOCATE 8,68:PRINT "[RETURN]:╝╠╨°"
  463. 4720 LOCATE 10,68:PRINT "[ESC]: ═╦│÷";
  464. 4730 C$(P)=""
  465. 4740 LOCATE Y,PO:PRINT SPACE$(LEN(OC$));
  466. 4750 GOTO 4330
  467. 4760 IF LEN(BB$)<>LEN(OC$) THEN 4890
  468. 4770 MARK=MARK-4:SP=SP+1
  469. 4780 IF LI>114 THEN 4890
  470. 4790 PS=INT((RND(1)+.02)*63)+2
  471. 4800 IF (PS>PO-2 AND PS<PO+2+LEN(OC$))  THEN 4790
  472. 4810 IF PS<1 OR PS>62 THEN 4790
  473. 4820 FOR IP=9 TO 1 STEP -2
  474. 4830 MT=FNNEWTIMER
  475. 4840 LOCATE IP,PS:PRINT "íⁿ";
  476. 4850 IF FNNEWTIMER-MT<.001 THEN 4850
  477. 4860 LOCATE IP,PS:PRINT "  ";
  478. 4870 IF FNNEWTIMER-MT<.002 THEN 4870
  479. 4880 NEXT
  480. 4890 MARK=MARK-1
  481. 4900 LOCATE 1,68:PRINT "╒²╚╖:";H;
  482. 4910 LOCATE 2,68:PRINT "╩º╬≤:";SP;
  483. 4920 LOCATE 3,68:PRINT "╦≡╩º:";INT(DE/20*100);"úÑ";
  484. 4930 LOCATE 4,66:PRINT "************";
  485. 4940 LOCATE 5,68:PRINT "╡├╖╓:";MARK;
  486. 4950 SSDD=INT(H*60/(FNNEWTIMER-LZTM))-3*SP
  487. 4960 LOCATE 7,68:PRINT "[PAUSE]:╘▌═ú"
  488. 4970 LOCATE 8,68:PRINT "[RETURN]:╝╠╨°"
  489. 4980 LOCATE 10,68:PRINT "[ESC]: ═╦│÷";
  490. 4990 LOCATE Y,PO:PRINT SPACE$(LEN(OC$));
  491. 5000 NEXT Y
  492. 5010 MARK=MARK-25
  493. 5020 DE=DE+1
  494. 5030 IF ER$="" THEN ER$=OC$ ELSE ER$=ER$+" "+OC$
  495. 5040 FOR IQ=1 TO 5:PLAY"O1F64A64":NEXT
  496. 5050 LOCATE 1,68:PRINT "╒²╚╖:";H;
  497. 5060 LOCATE 2,68:PRINT "╩º╬≤:";SP;
  498. 5070 LOCATE 3,68:PRINT "╦≡╩º:";INT(DE/20*100);"úÑ";
  499. 5080 LOCATE 4,68:PRINT "***********"
  500. 5090 LOCATE 5,68:PRINT "╡├╖╓:";MARK;
  501. 5100 SSDD=INT(H*60/(FNNEWTIMER-LZTM))-3*SP
  502. 5102 LOCATE 7,68:PRINT "[PAUSE]:╘▌═ú"
  503. 5104 LOCATE 8,68:PRINT "[RETURN]:╝╠╨°"
  504. 5130 LOCATE 10,68:PRINT "[ESC]: ═╦│÷";
  505. 5140 LOCATE 10,21
  506. 5150 FOR IY=1 TO DE
  507. 5160 PRINT "í°";
  508. 5170 NEXT
  509. 5180 IF O<PP AND DE<20 THEN 4330
  510. 5190 IF DE<20 THEN 4110
  511. 5200 LOCATE 25,1:PRINT SPACE$(75);
  512. 5210 LOCATE 25,28:PRINT "╙╬╧╖╜ß╩°ú¼░┤╚╬╥Γ╝ⁿ╖╡╗╪";
  513. 5220 IF INKEY$="" THEN 5220
  514. 5230 CLOSE #2:OPEN "record" FOR APPEND AS #2
  515. 5240 IF H=0 OR SSDD=0 THEN 5260
  516. 5250 WRITE #2,DATE$,500,SSDD,INT(H/(H+SP))*100
  517. 5260 RETURN 640
  518. 5270 TIME5=FNNEWTIMER
  519. 5280 BB$=""
  520. 5290 FOR IO=1 TO LEN(OC$)
  521. 5300 IF FNNEWTIMER-TIME5<TTMM THEN 5320
  522. 5310 IF IO=1 THEN RETURN
  523. 5320 AD$=INKEY$
  524. 5325 IF OT<>INT(FNNEWTIMER) THEN PLAY"O0C64":OT=INT(FNNEWTIMER)
  525. 5330 IF AD$="" THEN 5300
  526. 5340 IF ASC(AD$)<123 AND ASC(AD$)>64 THEN XPX=CSRLIN:YPY=POS(1):BEEP:LOCATE 25,24:PRINT"╟δ╙├ú┴ú╠ú╘ú½ú╞ú▓╜°╚δ╬σ▒╩╫╓╨═╫┤╠¼";:LOCATE XPX,YPY
  527. 5350 IF ASC(AD$)=27 THEN LI=LI-1 :RETURN 5230
  528. 5360 IF ASC(AD$)<158 THEN 5270
  529. 5370 BB$=BB$+AD$
  530. 5380 IF LEN(BB$) MOD 2=0 AND BB$<>LEFT$(OC$,LEN(BB$)) THEN 5400
  531. 5390 NEXT
  532. 5400 FOR X = 92 TO 2 STEP -7
  533. 5410 SOUND X*30,.15
  534. 5420 NEXT X
  535. 5430 LOCATE 25,1
  536. 5440 PRINT BB$;ASC(LEFT$(BB$,1));ASC(RIGHT$(BB$,1));
  537. 5450 IF TTMM*5<1 THEN TMTM=1 ELSE TMTM=5*TTMM
  538. 5460 IF FNNEWTIMER-TIME5<TMTM THEN 5540
  539. 5470 BB$=""
  540. 5480 FOR I=1 TO 3
  541. 5490 MT=FNNEWTIMER
  542. 5500 LOCATE 25,30
  543. 5510 PRINT "      ╩▒╝Σ│¼╧▐!      ";:BEEP
  544. 5520 IF FNNEWTIMER-MT<.25 THEN 5520
  545. 5530 NEXT
  546. 5540 RETURN
  547. 5550 CHONG$(0)="  í∙>><<í╤í╢"
  548. 5560 CHONG$(1)="  í∙>><<í╤ú╜"
  549. 5570 KEY OFF:GOTO 5590
  550. 5580 RETURN
  551. 5590 GOSUB 11040:LOCATE 6,3:PRINT SPACE$(70)
  552. 5600 TL=2
  553. 5610 BEEP:LOCATE 6,30
  554. 5620 ON HH GOTO 5640,5650,5670,5660,7190,5630
  555. 5630 CLOSE #3:OPEN "TEXT.US" FOR OUTPUT AS #3:CLOSE #3:GOTO 5580
  556. 5640 INPUT"╟δ╩Σ╚δ╩▒╝Σ╧▐╢ε:(HH:MM:SS)";TML$:GOTO 5670
  557. 5650 INPUT"╟δ╩Σ╚δ╫╓╩²╧▐╢ε:";CN:GOTO 5670
  558. 5660 INPUT "╟δ╩Σ╚δ╫╖╗≈╦┘╢╚(╫╓ú»╖╓):";SP:TL=50/SP
  559. 5670 GOSUB 11040:LOCATE 6,3:PRINT SPACE$(70)
  560. 5680 LOCATE 6,16:PRINT "╟δ╙├ú├ú╘ú╥ú╠ú½ú╞ú╣╜°╚δ┤┐╓╨╬─╫┤╠¼ú¼╘┘░┤╚╬╥Γ╝ⁿ╝╠╨°"
  561. 5690 IF INKEY$="" THEN 5690
  562. 5700 LSN=LSN+1:LN=LSN MOD 13
  563. 5710 IF LN=0 THEN LN=13
  564. 5720 LN$=MID$(STR$(LN),2)
  565. 5730 GOSUB 11040:LOCATE 6,3:PRINT SPACE$(70)
  566. 5740 LOCATE 6,30:PRINT"░┤┐╒╕±░⌠┐¬╩╝╝╞╩▒ úí";
  567. 5750 LB=0:ER=0:W=1:WHILE W>0:W=LEN(INKEY$)+LEN(INKEY$):WEND
  568. 5760 IF INKEY$<>" " THEN 5760
  569. 5770 CLS:W=1:WHILE W>0:W=LEN(INKEY$)+LEN(INKEY$):WEND
  570. 5780 GOSUB 30000:MT=FNNEWTIMER
  571. 5790 K=1:K2=1:YO=3:XO=-9
  572. 5800 OPEN "TEXT.US" FOR APPEND AS #3
  573. 5810 IF HH<>4 THEN 5880
  574. 5820 CLOSE #2:OPEN "TEXT."+LN$ FOR INPUT AS #2
  575. 5830 CLS:INPUT #2,B$:LOCATE INT(K/40)*2+2,1:PRINT B$:LB=LB+LEN(B$)
  576. 5840 FOR IU=1 TO LEN(B$)/2
  577. 5850 C$(IU)=MID$(B$,(IU*2)-1,2)
  578. 5860 NEXT IU
  579. 5870 GOTO 5890
  580. 5880 CLS
  581. 5885 LOCATE 10,66:PRINT "[ESC] ═╦│÷ "; 
  582. 5890 LOCATE 3,1
  583. 5900 BB$=""
  584. 5910 FOR IO=1 TO 2
  585. 5920 IF HH<>1 OR FNNEWTIME$<=TML$ OR IO<>1 THEN 5940
  586. 5930 W=1:WHILE W>0:W=LEN(INKEY$)+LEN(INKEY$):WEND:GOTO 6820
  587. 5940 IF FNNEWTIMER-MT<TL THEN 6370
  588. 5950 L=CSRLIN:P=POS(1)
  589. 5960 IF HH<>2 THEN LOCATE 1,70:PRINT FNNEWTIME$;
  590. 5970 IF FNNEWTIMER<1 THEN 6000
  591. 5980 IF HH=2 THEN LOCATE 1,70:PRINT INT(K-1);"   ";
  592. 5990 LOCATE 1,1: PRINT "╦┘╢╚: ";INT((K-1)/FNNEWTIMER*60);"╫╓ú»╖╓  ";
  593. 6000 IF HH<>4 THEN MT=FNNEWTIMER
  594. 6010 IF HH<>1 AND HH<>2 THEN 6100
  595. 6020 LOCATE 1,32
  596. 6030 IF HH=1 THEN PRINT "╩▒╝Σ :"; ELSE PRINT "╫╓╩² :";
  597. 6040 TME=VAL(LEFT$(TML$,2))*3600+VAL(MID$(TML$,4,2))*60+VAL(RIGHT$(TML$,2))
  598. 6050 IF HH=1 THEN TR=FNNEWTIMER:TE=TME ELSE TR=K-1:TE=CN
  599. 6060 LH=INT(TR/TE*200)+300
  600. 6065 if lh>499 then lh=499
  601. 6070 LINE (300,4)-(500,14),1,B
  602. 6080 IF LH<302 THEN 6100
  603. 6090 LINE(LH,4)-(LH,14):PAINT(LH-1,8),1
  604. 6100 IF HH<>4 THEN 6360
  605. 6110 IF K<10 THEN 6350
  606. 6120 XO=XO+2*INT((FNNEWTIMER-MT)/TL)
  607. 6130 IF XO<80 THEN 6150
  608. 6140 XO=1:YO=YO+2
  609. 6150 IF YO=L-2 AND XO-66>P THEN LOCATE YO,1:PRINT SPACE$(80);:GOTO 6170
  610. 6160 IF YO<>L OR XO+12<P THEN 6270
  611. 6170 XO=P-9
  612. 6180 PLAY "O1C16"
  613. 6190 IF XO<1 THEN LOCATE YO+2,1:PRINT RIGHT$(CHONG$(KG),10+XO+1);:GOTO 6250
  614. 6200 IF XO<=69 THEN 6240
  615. 6210 LOCATE YO,1:PRINT SPACE$(XO-1);LEFT$(CHONG$(KG),81-XO);
  616. 6220 LOCATE YO+2,1:PRINT RIGHT$(CHONG$(KG),XO-69);
  617. 6230 GOTO 6250
  618. 6240 LOCATE YO,1:PRINT SPACE$(XO-1);CHONG$(KG)
  619. 6250 PLAY "O2G..E6F8E16C16"
  620. 6260 GOTO 6820
  621. 6270 PLAY "O1C16"
  622. 6280 KG=(KG+1) MOD 2
  623. 6290 IF XO<0 THEN LOCATE YO,1:PRINT RIGHT$(CHONG$(KG),10+XO+1);:GOTO 6350
  624. 6300 IF XO<=69 THEN 6340
  625. 6310 LOCATE YO,1:PRINT SPACE$(XO-1);LEFT$(CHONG$(KG),81-XO);
  626. 6320 LOCATE YO+2,1:PRINT RIGHT$(CHONG$(KG),XO-69);
  627. 6330 GOTO 6350
  628. 6340 LOCATE YO,1:PRINT SPACE$(XO-1);CHONG$(KG)
  629. 6350 MT=FNNEWTIMER
  630. 6360 LOCATE L,P
  631. 6370 AD$=INKEY$
  632. 6375 IF OT<>INT(FNNEWTIMER) THEN PLAY"O0C64":OT=INT(FNNEWTIMER)
  633. 6380 IF AD$="" THEN 5920
  634. 6390 IF K<1 AND AD$<="z" AND AD$>"a" THEN XPX=CSRLIN:YPY=POS(1):BEEP:LOCATE 25,24:PRINT"╟δ╙├ú┴ú╠ú╘ú½ú╞ú▓╜°╚δ╬σ▒╩╫╓╨═╫┤╠¼";:LOCATE XPX,YPY:GOTO 6410
  635. 6395 IF ASC(AD$)=8 OR ASC(AD$)>=160 OR AD$=" " OR AD$=CHR$(13) OR AD$=CHR$(27) THEN 6410
  636. 6400 XPX=CSRLIN:YPY=POS(1):BEEP:LOCATE 25,24
  637. 6405 PRINT"╟δ╙├ú├ú╘ú╥ú╠ú½ú╞ú╣╜°╚δ┤┐╓╨╬─╖╜╩╜";:LOCATE XPX,YPY
  638. 6410 IF ASC(AD$)<>8 OR HH=4 THEN 6480
  639. 6420 IF K=1 THEN 6480
  640. 6430 K=K-.5:K2=K2-.5
  641. 6440 X=POS(1)-1:Y=CSRLIN
  642. 6450 IF Y<=3 AND X<1 THEN X=1:Y=3
  643. 6460 IF X<1 AND Y>3 THEN X=80:Y=Y-1:K2=80
  644. 6470 LOCATE Y,X:PRINT "  ";:LOCATE Y,X
  645. 6480 IF (ASC(AD$)=27 OR ASC(AD$)=13) AND IO=1 THEN 6820
  646. 6490 IF ASC(AD$)<150 THEN 5900
  647. 6500 BB$=BB$+AD$
  648. 6510 IF LEN(BB$) MOD 2=0 AND BB$<>LEFT$(C$(K2),LEN(BB$)) THEN 6530
  649. 6520 NEXT IO
  650. 6530 B$(K2)=BB$
  651. 6540 PRINT BB$;
  652. 6550 IF HH<>4 OR B$(K2)=C$(K2) THEN 6640
  653. 6560 ER=ER+1
  654. 6570 PLAY"O2E20F20G20"
  655. 6580 K=K-1:K2=K2-1
  656. 6590 X=POS(1)-2:Y=CSRLIN
  657. 6600 IF X<0 AND Y>2 THEN X=79:Y=Y-1
  658. 6610 IF X<=0 THEN X=1
  659. 6620 IF X<0 AND Y=2 THEN X=1:Y=2
  660. 6630 LOCATE Y,X:PRINT "  ";:LOCATE Y,X
  661. 6640 IF K2<0 THEN K2=1
  662. 6650 IF K2<40 OR HH<>4 THEN 6720
  663. 6660 IF EOF(2) THEN CLOSE #2,#3
  664. 6670 INPUT #2,B$:LOCATE INT(K/40)*2+2,1:PRINT B$;:LB=LB+LEN(B$)
  665. 6680 FOR IU=1 TO LEN(B$)/2
  666. 6690 C$(IU)=MID$(B$,(IU*2)-1,2)
  667. 6700 NEXT IU
  668. 6710 IF LEN(B$)<80 THEN LOCATE CSRLIN+1,1
  669. 6720 IF HH=2 AND K=CN+1 THEN 6820
  670. 6730 IF K2<40 THEN 6790
  671. 6740 A$=""
  672. 6750 FOR I=1 TO K2
  673. 6760 A$=A$+B$(I)
  674. 6770 NEXT I:K2=0
  675. 6780 PRINT #3,A$
  676. 6790 K=K+1:K2=K2+1
  677. 6800 IF HH=4 THEN IF EOF(2) AND 2*K>=LB+1 THEN PLAY "MFo3c8c8e4g4>c.":GOTO 6820
  678. 6810 IF K MOD 320 =0 THEN 5880 ELSE 5900
  679. 6820 MT=FNNEWTIMER
  680. 6830 IF FNNEWTIMER-MT<1 THEN 6830
  681. 6840 CLS
  682. 6850 A$=""
  683. 6860 FOR I=1 TO K2-1
  684. 6870 A$=A$+B$(I)
  685. 6880 NEXT I
  686. 6890 PRINT #3,A$
  687. 6900 PRINT #3," ":PRINT #3," "
  688. 6910 W=1:WHILE W>0:W=LEN(INKEY$)+LEN(INKEY$):WEND
  689. 6920 PRINT #3,"╫╓╩²: ";K
  690. 6925 IF HH=1 THEN WTIME$=TML$ ELSE WTIME$=FNNEWTIME$
  691. 6930 PRINT #3,"╩▒╝Σ: ";VAL(LEFT$(WTIME$,2));"╩▒";VAL(MID$(WTIME$,4,2));"╖╓";
  692. 6940 PRINT #3,VAL(RIGHT$(WTIME$,2));"├δ"
  693. 6950 PRINT #3,"╦┘╢╚: ";INT(K/FNNEWTIMER*60*10)/10;"╫╓ú»╖╓"
  694. 6960 PRINT #3,"╚╒╞┌: ";DATE$
  695. 6970 PRINT #3,"╨╒├√: ";NA$
  696. 6980 CLOSE #2:OPEN "record" FOR APPEND AS #2
  697. 6990 WRITE #2,DATE$,600,INT(K/FNNEWTIMER*60*10)/10,INT((K-ER)/(K+1)*1000)/10
  698. 7000 GOSUB 11550:GOSUB 11130
  699. 7010 K=K-1:LOCATE 6,28:PRINT"╫╓╩²: ";K
  700. 7020 IF HH<>1 THEN TML$=FNNEWTIME$
  701. 7025 LOCATE 7,28:PRINT"╩▒╝Σ: ";VAL(LEFT$(TML$,2));"╩▒";
  702. 7030 PRINT VAL(MID$(TML$,4,2));"╖╓";VAL(RIGHT$(TML$,2));"├δ"
  703. 7040 LOCATE 3,28:PRINT"╦┘  ╢╚: ";INT(K/FNNEWTIMER*60*10)/10;"╫╓ú»╖╓"
  704. 7050 IF HH<>4 THEN 7070
  705. 7053 LOCATE 4,28:PRINT"╒²╚╖┬╩: ";INT((K-ER)/(K+1)*1000)/10;"úÑ"
  706. 7055 LOCATE 25,2:PRINT "              [ESC] ═╦│÷╙╬╧╖            [RETURN] ╝╠╨°╙╬╧╖                ";
  707. 7060 D$=INKEY$
  708. 7065 IF D$<>CHR$(13) AND D$<>CHR$(27) THEN 7060
  709. 7066 LOCATE 25,15:LINE (0,11*16+5)-(639,11*16+5)
  710. 7067 PRINT " ╣Γ▒Ω╝ⁿ[í· í√ íⁿ í²]: ╤í╘±╧ε─┐    ╗╪│╡╝ⁿ[í√⌐ñ⌐╛]:╤í╓╨";
  711. 7070 CLOSE #2,#3
  712. 7072 IF HH<>4 AND INKEY$="" THEN 7072
  713. 7075 LOCATE 25,2:PRINT SPACE$(78);
  714. 7080 GOSUB 11550
  715. 7090 FOR I=1 TO 80:F$=INKEY$:NEXT I
  716. 7091 IF HH<>4 THEN 7110
  717. 7100 IF D$=CHR$(27) THEN 7110 ELSE 5730
  718. 7110 W=1:WHILE W>0:W=LEN(INKEY$)+LEN(INKEY$):WEND
  719. 7120 LOCATE 6,13:PRINT "╟δ╙├ú├ú╘ú╥ú╠ú½ú╞ú╣═╦│÷┤┐╓╨╬─╫┤╠¼ú¼╘┘░┤╚╬╥Γ╝ⁿ╖╡╗╪╓≈▓╦╡Ñ"
  720. 7130 IF INKEY$="" THEN 7130
  721. 7140 GOTO 5580
  722. 7150 END
  723. 7160 F$=INKEY$
  724. 7170 IF F$="" THEN 7160
  725. 7180 PRINT ASC(F$)
  726. 7190 LOCATE 3,22
  727. 7200 PRINT"╟δ╫╝▒╕║├┤≥╙í╗·ú¼░┤╚╬╥Γ╝ⁿ┐¬╩╝┤≥╙íúí"
  728. 7210 IF INKEY$="" THEN 7210
  729. 7220 LOCATE 7,24
  730. 7230 PRINT"░┤í░ú┼ú╙ú├í▒╝ⁿ═ú╓╣┤≥╙í▓ó╖╡╗╪"
  731. 7240 CLOSE #2,#3
  732. 7250 OPEN "TEXT.US" FOR INPUT AS #3
  733. 7260 LOCATE 5,36
  734. 7270 PRINT "┐¬╩╝┤≥╙íúí"
  735. 7280 IF NOT EOF(3) THEN INPUT #3,B$
  736. 7290 D$=INKEY$
  737. 7300 IF D$="" THEN 7320
  738. 7310 IF ASC(D$)=27 THEN 5580
  739. 7320 LPRINT B$
  740. 7330 IF NOT EOF(3) THEN 7280
  741. 7340 LOCATE 5,36
  742. 7350 PRINT "┤≥╙í╜ß╩°úí"
  743. 7360 D$=INKEY$
  744. 7370 IF D$="" THEN 7360
  745. 7380 GOTO 5580
  746. 7390 OPEN "record" FOR APPEND AS #3
  747. 7400 LOCATE 6,43:PRINT "    ":LOCATE 6,44
  748. 7410 INPUT "",L
  749. 7420 WRITE #3,DATE$,L,0,0
  750. 7430 CLOSE #2,#3
  751. 7440 RETURN
  752. 7450 IF C$(I)="" OR I<0 OR I>150 THEN 7520
  753. 7460 XP=POS(0)
  754. 7470 YL=CSRLIN:HP=1
  755. 7480 LOCATE YL-2,1:PRINT SPACE$(79);
  756. 7490 LOCATE YL-2,XP
  757. 7500 PRINT E$(I);
  758. 7510 LOCATE YL,XP
  759. 7520 RETURN
  760. 7530 XP=POS(0):YL=CSRLIN:HP=0
  761. 7540 LOCATE YL-2,1:PRINT SPACE$(79);:LOCATE YL,XP
  762. 7550 RETURN
  763. 7560 CLOSE:LOCATE 5,37:PRINT "╒²╘┌╢┴┼╠"
  764. 7570 OPEN "ZG"+MID$(STR$(HH),2) FOR INPUT AS #1
  765. 7580 K=0
  766. 7590 INPUT #1,A$
  767. 7600 INPUT #1,B$
  768. 7610 KI=1:PP=0
  769. 7620 KII=INSTR(KI,A$," ")
  770. 7630 IF KII=0 THEN 7670
  771. 7640 PP=PP+1:AC$(K+PP)=MID$(A$,KI,KII-KI)
  772. 7650 KI=KII+1
  773. 7660 GOTO 7620
  774. 7670 KI=1:PP=0
  775. 7680 KII=INSTR(KI,B$," ")
  776. 7690 IF KII=0 THEN 7730
  777. 7700 PP=PP+1:AC$(K+PP+250)=MID$(B$,KI,KII-KI)
  778. 7710 KI=KII+1
  779. 7720 GOTO 7680
  780. 7730 K=K+PP
  781. 7740 IF NOT EOF(1) THEN 7590
  782. 7750 TOP=K
  783. 7760 LOCATE 5,20:PRINT SPACE$(40);
  784. 7770 K=1:LOCATE 4,33:PRINT "╒²╘┌┼┼╨≥ú¼╟δ╔╘║≥"
  785. 7780 RANDOMIZE TIMER
  786. 7790 mt=timer
  787. 7795 J=INT((RND(1)+.001)*(TOP+.5))
  788. 7800 if timer-mt>1 then 7881
  789. IF J>TOP THEN 7795
  790. 7810 IF AC$(J)="" THEN 7795
  791. 7820 IF AC$(250+J)="" THEN 7795
  792. 7830 CD$(K)=AC$(J)
  793. 7840 AC$(J)=""
  794. 7850 CD$(250+K)=AC$(250+J)
  795. 7860 AC$(250+J)=""
  796. 7870 K=K+1:LOCATE 6,40:PRINT TOP-K+1;"     ";
  797. 7880 IF K<TOP THEN 7790 else 7890
  798. 7881 for i=1 to top
  799. 7882 if ac$(i)="" or ac$(i+250)="" then 7888
  800. 7883 CD$(K)=AC$(i)
  801. 7884 AC$(i)=""
  802. 7885 CD$(250+K)=AC$(250+i)
  803. 7886 AC$(250+i)=""
  804. 7887 k=k+1
  805. 7888 next i
  806. 7890 KEY(1) ON
  807. 7900 LOCATE 4,30:PRINT SPACE$(20);
  808. 7910 LOCATE 6,38:PRINT SPACE$(20);
  809. 7920 GOSUB 30000:CLS:ER=0:GOSUB 3270:GOSUB 8600
  810. 7930 LOCATE 6,16:PRINT "╟δ╙├ú┴ú╠ú╘ú½ú╞ú╢╜°╚δú┴ú╙ú├ú╔ú╔╫┤╠¼ú¼╚╗║≤░┤╚╬╥Γ╝ⁿ╝╠╨°";
  811. 7932 IF INKEY$="" THEN 7932
  812. 7935 LOCATE 6,1:PRINT SPACE$(79);
  813. 7940 KEY OFF:LOCATE 10,1:PRINT "ú╞ú▒ú║░∩╓·                                          [ESC]:═╦│÷ ";
  814. 7950 FOR I=1 TO TOP
  815. 7960 D$=MID$(CD$(I+250),1,1)
  816. 7970 KOK=2:GOSUB 14520
  817. 7980 SW=1
  818. 7990 LOCATE 4,39:PRINT "      "
  819. 8000 LOCATE 5,39:PRINT "  ":LOCATE 5,39
  820. 8010 PRINT CD$(I)
  821. 8020 LOCATE 6,39
  822. 8030 IF ERE>2 THEN GOSUB 8990
  823. 8040 IF INF=0 THEN 8070
  824. 8050 D$=""
  825. 8060 GOSUB 8990
  826. 8070 PRINT STRING$(LEN(CD$(I+250)),"_");"    ";
  827. 8075 LOCATE 6,39
  828. 8077 D$=""
  829. 8080 FOR J=1 TO LEN(CD$(250+I))
  830. 8090 F$=INKEY$
  831. 8100 IF F$="" OR F$=" " THEN 8090
  832. 8110 IF F$=CHR$(27) THEN KEY(1) OFF:RETURN
  833. 8120 IF F$=MID$(CD$(250+I),J,1) OR ASC(F$)-32=ASC(MID$(CD$(250+I),J,1)) THEN 8170
  834. 8130 BEEP:ERE=ERE+1
  835. 8140 IF ERE>2 THEN GOSUB 8990
  836. 8150 IF ERE=1 THEN ER=ER+1
  837. 8160 GOTO 8090
  838. 8170 D$=D$+F$:PRINT F$;
  839. 8180 NEXT J
  840. 8190 IF ERE=0 THEN R=R+SW :GOTO 8220
  841. 8200 AC$(ER)=CD$(I)
  842. 8210 AC$(250+ER)=CD$(250+I)
  843. 8220 ERE=0
  844. 8230 AD$=MID$(D$,1,1)
  845. 8240 IF AD$>"Z" THEN AD$=CHR$(ASC(AD$)-32)
  846. 8250 FC$=D$:D$=AD$
  847. 8260 KOK=2:GOSUB 14520
  848. 8270 D$=FC$
  849. 8280 LOCATE 8,30
  850. 8290 PRINT "╦┘  ╢╚: ";INT(I/FNNEWTIMER*60);"╫╓ú»╖╓       "
  851. 8300 LOCATE 9,30
  852. 8310 PRINT "╒²╚╖┬╩: ";INT((I-ER)/I*100);"úÑ     "
  853. 8320 NEXT I
  854. 8330 I=I-1:T=FNNEWTIMER:T$=FNNEWTIME$
  855. 8340 RIGHT=INT((I-ER)/I*100)
  856. 8350 SPEDD=INT(I/T*60)
  857. 8360 MS=INT(SPEDD/50*100)
  858. 8370 IF MS>100 THEN MS=100
  859. 8380 MARK=RIGHT/2+MS/2
  860. 8390 CLOSE #2:OPEN "RECORD" FOR APPEND AS #2
  861. 8400 WRITE #2,DATE$,400,SPEDD,RIGHT
  862. 8410 GOSUB 11550:GOSUB 11130:LOCATE 4,32:PRINT "╦┘  ╢╚: ";SPEDD;"╫╓ú»╖╓"
  863. 8420 LOCATE 6,32:PRINT "╒²╚╖┬╩: ";RIGHT;"úÑ"
  864. 8430 CLOSE:D$=INPUT$(1)
  865. 8440 RETURN
  866. 8450 LOCATE 7,12:PRINT "▒╛╧ε▓┘╫≈╜½╗ß╞╞╗╡ ";NA$;" ╡─╘¡╙╨│╔╝¿╝╟┬╝╬─╝■ú¼╝╠╨°┬≡ú┐[Y/N]";:INPUT D$
  867. 8460 IF D$<>"Y" AND D$<>"y" THEN 8590 ELSE 8470
  868. 8470 IF ERR>0 AND ERR<>53 AND ERR<>61 THEN END
  869. 8475 LOCATE 7,10:PRINT SPACE$(68);
  870. 8480 LOCATE 4,32:PRINT "╝╟┬╝╬─╝■│⌡╩╝╗»"
  871. 8490 LOCATE 5,29:PRINT"*******************"
  872. 8500 LOCATE 7,29:INPUT "╨╒├√ : ",N$
  873. 8505 LOCATE 25,15:LINE (0,11*16+5)-(639,11*16+5)
  874. 8507 PRINT " ╣Γ▒Ω╝ⁿ[í· í√ íⁿ í²]: ╤í╘±╧ε─┐    ╗╪│╡╝ⁿ[í√⌐ñ⌐╛]:╤í╓╨";
  875. 8510 LOCATE 4,31:PRINT SPACE$(16);
  876. 8520 LOCATE 5,29:PRINT SPACE$(20);
  877. 8530 LOCATE 7,29:PRINT SPACE$(24);
  878. 8540 CLOSE:OPEN "record" FOR OUTPUT AS #2
  879. 8550 WRITE #2,N$,0,0,0
  880. 8560 WRITE #2,DATE$,0,0,0
  881. 8570 CLOSE
  882. 8580 IF ERR>0 AND ERL<2000 THEN RESUME
  883. 8590 RETURN
  884. 8600 LINE(42*8-7,17)-(42*8-7,34)
  885. 8610 LINE-(48*8-7,34)
  886. 8620 LINE-(48*8-7,51)
  887. 8630 LINE-(52*8,51)
  888. 8640 LINE-(52*8,34)
  889. 8650 LINE-(52*8,34)
  890. 8660 LINE-(61*8,34)
  891. 8670 LINE-(61*8,17)
  892. 8680 LINE(41*8-7,0)-(65*8,17),,B
  893. 8690 LINE(17*8-7,17)-(41*8,34),,B
  894. 8700 LINE(23*8-7,16*2+2)-(47*8,16*3+3),,B
  895. 8710 LINE(16*8-7,0)-(40*8,17),,B:RETURN
  896. 8720 GET(41*8-7,0)-(65*8,17),T%:PUT(41*8-7,0),T%,PRESET:RETURN
  897. 8730 GET(17*8-7,17)-(41*8,34),T%:PUT(17*8-7,17),T%,PRESET:RETURN
  898. 8740 GET(23*8-7,16*2+2)-(47*8,16*3+3),T%:PUT(23*8-7,16*2+2),T%,PRESET:RETURN
  899. 8750 GET(16*8-7,0)-(40*8,17),T%:PUT(16*8-7,0),T%,PRESET:RETURN
  900. 8760 GET(42*8-7,17)-(61*8,33),T%:PUT(42*8-7,17),T%,PRESET
  901. 8770 GET(48*8-7,34)-(52*8,51),T%:PUT(48*8-7,34),T%,PRESET:RETURN
  902. 8780 LINE(42*8-7,18*2-2)-(42*8-7,18*3-2)
  903. 8790 LINE-(48*8-7,18*3-2)
  904. 8800 LINE-(48*8-7,18*4-2)
  905. 8810 LINE-(52*8,18*4-2)
  906. 8820 LINE-(52*8,18*3-2)
  907. 8830 LINE-(52*8,18*3-2)
  908. 8840 LINE-(61*8,18*3-2)
  909. 8850 LINE-(61*8,18*2-2)
  910. 8860 LINE(41*8-7,18-2)-(65*8,18*2-2),,B
  911. 8870 LINE(17*8-7,18*2-2)-(41*8,18*3-2),,B
  912. 8880 LINE(23*8-7,18*3-2)-(47*8,18*4-2),,B
  913. 8890 LINE(16*8-7,18-2)-(40*8,18*2-2),,B:RETURN
  914. 8900 GET(42*8-7,18*2-2)-(61*8,18*3-2),T%:PUT(42*8-7,18*2-2),T%,PRESET
  915. 8910 GET(48*8-7,18*3-1)-(52*8,18*4-2),T%:PUT(48*8-7,18*3-1),T%,PRESET:RETURN
  916. 8920 GET(41*8-7,18-2)-(65*8,18*2-2),T%:PUT(41*8-7,18-2),T%,PRESET:RETURN
  917. 8930 GET(17*8-7,18*2-2)-(41*8,18*3-2),T%:PUT(17*8-7,18*2-2),T%,PRESET:RETURN
  918. 8940 GET(23*8-7,18*3-2)-(47*8,18*4-2),T%:PUT(23*8-7,18*3-2),T%,PRESET:RETURN
  919. 8950 GET(16*8-7,18-2)-(40*8,18*2-2),T%:PUT(16*8-7,16),T%,PRESET:RETURN
  920. 8960 GET((XE-1)*8,(CSRLIN-2)*18-2)-((LONG+XE-1)*8,(CSRLIN-1)*18-2),T%
  921. 8970 PUT((XE-1)*8,(CSRLIN-2)*18-2),T%,PRESET
  922. 8980 RETURN
  923. 8990 IF CD$(I+250)="" OR I<0 OR I>189 THEN 9070
  924. 9000 IF ERE>3 THEN XP=POS(0)-2 ELSE XP=POS(0)
  925. 9010 YL=CSRLIN:HP=1
  926. 9020 LOCATE YL-2,39:PRINT "  ";
  927. 9030 LOCATE YL-2,39
  928. 9040 PRINT CD$(I+250);
  929. 9050 LOCATE YL,39
  930. 9060 PRINT D$;
  931. 9070 RETURN
  932. 9080 CLS:KO=0
  933. 9090 LOCATE 1,1
  934. 9095 PLAY"O0C64"
  935. 9100 PRINT " ╫╓╕∙┴╖╧░  ╡Ñ╫╓┴╖╧░  ┤╩╫Θ┴╖╧░  ╬─╒┬┴╖╧░  ╙╬    ╧╖  ╧╡═│╬¼╗ñ  │╔╝¿▒¿╕µ  ═╦    │÷";
  936. 9110 LOCATE 25,15:LINE (0,11*16+5)-(639,11*16+5)
  937. 9120 PRINT " ╣Γ▒Ω╝ⁿ[í· í√ íⁿ í²]: ╤í╘±╧ε─┐    ╗╪│╡╝ⁿ[í√⌐ñ⌐╛]:╤í╓╨";
  938. 9130 LINE(0,0)-(639,199),,B
  939. 9140 LINE(0,16)-(639,16)
  940. 9150 GOTO 9170
  941. 9160 GOSUB 11040
  942. 9170 GOSUB 11130
  943. 9175 IF XL=1 THEN 9390
  944. 9180 D$=INKEY$
  945. 9190 IF D$="" THEN 9180
  946. 9200 IF D$<"0" OR D$>"9" THEN 9280
  947. 9210 LOCATE 25,2:BEEP
  948. 9220 PRINT "                        ╟δ░┤ Num Lock ╝ⁿ╜°╚δ╣Γ▒Ω╫┤╠¼                          ";
  949. 9230 LINE(0,0)-(639,199),,B
  950. 9240 D$=INKEY$
  951. 9250 IF LEN(D$)<2 AND D$<>" " THEN 9230
  952. 9260 GOSUB 11130
  953. 9270 GOTO 9110
  954. 9280 IF D$=CHR$(27) THEN GOSUB 11130:XOX=8:GOTO 9350
  955. 9290 IF ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 AND D$<>" " THEN 9180
  956. 9300 D$=RIGHT$(D$,1)
  957. 9310 IF D$="M" OR D$=" " THEN GOSUB 11130:XOX=XOX+1:GOTO 9350
  958. 9320 IF D$="K" THEN GOSUB 11130:XOX=XOX-1:GOTO 9350
  959. 9330 IF ASC(D$)=13 THEN 9390
  960. 9340 GOTO 9180
  961. 9350 IF XOX=0 THEN XOX=8
  962. 9360 IF XOX=9 THEN XOX=1
  963. 9370 GOSUB 11130
  964. 9380 GOTO 9180
  965. 9390 GOSUB 11130
  966. 9400 ON XOX GOTO 13860,9420,9700,9960,10240,11280,11610,11030
  967. 9410 RETURN
  968. 9420 LOCATE 2,PST(2)+1:PRINT "╥╗╝╢╝≥┬δ";
  969. 9430 LOCATE 3,PST(2)+1:PRINT "╝ⁿ├√╫╓╕∙";
  970. 9440 LOCATE 4,PST(2)+1:PRINT "╢■╝╢╝≥┬δ";
  971. 9450 LOCATE 5,PST(2)+1:PRINT "│╔╫╓╫╓╕∙";
  972. 9460 LOCATE 6,PST(2)+1:PRINT "─⌐▒╩╫╓╨═";
  973. 9470 LOCATE 7,PST(2)+1:PRINT "│ú╙├╡Ñ╫╓";
  974. 9480 LOCATE 8,PST(2)+1:PRINT "─╤╫╓┴╖╧░";
  975. 9490 LOCATE 9,PST(2)+1:PRINT "╖╡╗╪╔╧▓π";
  976. 9500 YOY=2
  977. 9510 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,9*18-2),,B
  978. 9520 GOSUB 11160
  979. 9530 D$=INKEY$
  980. 9540 IF D$="" THEN 9530
  981. 9550 IF D$=CHR$(27) THEN 9160
  982. 9560 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 9530
  983. 9570 D$=RIGHT$(D$,1)
  984. 9580 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 9640
  985. 9590 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 9640
  986. 9600 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 9640
  987. 9610 GOSUB 11220
  988. 9620 IF ASC(D$)=13 THEN 9680
  989. 9630 GOTO 9530
  990. 9640 IF YOY=1 THEN YOY=9
  991. 9650 IF YOY=10 THEN YOY=2
  992. 9660 GOSUB 11160
  993. 9670 GOTO 9530
  994. 9680 IF YOY=9 THEN 9160
  995. 9690 H=YOY-1:GOTO 670
  996. 9700 LOCATE 2,PST(3)+1:PRINT "╢■ ╫╓ ┤╩";
  997. 9710 LOCATE 3,PST(3)+1:PRINT "╚² ╫╓ ┤╩";
  998. 9720 LOCATE 4,PST(3)+1:PRINT "╦─ ╫╓ ┤╩";
  999. 9730 LOCATE 5,PST(3)+1:PRINT "╢α ╫╓ ┤╩";
  1000. 9740 LOCATE 6,PST(3)+1:PRINT "╖╡╗╪╔╧▓π";
  1001. 9750 YOY=2
  1002. 9760 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,6*18-2),,B
  1003. 9770 GOSUB 11160
  1004. 9780 D$=INKEY$
  1005. 9790 IF D$="" THEN 9780
  1006. 9800 IF D$=CHR$(27) THEN 9160
  1007. 9810 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 9780
  1008. 9820 D$=RIGHT$(D$,1)
  1009. 9830 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 9890
  1010. 9840 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 9890
  1011. 9850 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 9890
  1012. 9860 GOSUB 11220
  1013. 9870 IF ASC(D$)=13 THEN 9930
  1014. 9880 GOTO 9780
  1015. 9890 IF YOY=1 THEN YOY=6
  1016. 9900 IF YOY=7 THEN YOY=2
  1017. 9910 GOSUB 11160
  1018. 9920 GOTO 9780
  1019. 9930 IF YOY=6 THEN 9160
  1020. 9940 IF YOY=2 THEN H=10:LINN=8:GOTO 670
  1021. 9950 H=10:LINN=YOY+7:GOTO 670
  1022. 9960 LOCATE 2,PST(4)+1:PRINT "╢¿╩▒╩Σ╚δ";
  1023. 9970 LOCATE 3,PST(4)+1:PRINT "╢¿┴┐╩Σ╚δ";
  1024. 9980 LOCATE 4,PST(4)+1:PRINT "▓╗╢¿╩Σ╚δ";
  1025. 9990 LOCATE 5,PST(4)+1:PRINT "┤≥╙í╬─╕σ";
  1026. 10000 LOCATE 6,PST(4)+1:PRINT "╔╛│²╬─╕σ";
  1027. 10010 LOCATE 7,PST(4)+1:PRINT "╖╡╗╪╔╧▓π";
  1028. 10020 YOY=2
  1029. 10030 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,7*18-2),,B
  1030. 10040 GOSUB 11160
  1031. 10050 D$=INKEY$
  1032. 10060 IF D$="" THEN 10050
  1033. 10070 IF D$=CHR$(27) THEN 9160
  1034. 10080 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 10050
  1035. 10090 D$=RIGHT$(D$,1)
  1036. 10100 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 10160
  1037. 10110 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 10160
  1038. 10120 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 10160
  1039. 10130 GOSUB 11220
  1040. 10140 IF ASC(D$)=13 THEN 10200
  1041. 10150 GOTO 10050
  1042. 10160 IF YOY=1 THEN YOY=7
  1043. 10170 IF YOY=8 THEN YOY=2
  1044. 10180 GOSUB 11160
  1045. 10190 GOTO 10050
  1046. 10200 IF YOY=7 THEN 9160
  1047. 10210 IF YOY<5 THEN HH=YOY-1 ELSE HH=YOY
  1048. 10220 H=12
  1049. 10230 GOTO 670
  1050. 10240 GOSUB 11040
  1051. 10250 LOCATE 2,PST(5)+1:PRINT "┬Σ╫╓╙╬╧╖";
  1052. 10260 LOCATE 3,PST(5)+1:PRINT "╫╖╗≈╙╬╧╖";
  1053. 10270 LOCATE 4,PST(5)+1:PRINT "╖╡╗╪╔╧▓π";
  1054. 10280 YOY=2
  1055. 10290 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,4*18-2),,B
  1056. 10300 GOSUB 11160
  1057. 10310 D$=INKEY$
  1058. 10320 IF D$="" THEN 10310
  1059. 10330 IF D$=CHR$(27) THEN 9160
  1060. 10340 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 10310
  1061. 10350 D$=RIGHT$(D$,1)
  1062. 10360 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 10420
  1063. 10370 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 10420
  1064. 10380 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 10420
  1065. 10390 GOSUB 11220
  1066. 10400 IF ASC(D$)=13 THEN 10460
  1067. 10410 GOTO 10310
  1068. 10420 IF YOY=1 THEN YOY=4
  1069. 10430 IF YOY=5 THEN YOY=2
  1070. 10440 GOSUB 11160
  1071. 10450 GOTO 10310
  1072. 10460 IF YOY=3 THEN HH=4:LSTM=G:GOSUB 5550:GOTO 550
  1073. 10470 ON YOY-1 GOTO 10480,10460,9160
  1074. 10480 H=11:GOSUB 11040
  1075. 10490 LOCATE 2,PST(5)+1:PRINT "╦µ╗·╧┬┬Σ";
  1076. 10500 LOCATE 3,PST(5)+1:PRINT "╦│╨≥╧┬┬Σ";
  1077. 10510 LOCATE 4,PST(5)+1:PRINT "╖╡╗╪╔╧▓π";
  1078. 10520 YOY=2:H=11
  1079. 10530 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,4*18-2),,B
  1080. 10540 GOSUB 11160
  1081. 10550 D$=INKEY$
  1082. 10560 IF D$="" THEN 10550
  1083. 10570 IF D$=CHR$(27) THEN 10240
  1084. 10580 IF D$<>" " AND  ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 10550
  1085. 10590 D$=RIGHT$(D$,1)
  1086. 10600 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 10660
  1087. 10610 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 10660
  1088. 10620 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 10660
  1089. 10630 GOSUB 11220
  1090. 10640 IF ASC(D$)=13 THEN 10700
  1091. 10650 GOTO 10550
  1092. 10660 IF YOY=1 THEN YOY=4
  1093. 10670 IF YOY=5 THEN YOY=2
  1094. 10680 GOSUB 11160
  1095. 10690 GOTO 10550
  1096. 10700 ON YOY-1 GOTO 10720,10710,10240
  1097. 10710 RDSG=0:GOTO 670
  1098. 10720 RDSG=1:GOSUB 11040
  1099. 10730 LOCATE 2,PST(5)+1:PRINT "╥╗╝╢╫╓┐Γ";
  1100. 10740 LOCATE 3,PST(5)+1:PRINT "╢■╝╢╫╓┐Γ";
  1101. 10750 LOCATE 4,PST(5)+1:PRINT "═Ω╒√╫╓┐Γ";
  1102. 10760 LOCATE 5,PST(5)+1:PRINT "╖╡╗╪╔╧▓π";
  1103. 10770 YOY=2
  1104. 10780 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,5*18-2),,B
  1105. 10790 GOSUB 11160
  1106. 10800 D$=INKEY$
  1107. 10810 IF D$="" THEN 10800
  1108. 10820 IF D$=CHR$(27) THEN 10960
  1109. 10830 IF D$<>" " AND  ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 10800
  1110. 10840 D$=RIGHT$(D$,1)
  1111. 10850 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 10910
  1112. 10860 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 10910
  1113. 10870 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 10910
  1114. 10880 GOSUB 11220
  1115. 10890 IF ASC(D$)=13 THEN 10950
  1116. 10900 GOTO 10800
  1117. 10910 IF YOY=1 THEN YOY=5
  1118. 10920 IF YOY=6 THEN YOY=2
  1119. 10930 GOSUB 11160
  1120. 10940 GOTO 10800
  1121. 10950 IF YOY<5 THEN 11010
  1122. 10960 FOR I=2 TO 6
  1123. 10965 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,9*18-2),0,B
  1124. 10970 LOCATE I,PST(XOX)
  1125. 10980 PRINT SPACE$(12);
  1126. 10990 NEXT I
  1127. 11000 GOTO 10480
  1128. 11010 PSP=YOY-1
  1129. 11020 GOSUB 3780:GOTO 9080
  1130. 11030 CLS:SCREEN 1:GOSUB 11870:LOCATE 5,18:PRINT "╘┘":LOCATE 5,22:PRINT "╝√";:GOSUB 12130:LOCATE 8,1:SCREEN 2,0,0
  1131.    reg 1,&HF000
  1132.    call interrupt &H10
  1133.    reg 4,reg(4) and &H77FF
  1134.    reg 1,&HF001
  1135.    call interrupt &H10
  1136.    END
  1137. 11040 FOR I=2 TO 9
  1138. 11042 LINE((PST(XOX)-1)*8,18)-((PST(XOX)+9)*8,9*18-2),0,B
  1139. 11050 LINE(0,0)-(0,199)
  1140. 11060 LINE(0,16)-(639,16)
  1141. 11070 LOCATE I,PST(XOX)
  1142. 11080 IF XOX=8 THEN LOCATE I,68
  1143. 11090 PRINT SPACE$(11);
  1144. 11100 NEXT I
  1145. 11110 LINE(0,0)-(0,199)
  1146. 11120 RETURN
  1147. 11130 GET((PST(XOX)-1)*8+1,1)-((PST(XOX)+9)*8-1,15),T%
  1148. 11140 PUT((PST(XOX)-1)*8+1,1),T%,PRESET
  1149. 11150 RETURN
  1150. 11160 IF YOY>2 THEN 11190
  1151. 11170 GET((PST(XOX)-1)*8+1,(YOY-1)*18+1)-((PST(XOX)+9)*8-1,YOY*18-3),T%
  1152. 11180 PUT((PST(XOX)-1)*8+1,(YOY-1)*18+1),T%,PRESET:RETURN
  1153. 11190 GET((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8-1,YOY*18-3),T%
  1154. 11200 PUT((PST(XOX)-1)*8,(YOY-1)*18),T%,PRESET
  1155. 11210 RETURN
  1156. 11220 IF D$="M" THEN GOSUB 11040:XOX=XOX+1:GOTO 11250
  1157. 11230 IF D$="K" THEN GOSUB 11040:XOX=XOX-1:GOTO 11250
  1158. 11240 RETURN
  1159. 11250 IF XOX=0 THEN XOX=7
  1160. 11260 IF XOX=8 THEN XOX=1
  1161. 11270 RETURN 9170
  1162. 11280 LOCATE 2,PST(6)+1:PRINT "╨▐╕─▓╬╩²";
  1163. 11290 LOCATE 3,PST(6)+1:PRINT "│⌡ ╩╝ ╗»";
  1164. 11300 LOCATE 4,PST(6)+1:PRINT "╝╠╨°┴╖╧░";
  1165. 11310 LOCATE 5,PST(6)+1:PRINT "╖╡╗╪╔╧▓π";
  1166. 11320 YOY=2
  1167. 11330 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,5*18-2),,B
  1168. 11340 GOSUB 11160
  1169. 11350 D$=INKEY$
  1170. 11360 IF D$="" THEN 11350
  1171. 11370 IF D$=CHR$(27) THEN 9160
  1172. 11380 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 11350
  1173. 11390 D$=RIGHT$(D$,1)
  1174. 11400 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 11460
  1175. 11410 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 11460
  1176. 11420 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 11460
  1177. 11430 GOSUB 11220
  1178. 11440 IF ASC(D$)=13 THEN 11500
  1179. 11450 GOTO 11350
  1180. 11460 IF YOY=1 THEN YOY=5
  1181. 11470 IF YOY=6 THEN YOY=2
  1182. 11480 GOSUB 11160
  1183. 11490 GOTO 11350
  1184. 11500 IF YOY=2 THEN H=9 ELSE H=14
  1185. 11510 IF YOY=4 THEN H=8 ELSE 11530
  1186. 11520 IF L>114 THEN XOX=3 ELSE XOX=2
  1187. 11530 IF YOY=5 THEN 9160
  1188. 11540 GOTO 670
  1189. 11550 CLS:LOCATE 1,1
  1190. 11555 PLAY"O0C64"
  1191. 11560 PRINT " ╫╓╕∙┴╖╧░  ╡Ñ╫╓┴╖╧░  ┤╩╫Θ┴╖╧░  ╬─╒┬┴╖╧░  ╙╬    ╧╖  ╧╡═│╬¼╗ñ  │╔╝¿▒¿╕µ  ═╦    │÷";
  1192. 11570 LOCATE 25,15:LINE (0,11*16+5)-(639,11*16+5)
  1193. 11580 PRINT " ╣Γ▒Ω╝ⁿ[í· í√ íⁿ í²]: ╤í╘±╧ε─┐    ╗╪│╡╝ⁿ[í√⌐ñ⌐╛]:╤í╓╨";
  1194. 11590 LINE(0,16)-(639,16)
  1195. 11600 LINE(0,0)-(639,199),,B:RETURN
  1196. 11610 REM │╔╝¿▒¿╕µ
  1197. 11620 LOCATE 2,PST(7)+1:PRINT "░┤╚╒╞┌╝╞";
  1198. 11630 LOCATE 3,PST(7)+1:PRINT "░┤╖╓└α╝╞";
  1199. 11640 LOCATE 4,PST(7)+1:PRINT "╖╡╗╪╔╧▓π";
  1200. 11650 YOY=2
  1201. 11660 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,4*18-2),,B
  1202. 11670 GOSUB 11160
  1203. 11680 D$=INKEY$
  1204. 11690 IF D$="" THEN 11680
  1205. 11700 IF D$=CHR$(27) THEN 9160
  1206. 11710 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 11680
  1207. 11720 D$=RIGHT$(D$,1)
  1208. 11730 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 11790
  1209. 11740 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 11790
  1210. 11750 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 11790
  1211. 11760 GOSUB 11220
  1212. 11770 IF ASC(D$)=13 THEN 11830
  1213. 11780 GOTO 11680
  1214. 11790 IF YOY=1 THEN YOY=4
  1215. 11800 IF YOY=5 THEN YOY=2
  1216. 11810 GOSUB 11160
  1217. 11820 GOTO 11680
  1218. 11830 ON YOY-1 GOSUB 12190,12350,9160
  1219. 11840 GOTO 640
  1220. 11850 CLS
  1221. 11860 SCREEN 1,0,0
  1222. 11870 COLOR 16
  1223. 11880 CIRCLE(160,70),30,2,1.75*3.15,1.26*3.15
  1224. 11890 CIRCLE(148,45),28,,1.12*3.15,0,2.3
  1225. 11900 LINE (140,87)-(136,54)
  1226. 11910 CIRCLE(172,45),28,,1*3.14,1.88*3.14,2.3
  1227. 11920 LINE (160,72)-(147,87)
  1228. 11930 LINE -(173,87)
  1229. 11940 LINE -(160,72)
  1230. 11950 LINE (180,87)-(184,54)
  1231. 11960 LINE (136,87)-(186,87)
  1232. 11970 LINE (138,90)-(184,90)
  1233. 11980 LINE (132,102)-(190,102)
  1234. 11990 LINE (126,105)-(196,105)
  1235. 12000 LINE (132,102)-(138,90)
  1236. 12010 LINE (126,105)-(136,87)
  1237. 12020 LINE (190,102)-(184,90)
  1238. 12030 LINE (186,87)-(196,105)
  1239. 12040 PAINT(150,88),2,3
  1240. 12050 PAINT(150,80),2,3
  1241. 12060 LOCATE 2,9:PRINT "╬σ▒╩╫╓╨═╚ñ╬╢╦┘│╔╚φ╝■ V1.0";
  1242. 12070 LOCATE 8,15:PRINT "═⌡┬δ╡τ─╘╣½╦╛";
  1243. 12080 FOR I=1 TO 100
  1244. 12090 X=INT(RND*320):Y=INT(RND(1)*199)
  1245. 12100 PSET(X,Y)
  1246. 12110 NEXT
  1247. 12120 RETURN
  1248. 12130 FOR I=1 TO 160 STEP 2
  1249. 12140 LINE(I,0)-(I,199),1
  1250. 12150 LINE(320-I,0)-(320-I,199),1
  1251. 12160 FOR J=1 TO 150/STT:NEXT
  1252. 12170 NEXT I
  1253. 12180 RETURN
  1254. 12190 CLOSE:OPEN "RECORD" FOR INPUT AS #2
  1255. 12200 INPUT #2,D$,L,S,R
  1256. 12205 IF EOF(2) THEN KL=0:GOTO 12490
  1257. 12210 INPUT #2,D$,L,S,R
  1258. 12220 KL=1
  1259. 12225 IF EOF(2) THEN KL=0:GOTO 12490
  1260. 12230 INPUT #2,D$,L,S,R
  1261. 12240 OD$=D$:SOS=S:ROR=R:KS=1:KR=1
  1262. 12250 IF NOT EOF(2) THEN 12260 ELSE 12340
  1263. 12260 INPUT #2,D$,L,S,R
  1264. 12270 IF OD$<>D$ THEN 12310
  1265. 12280 IF S>0 THEN KS=KS+1:SOS=SOS+S
  1266. 12290 IF R>0 THEN KR=KR+1:ROR=ROR+R
  1267. 12300 IF NOT EOF(2) THEN 12260 ELSE 12340
  1268. 12310 AC$(KL)=MKS$(INT(SOS/KS*10)/10):CD$(KL)=MKS$(INT(ROR/KR*10)/10)
  1269. 12320 IF CVS(AC$(KL))>0 AND CVS(CD$(KL))>0 THEN KL=KL+1
  1270. 12330 GOTO 12240
  1271. 12340 AC$(KL)=MKS$(INT(SOS/KS*10)/10):CD$(KL)=MKS$(INT(ROR/KR*10)/10):GOTO 12490
  1272. 12350 CLOSE:OPEN "RECORD" FOR INPUT AS #2
  1273. 12360 FOR I=1 TO 15:B$(I)="":C$(I)="":D$(I)="":E$(I)="":NEXT I
  1274. 12370 INPUT #2,D$,L,S,R
  1275. 12380 INPUT #2,D$,L,S,R
  1276. 12390 IF L>370 THEN 12430
  1277. 12400 FOR KL=1 TO 12
  1278. 12410 IF L>=LINB(KL) AND L<=LINF(KL) THEN 12440
  1279. 12420 NEXT
  1280. 12430 KL=L/100+9
  1281. 12440 IF D$=DATE$ THEN KL=KL+15
  1282. 12450 IF S>0 THEN B$(KL)=STR$(VAL(B$(KL))+S):C$(KL)=STR$(VAL(C$(KL))+1)
  1283. 12460 IF R>0 THEN D$(KL)=STR$(VAL(D$(KL))+R):E$(KL)=STR$(VAL(E$(KL))+1)
  1284. 12470 IF NOT EOF(2) THEN 12380
  1285. 12480 GOTO 12760
  1286. 12490 SCREEN 1:CLS:LOCATE 25,10:PRINT "╚╒╞┌--╦┘╢╚═╝";
  1287. 12500 LINE (30,5)-(30,155)
  1288. 12510 LINE -(319,155)
  1289. 12515 IF KL=0 THEN 12570
  1290. 12520 KG=INT(280/(KL))
  1291. 12530 FOR I=1 TO KL
  1292. 12540 LINE(31+(I-1)*KG,155-CVS(AC$(I)))-(30+I*KG-KG/2,155),,B
  1293. 12550 IF CVS(AC$(I))>2 THEN PAINT(32+(I-1)*KG,156-CVS(AC$(I))),2,3
  1294. 12560 NEXT I
  1295. 12570 LOCATE 1,1:PRINT "150";
  1296. 12580 LOCATE 9,1:PRINT "  0";
  1297. 12590 FOR I=1 TO 14:LINE(30,10*I+5)-(27,10*I+5),1:NEXT I:D$=INPUT$(1)
  1298. 12600 SCREEN 1:CLS:LOCATE 25,10:PRINT "╚╒╞┌--╒²╚╖┬╩═╝";
  1299. 12610 LINE (30,5)-(30,155)
  1300. 12620 LINE -(319,155)
  1301. 12625 IF KL=0 THEN 12680
  1302. 12630 KG=INT(280/(KL))
  1303. 12640 FOR I=1 TO KL
  1304. 12645 IF KG=0 THEN 12670
  1305. 12650 LINE(31+(I-1)*KG,155-CVS(CD$(I))*1.5)-(30+I*KG-KG/2,155),,B
  1306. 12660 IF CVS(CD$(I))>2 THEN PAINT(32+(I-1)*KG,154),2,3
  1307. 12670 NEXT I
  1308. 12680 FOR I=1 TO 14:LINE(30,10*I+5)-(27,10*I+5),1:NEXT I
  1309. 12690 LOCATE 1,1:PRINT "100";
  1310. 12700 LOCATE 3,1:PRINT " 75";
  1311. 12710 LOCATE 5,1:PRINT " 50";
  1312. 12720 LOCATE 7,1:PRINT " 25";
  1313. 12730 LOCATE 9,1:PRINT "  0";
  1314. 12740 FOR I=1 TO 500:AC$(I)="":CD$(I)="":NEXT I
  1315. 12750 D$=INPUT$(1):SCREEN 2,0,0:RETURN
  1316. 12760 SCREEN 1:CLS:LOCATE 25,1 :PRINT "ú╞ú▒ú║░∩╓·       ╣²╚Ñ│╔╝¿     ╡▒╠∞│╔╝¿";
  1317. 12770 LINE(14*8,11*16+4)-(16*8,12*16+4),,B:PAINT(14*8+2,11*16+6),1,3
  1318. 12780 ON KEY(1) GOSUB 13410
  1319. 12790 KG=1
  1320. 12800 KEY(1) ON
  1321. 12810 LOCATE 10,5:PRINT " 1 2 3 4 5 6 7 8 9 A B C D E F ╧ε─┐";
  1322. 12820 LINE(27*8,11*16+4)-(29*8,12*16+4),,B:PAINT(27*8+2,11*16+6),2,3
  1323. 12830 LINE (34,5)-(34,155)
  1324. 12840 LINE -(319,155)
  1325. 12850 FOR I=1 TO 15:KS=0:KR=0
  1326. 12860 IF VAL(C$(I))>0 THEN KS=INT(VAL(B$(I))/VAL(C$(I)))
  1327. 12870 IF VAL(C$(I+15))>0 THEN KR=INT(VAL(B$(I+15))/VAL(C$(I+15)))
  1328. 12880 LINE(19+I*16,155-KS)-(25+I*16,155),,B
  1329. 12890 IF KS>2 THEN PAINT(20+I*16,154),1,3:LOCATE 25,1
  1330. 12900 LINE(25+I*16,155-KR)-(31+I*16,155),,B
  1331. 12910 IF KR>2 THEN PAINT(26+I*16,154),2,3:LOCATE 25,20
  1332. 12920 MK$(1,1,I)="    ":MK$(1,2,I)="    "
  1333. 12930 RSET MK$(1,1,I)=STR$(INT(KS+.5)):RSET MK$(1,2,I)=STR$(INT(KR+.5))
  1334. 12940 NEXT I
  1335. 12950 LOCATE 1,2:PRINT "150";
  1336. 12960 LOCATE 9,2:PRINT "  0";
  1337. 12970 FOR I=1 TO 14:LINE(34+I*16,155)-(34+I*16,158),1:NEXT I
  1338. 12980 LOCATE 4,1:PRINT "╦┘";
  1339. 12990 LOCATE 6,1:PRINT "╢╚";
  1340. 13040 FOR I=1 TO 14:LINE(34,10*I+5)-(31,10*I+5),1:NEXT I
  1341. 13050 IF INKEY$="" THEN 13050
  1342. 13060 SCREEN 1:CLS:LOCATE 25,1 :PRINT "ú╞ú▒ú║░∩╓·       ╣²╚Ñ│╔╝¿     ╡▒╠∞│╔╝¿";
  1343. 13070 KEY(1) ON
  1344. 13080 KG=2
  1345. 13090 LOCATE 10,6:PRINT "1 2 3 4 5 6 7 8 9 A B C D E F ╧ε─┐";
  1346. 13100 LINE(27*8,11*16+4)-(29*8,12*16+4),,B:PAINT(27*8+2,11*16+6),2,3
  1347. 13110 LINE(14*8,11*16+4)-(16*8,12*16+4),,B:PAINT(14*8+2,11*16+6),1,3
  1348. 13120 LINE (34,5)-(34,155)
  1349. 13130 LINE -(319,155)
  1350. 13140 FOR I=1 TO 15:KS=0:KR=0
  1351. 13150 IF VAL(E$(I))>0 THEN KS=INT(VAL(D$(I))/VAL(E$(I)))*1.5
  1352. 13160 IF VAL(E$(I+15))>0 THEN KR=INT(VAL(D$(I+15))/VAL(E$(I+15)))*1.5
  1353. 13170 LINE(19+I*16,155-KS)-(25+I*16,155),,B
  1354. 13180 IF KS>2 THEN PAINT(20+I*16,154),1,3
  1355. 13190 LINE(25+I*16,155-KR)-(31+I*16,155),,B
  1356. 13200 IF KR>2 THEN PAINT(26+I*16,154),2,3
  1357. 13210 MK$(2,1,I)="    ":MK$(2,2,I)="    "
  1358. 13220 RSET MK$(2,1,I)=STR$(INT(KS/1.5+.5)):RSET MK$(2,2,I)=STR$(INT(KR/1.5+.5))
  1359. 13230 NEXT I
  1360. 13240 FOR I=1 TO 14:LINE(34+I*16,155)-(34+I*16,158),1:NEXT I
  1361. 13280 LOCATE 4,1:PRINT "╒²";
  1362. 13290 LOCATE 5,1:PRINT "╚╖";
  1363. 13300 LOCATE 6,1:PRINT "┬╩";
  1364. 13320 FOR I=1 TO 14:LINE(34,10*I+5)-(31,10*I+5),1:NEXT I
  1365. 13330 LOCATE 1,2:PRINT "100";
  1366. 13340 LOCATE 3,3:PRINT "75";
  1367. 13350 LOCATE 5,3:PRINT "50";
  1368. 13360 LOCATE 7,3:PRINT "25";
  1369. 13370 LOCATE 9,4:PRINT "0";
  1370. 13380 IF INKEY$="" THEN 13380
  1371. 13390 FOR I=1 TO 30:B$(I)="":C$(I)="":D$(I)="":E$(I)="":NEXT
  1372. 13400 SCREEN 2,0,0:RETURN
  1373. 13410 SCREEN 2,0,0:CLS
  1374. 13420 LOCATE 1,26:PRINT "╕≈╧ε┴╖╧░│╔╝¿▒¿╕µ";
  1375. 13430 IF KG=1 THEN PRINT "ú¿╦┘╢╚: ╫╓ú»╖╓ú⌐";
  1376. 13440 IF KG=2 THEN PRINT "ú¿╒²╚╖┬╩: úÑú⌐";
  1377. 13450 LOCATE 3,1:PRINT "  ┤·║┼╝░├√│╞   ╣²╚Ñ  ╡▒╠∞   ┤·║┼╝░├√│╞   ╣²╚Ñ  ╡▒╠∞   ┤·║┼╝░├√│╞   ╣²╚Ñ  ╡▒╠∞"
  1378. 13460 LOCATE 4,2:PRINT "ú▒ú║╥╗╝╢╝≥┬δ  ";
  1379. 13470 LOCATE 5,2:PRINT "ú▓ú║╝ⁿ├√╫╓╕∙  ";
  1380. 13480 LOCATE 6,2:PRINT "ú│ú║╢■╝╢╝≥┬δ  ";
  1381. 13490 LOCATE 7,2:PRINT "ú┤ú║│╔╫╓╫╓╕∙  ";
  1382. 13500 LOCATE 8,2:PRINT "ú╡ú║─⌐▒╩╫╓╨═  ";
  1383. 13510 LOCATE 4,28:PRINT "ú╢ú║│ú╙├╡Ñ╫╓  ";
  1384. 13520 LOCATE 5,28:PRINT "ú╖ú║─╤╫╓┴╖╧░  ";
  1385. 13530 LOCATE 6,28:PRINT "ú╕ú║╢■╫╓┤╩ó┘  ";
  1386. 13540 LOCATE 7,28:PRINT "ú╣ú║╢■╫╓┤╩ó┌  ";
  1387. 13550 LOCATE 8,28:PRINT "ú┴ú║╚² ╫╓ ┤╩  ";
  1388. 13560 LOCATE 4,54:PRINT "ú┬ú║╦─ ╫╓ ┤╩  ";
  1389. 13570 LOCATE 5,54:PRINT "ú├ú║╢α ╫╓ ┤╩  ";
  1390. 13580 LOCATE 6,54:PRINT "ú─ú║╫╓╕∙┴╖╧░  ";
  1391. 13590 LOCATE 7,54:PRINT "ú┼ú║┬Σ╫╓╙╬╧╖  ";
  1392. 13600 LOCATE 8,54:PRINT "ú╞ú║╬─╒┬┴╖╧░  ";
  1393. 13610 FOR I=1 TO 3
  1394. 13620 FOR J=1 TO 5
  1395. 13630 ON I GOTO 13640,13650,13660
  1396. 13640 LOCATE J+3,16:GOTO 13670
  1397. 13650 LOCATE J+3,42:GOTO 13670
  1398. 13660 LOCATE J+3,68
  1399. 13670 PRINT MK$(KG,1,(I-1)*5+J);"  ";MK$(KG,2,(I-1)*5+J);
  1400. 13680 NEXT J
  1401. 13690 NEXT I
  1402. 13700 LINE(0,30)-(625,144),,B
  1403. 13710 LINE(1,31)-(624,143),,B
  1404. 13720 LINE(112,30)-(113,143),,B
  1405. 13730 LINE(160,30)-(161,143),,B
  1406. 13740 LINE(208,30)-(209,143),,B
  1407. 13750 LINE(320,30)-(321,143),,B
  1408. 13760 LINE(368,30)-(369,143),,B
  1409. 13770 LINE(416,30)-(417,143),,B
  1410. 13780 LINE(528,30)-(529,143),,B
  1411. 13790 LINE(576,30)-(577,143),,B
  1412. 13800 LINE(624,30)-(625,143),,B
  1413. 13810 LINE(0,52)-(625,52)
  1414. 13820 LINE(1,30)-(2,143),,B
  1415. 13830 D$=INPUT$(1)
  1416. 13840 KEY(1) OFF
  1417. 13850 IF KG=1 THEN RETURN 12760 ELSE RETURN 13060
  1418. 13860 REM ╫╓╕∙╩Σ╚δ
  1419. 13870 LOCATE 2,PST(1)+1:PRINT "╗∙▒╛╫╓╕∙";
  1420. 13880 LOCATE 3,PST(1)+1:PRINT "╖╟╕∙╜ß╣╣";
  1421. 13890 LOCATE 4,PST(1)+1:PRINT "╖╡╗╪╔╧▓π";
  1422. 13900 YOY=2
  1423. 13910 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,4*18-2),,B
  1424. 13920 GOSUB 11160
  1425. 13930 D$=INKEY$
  1426. 13940 IF D$="" THEN 13930
  1427. 13950 IF D$=CHR$(27) THEN 9160
  1428. 13960 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 13930
  1429. 13970 D$=RIGHT$(D$,1)
  1430. 13980 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 14040
  1431. 13990 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 14040
  1432. 14000 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 14040
  1433. 14010 GOSUB 11220
  1434. 14020 IF ASC(D$)=13 THEN 14080
  1435. 14030 GOTO 13930
  1436. 14040 IF YOY=1 THEN YOY=4
  1437. 14050 IF YOY=5 THEN YOY=2
  1438. 14060 GOSUB 11160
  1439. 14070 GOTO 13930
  1440. 14080 ON YOY-1 GOTO 14140,14090,14100
  1441. 14090 H=13:HH=7:GOTO 670
  1442. 14100 GOSUB 11160
  1443. 14110 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,4*18-2),0,B
  1444. 14120 LINE (0,0)-(0,199)
  1445. 14130 GOTO 9160
  1446. 14140 GOSUB 11160
  1447. 14150 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,4*18-2),0,B
  1448. 14160 LOCATE 2,PST(1)+1:PRINT "╥╗╟°╫╓╕∙";
  1449. 14170 LOCATE 3,PST(1)+1:PRINT "╢■╟°╫╓╕∙";
  1450. 14180 LOCATE 4,PST(1)+1:PRINT "╚²╟°╫╓╕∙";
  1451. 14190 LOCATE 5,PST(1)+1:PRINT "╦─╟°╫╓╕∙";
  1452. 14200 LOCATE 6,PST(1)+1:PRINT "╬σ╟°╫╓╕∙";
  1453. 14210 LOCATE 7,PST(1)+1:PRINT "╚½▓┐╫╓╕∙";
  1454. 14220 LOCATE 8,PST(1)+1:PRINT "╖╡╗╪╔╧▓π";
  1455. 14230 YOY=2
  1456. 14240 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,8*18-2),,B
  1457. 14250 GOSUB 11160
  1458. 14260 D$=INKEY$
  1459. 14270 IF D$="" THEN 14260
  1460. 14280 IF D$=CHR$(27) THEN 14480
  1461. 14290 IF D$<>" " AND ASC(LEFT$(D$,1))<>0 AND ASC(D$)<>13 THEN 14260
  1462. 14300 D$=RIGHT$(D$,1)
  1463. 14310 IF D$="P" THEN GOSUB 11160:YOY=YOY+1:GOTO 14370
  1464. 14320 IF D$=" " THEN GOSUB 11160:YOY=YOY+1:GOTO 14370
  1465. 14330 IF D$="H" THEN GOSUB 11160:YOY=YOY-1:GOTO 14370
  1466. 14340 GOSUB 11220
  1467. 14350 IF ASC(D$)=13 THEN 14410
  1468. 14360 GOTO 14260
  1469. 14370 IF YOY=1 THEN YOY=8
  1470. 14380 IF YOY=9 THEN YOY=2
  1471. 14390 GOSUB 11160
  1472. 14400 GOTO 14260
  1473. 14410 ON YOY-1 GOTO 14420,14430,14440,14450,14460,14470,14480
  1474. 14420 H=13:HH=1:GOTO 670
  1475. 14430 H=13:HH=2:GOTO 670
  1476. 14440 H=13:HH=3:GOTO 670
  1477. 14450 H=13:HH=4:GOTO 670
  1478. 14460 H=13:HH=5:GOTO 670
  1479. 14470 H=13:HH=6:GOTO 670
  1480. 14480 GOSUB 11160:GOSUB 11040
  1481. 14490 LINE((PST(XOX)-1)*8,(YOY-1)*18)-((PST(XOX)+9)*8,8*18-2),0,B
  1482. 14500 LINE (0,0)-(0,199)
  1483. 14510 GOTO 13860
  1484. 14520 IF D$="G" OR D$="F" OR D$="D" OR D$="S" OR D$="A" THEN ON KOK GOSUB 8930,8730
  1485. 14530 IF D$="H" OR D$="J" OR D$="K" OR D$="L" OR D$="M" THEN ON KOK GOSUB 8900,8760
  1486. 14540 IF D$="T" OR D$="R" OR D$="E" OR D$="W" OR D$="Q" THEN ON KOK GOSUB 8950,8750
  1487. 14550 IF D$="Y" OR D$="U" OR D$="I" OR D$="O" OR D$="P" THEN ON KOK GOSUB 8920,8720
  1488. 14560 IF D$="N" OR D$="B" OR D$="V" OR D$="C" OR D$="X" THEN ON KOK GOSUB 8940,8740
  1489. 14570 RETURN
  1490. 14580 LINB(1)=0:LINF(1)=0
  1491. 14590 LINB(2)=1:LINF(2)=1
  1492. 14600 LINB(3)=2:LINF(3)=36
  1493. 14610 LINB(4)=37:LINF(4)=40
  1494. 14620 LINB(5)=41:LINF(5)=48
  1495. 14630 LINB(6)=49:LINF(6)=107
  1496. 14640 LINB(7)=108:LINF(7)=114
  1497. 14650 LINB(8)=115:LINF(8)=200
  1498. 14660 LINB(9)=201:LINF(9)=279
  1499. 14670 LINB(10)=280:LINF(10)=302
  1500. 14680 LINB(11)=303:LINF(11)=332
  1501. 14690 LINB(12)=333:LINF(12)=339
  1502. 14700 RETURN
  1503. 23540 IF INKEY$<>"" THEN RETURN
  1504. 23550 PLAY "MBO2G8O3C8E4.C8"
  1505. 23560 IF INKEY$<>"" THEN RETURN
  1506. 23570 PLAY "O2G8O3C8E8A8G3.E8L8N0"
  1507. 23580 IF INKEY$<>"" THEN RETURN
  1508. 23590 PLAY "C8C8C4.O2B8O3C8O2B8O3C8E8D3.."
  1509. 23600 IF INKEY$<>"" THEN RETURN
  1510. 23610 PLAY "L10N0O2G8O3C8E4.C8"
  1511. 23620 IF INKEY$<>"" THEN RETURN
  1512. 23630 PLAY "O2G8O3C8O2B8O3CO2A3.O3F8L8N0"
  1513. 23640 IF INKEY$<>"" THEN RETURN
  1514. 23650 PLAY "D8O2B8O3C8L4N0G8F#8G8F#8O2B8O3C3.."
  1515. 23660 RETURN
  1516. 30000 OLDTIMER=TIMER
  1517. 30030 RETURN
  1518.