10 REM TYPING DRILL
11 REM C$ = CHARACTER TEST STRING
12 REM WL = WORD LENGTH FOR PRACTICE
13 REM NT = NUMBER OF TRIALS
14 REM NP = NUMBER POSSIBLE
16 REM NR = NUMBER RIGHT
20 REM 23-8-83
30 REM
40 CLEAR 200
50 INPUT "WHAT CHARACTERS DO YOU WANT ?";C$
60 L=LEN(C$):DIM A(L)
70 INPUT "HOW MANY LETTERS IN EACH WORD ?"; WL
80 INPUT "DO YOU WANT ECHO ?";A$
90 IF LEFT$(A$,1)="Y" THEN E=1
100 INPUT "HOW MANY TRIALS ?";NT
110 FOR T=1 TO NT
120 NP=NP+WL
130 A$=""
140 FOR I=1 TO WL
150 R=INT(L*RND(1)+1)
160 A$=A$+MID$(C$,R,1)
170 NEXT I
180 PRINT :PRINT A$
190 FOR I=1 TO WL
200 B$=INPUT$(1)
210 IF E=0 THEN 230
220 PRINT B$;
230 IF B$<>MID$(A$,I,1) THEN 360
240 NR=NR+1
250 NEXT
260 IF E=1 THEN PRINT
270 NEXT T
280 PRINT:PRINT "YOUR SCORE IS  ";INT(100*NR/NP);"%"
290 IF NR=NR THEN 330
300 PRINT "ERRORS:":FOR I=1 TO L:IF A(I)=0 THEN 320
310 PRINT MID$(C$,I,1);A(I)
320 NEXT
330 PRINT:INPUT "TRY AGAIN ?"; A$
340 IF LEFT$ (A$,1)="Y" THEN GOTO 110
350 END
360 FOR J=1 TO L
370 IF MID$(C$,J,1)<>MID$(A$,I,1) THEN NEXT: GOTO 390
380 A(J)=A(J)+1
390 PRINT:PRINT"ERROR ON  ";MID$(A$,I,1)
400 FOR I=1 TO 300:NEXT
410 GOTO 270
A$,I,1) THEN NEXT: GOTO 390
380 A(J)=A(J)+1
390 PRINT:PRINT"ERROR ON  ";MID$(A$,I,1)
400 FOR I=1 TO 300:NEXT
41