10  REM  SPELLING DRILL AND PRACTICE, BY WILLIAM K. CHAR, 11 FEB 1974
20  REM  REV. 11/15/76-FRANK SCHICKEL;(2000F)
22  REM:  REV. LINES 330,340,350,370,380,390 FILE NAMES FOR 2000/ACCESS
23  REM:  M. SCHWEIZER 12/15/76
30  DIM A$[72],B$[72],C$[72],D$[72],E$[72]
40  DEF FNA()=INT(*RND(0))+1
50  REM
55  IF  ERROR  THEN 1260
60  FILES *
70  IF TIM(1)>11 THEN 100
80  PRINT "GOOD MORNING, ";
90  GOTO 140
100  IF TIM(1)>15 THEN 130
110  PRINT "GOOD AFTERNOON, ";
120  GOTO 140
130  PRINT "GOOD EVENING, ";
140  PRINT "WELCOME TO SPELL, A DRILL IN SPELLING"LIN(1)
150  PRINT "WHAT IS YOUR NAME";
160  INPUT D$
170  PRINT 
180  PRINT "WOULD YOU LIKE SPELLING INSTRUCTIONS, "D$"?";
190  T=255
200  ENTER T,R,C$
210  PRINT 
220  IF LEN(C$)=0 THEN 450
230  IF C$[1,1]="N" THEN 450
240  PRINT LIN(2)
250  PRINT "WHEN A WORD IS PRINTED, READ IT QUICKLY"'7"!"'27'7LIN(1)
260  PRINT "     IF IT'S RIGHT, TYPE A 'C' AND PRESS THE RETURN KEY"
270  PRINT 
280  PRINT "     IF IT'S WRONG, RETYPE IT CORRECTLY."LIN(1)
290  PRINT "YOU HAVE TWO SECONDS FOR EACH LETTER IN WHICH TO ANSWER."
300  PRINT 
310  PRINT "GROUP"LIN(1);"====="
320  REM    DATA FORMAT <NAME OF FILE>,<DISCRIPTION>,<MIN TIME LEMET>
330  DATA "*SPELL1","1 -- LEVEL ONE WORDS.",255,10
340  DATA "*SPELL2","2 -- LEVEL TWO WORDS.",255,15
350  DATA "*SPELL3","3 -- LEVEL THREE (MOST COMMONLY MISSPELLED) WORDS."
360  DATA 10,20
400  RESTORE 
410  IF TYP(0)=3 THEN 450
420  READ A$,B$,Z9,M
430  PRINT "  "B$
440  GOTO 410
450  PRINT 
460  PRINT "WHICH GROUP WOULD YOU LIKE";
470  INPUT E$
480  RESTORE 
490  IF TYP(0)<3 THEN 530
500  PRINT 
510  PRINT "WHAT?  THAT'S NOT IN THE LIST.  TRY AGAIN."
520  GOTO 300
530  READ A$,B$,Z9,M
540  IF B$[1,1]=E$[1,1] THEN 560
550  GOTO 490
560  ASSIGN A$,1,R
570  REM  ----- COUNT WORDS -----
580  N=0
590  IF TYP(1)=3 THEN 630
600  READ #1;A$
610  N=N+1
620  GOTO 590
630  IF N THEN 680
640  PRINT 
650  PRINT "SORRY, THAT GROUP IS EMPTY.  TRY ANOTHER."
660  GOTO 450
670  REM  ===== START DRILL =====
680  C=S=S1=0
690  M=M MIN N
700  PRINT 
710  FOR I=1 TO M
720  READ #1,1
730  FOR J=1 TO FNA(N)
740  READ #1;A$
750  NEXT J
760  FOR K=LEN(A$) TO 1 STEP -1
770  IF A$[K,K]=" " THEN 810
780  NEXT K
790  B$=A$
800  GOTO 830
810  B$=A$[K+1]
820  A$=A$[1,K-1]
830  GOTO FNA(2) OF 840,880
840  L=(17-LEN(A$))
850  PRINT TAB(3);A$;SPA(L);
860  L=1
870  GOTO 910
880  L=(17-LEN(B$))
890  PRINT TAB(3);B$;SPA(L);
900  L=2
910  T=LEN(A$)*2
920  S1=S1+T
930  LET T=T MAX Z9
940  ENTER T,R,C$
950  PRINT LIN(0);
960  IF R<0 THEN 1000
970  IF A$=C$ THEN 1070
980  IF L=2 THEN 1000
990  IF C$="C" THEN 1070
1000  PRINT "X"TAB(35)"=";A$
1050  S=S+T
1060  GOTO 1100
1070  PRINT "C"
1080  C=C+1
1090  S=S+R
1100  NEXT I
1110  PRINT 
1120  IMAGE #,"YOU GOT ",DD," RIGHT",5X,"AND ",DD," WRONG"
1130  PRINT  USING 1120;C,M-C
1140  IMAGE #," OUT OF ",DD," WORDS, "
1150  PRINT  USING 1140;M
1160  PRINT D$
1170  X=INT(C/M*100)
1180  IMAGE "THAT'S ",DDD,"% CORRECT IN GROUP ",A," OF SPELL"
1190  PRINT  USING 1180;X,E$
1200  PRINT "PRACTICE MAKES PERFECT!"'7
1210  PRINT "TRY AGAIN (YES OR NO)";
1220  INPUT A$
1230  IF A$[1,1]="Y" THEN 450
1240  PRINT 
1250  PRINT "LATER, MAN.  BETTER LUCK NEXT TIME."
1260  CHAIN R,"*HELP"
1270  SYSTEM X,"BYE"
1280  END 
