1000 ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1010 ' * * 1020 ' * Program Name [ Practice in Keyboard Typing ] * 1030 ' * * 1040 ' * ‚b‚‚‚™‚’‚‰‚‡‚ˆ‚”@i‚bj in 1988/10/23 (FM-16ƒÀFDI) * 1050 ' * in 1988/11/14 (FMR-50FD) * 1060 ' * * 1070 ' * Programmed By Kunio Ymazaki(Maruku) * 1080 ' * * 1090 ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1100 : 1110 RANDOMIZE TIME/5 1120 DEFINT A-Z 1130 DEF FNC$(I)=CHR$(SCREEN(X+SX(I),Y+SY(I))) 1140 DIM SX(4),SY(4),MSG$(9),CA(3,1),T(3,6),M(3,6),NM$(3,6) 1150 : 1160 SC$="":CU$=CHR$(&H87):I=0:J=0:T=0:X=0:Y=0:IA=0 1170 INTERVAL 1:ON INTERVAL GOSUB 2570 1180 ON KEY (10) GOSUB 2920 1190 ON ERROR GOTO 3380 1200 : 1210 FOR I=1 TO 10:KEY I,"":NEXT 1220 : 1230 DATA 0,0,1,0,0,1,-1,0,0,-1 1240 RESTORE 1230 1250 FOR I=0 TO 4 1260 READ SX(I),SY(I) 1270 NEXT 1280 : 1290 DATA 64,32,26,65,63,161 1300 RESTORE 1290 1310 FOR I=1 TO 3 1320 FOR J=0 TO 1 1330 READ CA(I,J) 1340 NEXT 1350 NEXT 1360 : 1370 DATA " Aborted !"," Fantastic !!"," Blind touch ?!"," Very Good !!" 1380 DATA " Good !","Let's Practice !"," Oh! Shit!!" 1390 DATA " Oh! my god !"," ...... !?"," Blind ?" 1400 RESTORE 1370 1410 FOR I=0 TO 9 1420 READ MSG$(I) 1430 NEXT 1440 : 1450 DATA "m‚On -----@ƒŒƒbƒXƒ“I—¹" 1460 DATA "m‚Pn ----- ‹L†^”Žš^‰p•¶Žši‘å•¶Žšj" 1470 DATA "m‚Qn -----@‰p•¶Žši‘å•¶Žšj" 1480 DATA "m‚Rn ----- “ú–{ƒJƒi•¶Žš^‹L†" 1490 RESTORE 1450 1500 FOR I=0 TO 3 1510 READ MENU$(I) 1520 NEXT 1530 : 1540 OPEN "I",#1,"SCORE.DAT" 1550 FOR I=1 TO 3 1560 FOR J=1 TO 5 1570 INPUT #1,T(I,J),M(I,J),NM$(I,J) 1580 NEXT 1590 NEXT 1600 CLOSE 1610 : 1620 STOP OFF:KEY (10) STOP 1630 WIDTH 80,25:CONSOLE 0,25,0:LOCATE 0,0,1,0,15:CLS:KANJI ON 1640 COLOR 6,,,0:LOCATE 18,2,0 1650 PRINT TAB(15);"¦@•xŽm’Ê‚e‚l|‚P‚UƒÀ@ƒL[ƒ{[ƒhEƒ^ƒCƒv—ûK@¦" 1660 COLOR 4,,,0:PRINT:PRINT 1670 LINE (87,82)-(553,222),PSET ,7,B 1680 LINE (72,84)-(568,220),PSET ,7,B 1690 LINE (57,86)-(583,218),PSET ,7,B 1700 FOR I=0 TO 3 1710 COLOR I,,,4 1720 PRINT TAB(16);MENU$(I) 1730 PRINT 1740 NEXT 1750 COLOR 6:PRINT:PRINT 1760 IA=2:BUF=0:BUF$=CHR$(31)+CHR$(13)+CHR$(30) 1770 PRINT TAB(34);"ª«‚Å‘I‘ð‚µA‚b‚q‚ð‰Ÿ‚µ‚ĉº‚³‚¢ :";TAB(79); 1780 LOCATE 7,24:COLOR 0 1790 PRINT "Copyright (C)@‹@ŠB‰È ‰ž—p—¬‘Ì‘æ“ñŒ¤‹†Žº@Kunio Yamazaki [1987-1988]"; 1800 : 1810 WHILE BUF<>2 1820 LOCATE 16,IA*2+6:COLOR 7,,,1:PRINT MENU$(IA) 1830 LOCATE 28,12,0:Z$=INPUT$(1) 1840 IF Z$<"0" OR Z$>"3" THEN 1880 1850 IA=VAL(Z$) 1860 BUF=2:GOTO 1900 1870 'else 1880 BUF=INSTR(BUF$,Z$) 1890 'endif 1900 ON BUF+1 GOTO 1830,1910,1950,1910 1910 LOCATE 16,IA*2+6:COLOR IA,,,4:PRINT MENU$(IA) 1920 BUF=2-BUF:IA=IA+BUF 1930 IF IA=-1 OR IA=4 THEN IA=IA-BUF*4 1940 WEND 1950 IF IA=0 THEN 2490 1960 : 1970 COLOR 7,,,0:KANJI OFF:KEY (10) ON 1980 WIDTH 40,25:CONSOLE 0,25,0:CLS 1990 COLOR 2:LOCATE 0,1,0 2000 PRINT "START-POINT" 2010 LINE (1,2)-(39,22),CU$,7,B 2020 COLOR 2:LOCATE 1,2:PRINT CHR$(&HEC); 2030 COLOR 2:LOCATE 39,22:PRINT CHR$(&HEC); 2040 LOCATE 29,23:PRINT "EXIT-POINT"; 2050 COLOR 4 2060 FOR I=3 TO 21 2070 FOR J=2 TO 38 2080 P1=SCREEN(J-2,I):P2=SCREEN(J,I-2) 2090 P3=SCREEN(J-1,I-1):P4=SCREEN(J+1,I-1) 2100 P5=SCREEN(J-1,I):P6=SCREEN(J,I-1) 2110 C=INT(RND*CA(IA,0))+CA(IA,1) 2120 IF C=P1 OR C=P2 OR C=P3 OR C=P4 OR C=P5 OR C=P6 THEN 2110 2130 LOCATE J,I:PRINT CHR$(C) 2140 NEXT J 2150 NEXT I 2160 : 2170 STOP OFF 2180 COLOR 7,,,2 2190 IF INKEY$<>"" THEN 2190 2200 LOCATE 5,23:PRINT "Push Start Key !!"; 2210 Z$=INPUT$(1) 2220 IF Z$CHR$(CA(IA,0)+CA(IA,1)-1) THEN BEEP:GOTO 2210 2230 X=2:Y=3:I=0 2240 IF Z$<>FNC$(I) THEN 2210 2250 LOCATE 5,23:PRINT SPC(17); 2260 T=0:M=0:PNT=0 2270 LOCATE 1,24:COLOR 7,,,0:PRINT "TIME !! RACE-->"; 2280 : 2290 INTERVAL ON 2300 : 2310 X=2:Y=3:SC$="":COLOR 2,,,4 2320 WHILE X<38 OR Y<21 2330 LINE (X,Y)-(X,Y),CU$ 2340 SC$="" 2350 FOR I=1 TO 4 2360 SC$=SC$+FNC$(I) 2370 NEXT 2380 IF SC$=STRING$(4,CU$) THEN T=0:M=0:GOTO 2450 2390 Z$=INKEY$:IF Z$="" THEN 2390 2400 I=INSTR(SC$,Z$):M=M+(1-SGN(I)) 2410 X=X+SX(I):Y=Y+SY(I) 2420 WEND 2430 LINE (X,Y)-(X,Y),CU$ 2440 : 2450 INTERVAL STOP 2460 FC=0:GOSUB 2610 2470 IF FC=1 THEN 1620 2480 : 2490 OPEN "O",#1,"SCORE.DAT" 2500 FOR I=1 TO 3 2510 FOR J=1 TO 5 2520 WRITE #1,T(I,J),M(I,J),NM$(I,J) 2530 NEXT 2540 NEXT 2550 COLOR 7,,,0:END 2560 : 2570 T=T+1 2580 LOCATE 16,24:PRINT USING "###";T; 2590 RETURN 2600 : 2610 BEEP 1 2620 PNT=(T+M)\10:IF PNT>9 THEN PNT=9 2630 CMENT$=" Ended !!":IF PNT=0 THEN CMENT$="Aborted !" 2640 LINE (8,6)-(33,13),CU$,7,B 2650 LINE (9,7)-(32,12)," ",0,BF 2660 SYMBOL (235,123),CMENT$,3,4,5 2670 SYMBOL (236,124),CMENT$,3,4,5,,XOR 2680 SYMBOL (167,177),"Hit RETURN Key",3,2,1 2690 SYMBOL (168,176),"Hit RETURN Key",3,2,6 2700 COLOR 7,,,0:LOCATE 22,24:PRINT USING "Miss Type -->###";M; 2710 BEEP 0:Z$=INPUT$(1) 2720 IF Z$<>CHR$(&H0D) THEN 2710 2730 : 2740 CLS 5:COLOR 7,,,0 2750 LOCATE 0,24:FOR I=1 TO 25:PRINT:NEXT 2760 WIDTH ,20 2770 FOR I=1 TO 9:PRINT:NEXT 2780 COLOR (PNT+1)\2,,,4*(-(PNT=0)):PRINT TAB(12);MSG$(PNT) 2790 COLOR ,,,0:PRINT 2800 COLOR 7:PRINT TAB(4);"Keyboard Lesson Retry OK? (Y/N)" 2810 FOR I=1 TO 11:PRINT:NEXT 2820 IF PNT>0 THEN GOSUB *RECORD 2830 LOCATE 35,7,1,0,15 2840 Z$=INPUT$(1) 2850 FC=(INSTR("YyÝNnÐ",Z$)+2)\3 2860 ON FC+1 GOTO 2870,2880,2880 2870 BEEP:GOTO 2830 2880 FC=2-FC 2890 LOCATE 0,24:FOR I=1 TO 25:PRINT:NEXT 2900 RETURN 2910 : 2920 INTERVAL STOP:RETURN 1620 2930 : 2940 *RECORD 2950 NO=6 2960 IF NOT (T5 THEN 3130 3030 WHILE T(IA,I)=T AND M(IA,I)5 THEN 3360 3270 COLOR NO+1,,,6 3280 LOCATE 4,7:PRINT "Your score was ranked in 5th !!" 3290 LOCATE 24,NO+10:COLOR NO+1,,,4 3300 LINE INPUT "",Z$ 3310 IF LEN(Z$)>12 OR LEN(Z$)=0 THEN BEEP:GOTO 3290 3320 NM$(IA,NO)=Z$ 3330 COLOR 7,,,0:LOCATE 4,7 3340 PRINT "Keyboard Lesson Retry OK? (Y/N)" 3350 'endif 3360 RETURN 3370 : 3380 IF ERR<>64 THEN 3420 3390 KILL "SCORE.DAT" 3400 RESUME 3410 : 3420 BEEP:COLOR 7,,,0 3430 PRINT USING "Error ## in";ERR;:PRINT ERL 3440 IF Z$<>"" THEN 3440 3450 Z$=INPUT$(1) 3460 END