10CLS :CLEAR 20RANDOMIZE 30DIM M$(2,2)*1,K(8,1) 40H= PEEK &HF4 50FOR J=0 TO 8 60READ K(J,0),K(J,1) 70NEXT 80DATA 0,2,1,2,2,2,0,1,1,1,2,1,0,0,1,0,2,0 90PRINT "10KEY TYPING" 100PRINT "--MENU--" 110PRINT "1:SLOW" 120PRINT "2:NORMAL" 130PRINT "3:FAST" 140PRINT "4:CLEAR" 150CALL 48381 160SP=4- VAL INKEY$ ,F=1 170IF SP=0 GOSUB *CLR 180IF SP<1 OR SP>3 GOTO 150 190CLS 200FOR J=0 TO 2 210FOR I=0 TO 2 220LOCATE I+2,J+1 230M$(I,J)="Û" 240PRINT "Û" 250NEXT :NEXT 260LOCATE 8,2 270PRINT "SCORE:"; STR$ 0 280LOCATE 8,3 290PRINT "HIGH :"; STR$ H 300LOCATE 8,4 310PRINT "TIME :" 320LOCATE 8,1 330PRINT "SPEED:"; MID$ ("FAST NORMALSLOW ",SP*6-5,6) 340FOR J=1000 TO 0 STEP -1 350IF J MOD 5*SP=0 LET P= RND 3-1,Q= RND 3-1,M$(P,Q)= CHR$ 134:LOCATE P+2,Q+1:PRINT CHR$ 134 360K= ASC INKEY$ 370IF K=0 LOCATE 2,4:PRINT " ":F=0 380K=K-48 390IF F=0 IF K>0 AND K<10 LET X=K(K-1,0),Y=K(K-1,1):IF M$(X,Y)= CHR$ 134 GOSUB *HIT ELSE GOSUB *MISS 400LOCATE 14,4 410PRINT STR$ J;" " 420NEXT 430IF S>H POKE &HF4,S:PRINT "NEW RECORD" 440END 450*HIT 460S=S+1,M$(X,Y)="Û",F=1 470LOCATE X+2,Y+1 480PRINT "Û" 490LOCATE 14,2 500PRINT STR$ S 510LOCATE 2,4 520PRINT "GOOD" 530RETURN 540*MISS 550S=S-2,F=1 560LOCATE 14,2 570PRINT STR$ S 580LOCATE 2,4 590PRINT "BAD" 600RETURN 610*CLR 620POKE &HF4,0 630PRINT "ʲ½º± ¦ ¸Ø± ¼Ï¼À":CALL 48381:RETURN