home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 5.3 KB | 139 lines |
- 100 SCREEN 2:OPEN "gre.dat" AS #1 LEN=301
- 102 FIELD #1,24 AS W$,5 AS P$,90 AS M$, 180 AS E$,2 AS T$
- 104 OPEN "grert.dat" AS #2 LEN=2:FIELD #2,2 AS RT$:GET #2,1:RT=CVI(RT$):IF RT>=99 THEN RT=1
- 108 FL%=LOF(1)/301:RN1%=1:DIM ERN(3000)
- 110 CLS:SCREEN 0:COLOR 11:INPUT "0. Quit 1. Test 2. Review 3. Reset ";QTR
- 112 SCREEN 0
- 120 IF QTR=0 THEN 1000
- 130 IF QTR=1 THEN 200
- 140 IF QTR=2 THEN 2130
- 150 IF QTR=3 THEN RT=RT+1:FIELD #2,2 AS RT$:LSET RT$=MKI$(RT):PUT #2,1:GOTO 110
- 200 CLS
- 201 RT$=RIGHT$(STR$(RT),2)
- 202 PRINT "Total: ";FL%
- 204 COLOR 13:INPUT "Number of words to be tested ";WN%
- 206 INPUT "Test Orderly or Randomly (o/r) ";RO$
- 208 IF RO$<>"r" THEN 231 ELSE 234
- 230 COLOR 13:INPUT "Number of words to be tested ";WN%
- 231 INPUT "Starting Number ";RN1%:IF RN1%=0 THEN 231
- 234 RANDOMIZE WN%+RN1%
- 236 INPUT "Time Allotment (in seconds) Between Questions (1--60) ";TI
- 237 IF TI<1 OR TI>60 THEN 236
- 240 CLS:SCREEN 0:IF WN%<=1 THEN 994
- 241 ER=0:TIME$="00:00:00"
- 242 CLS:COLOR 10:LOCATE 1,1:PRINT "Total:";WN%:LOCATE 1,16:PRINT "Tested:":LOCATE 1,40:PRINT"Error(s):":LOCATE 1,55:PRINT "Time: "+TIME$
- 244 COLOR 9:LOCATE 2,1:FOR L=1 TO 80:PRINT CHR$(205);:NEXT
- 250 FOR NA%=1 TO WN%
- 252 RN2%=INT(RND(2)*FL%+1):RN3%=INT(RND(3)*FL%+1):RN4%=INT(RND(4)*FL%+1):RN5%=INT(RND(5)*FL%+1):IF RO$<>"r" THEN 254
- 253 RN1%=INT(RND(1)*FL%+1)
- 254 GET #1, RN1%:IF T$=RT$ THEN RN1%=RN1%+1: GOTO 254
- 255 IF RN1%>FL% THEN 271
- 256 W1$=W$:M$(1)=M$
- 258 GOSUB 410
- 259 LOCATE 4,1:COLOR 9:PRINT RN1%:LOCATE 4,10:COLOR 11: PRINT W1$: LOCATE 6,1:COLOR 13: PRINT "A: "+M1$(W1):LOCATE 7,4: PRINT M2$(W1): LOCATE 8,1: PRINT "B: "+M1$(W2):LOCATE 9,4:PRINT M2$(W2): LOCATE 10,1: PRINT "C: "+M1$(W3):LOCATE 11,4:PRINT M2$(W3)
- 260 LOCATE 12,1:PRINT "D: "+M1$(W4):LOCATE 13,4:PRINTM2$(W4):LOCATE 14,1:PRINT"E: "+M1$(W5):LOCATE 15,4:PRINTM2$(W5)
- 261 PRINT SPACE$(24):LOCATE 16,1:COLOR 14:PRINT "----Your Choice ? ":LOCATE 16,19
- 262 YC$=INKEY$:FOR T=1 TO TI*156:YC$=INKEY$:IF YC$="" THEN NEXT T
- 263 LOCATE 16,19:PRINT YC$:IF YC$<>ASR$ THEN 266
- 264 LOCATE 16,1:COLOR 26 :PRINT " Congratulations!":GET #1,RN1%:LSET T$=RT$:PUT #1,RN1%
- 265 COLOR 15:LOCATE 1,25:PRINT NA%:LOCATE 1,50:PRINT ER:LOCATE 1,61:PRINT TIME$:GOTO 267
- 266 GOSUB 610
- 267 RN1%=RN1%+1
- 270 NEXT NA%
- 271 IF NA%<=1 THEN 110
- 272 PCT=CINT((1-ER/(NA%-1))*100)
- 274 LOCATE 16,1: COLOR 31:PRINT "----Your Score: "; PCT:COLOR 10
- 278 IF ER=0 THEN 994
- 280 GOSUB 700
- 300 GOTO 994
- 410 GET #1, RN2%: M$(2)=M$
- 420 GET #1, RN3%: M$(3)=M$
- 430 GET #1, RN4%: M$(4)=M$
- 440 GET #1, RN5%: M$(5)=M$
- 442 FOR VL=1 TO 5
- 444 FOR SP=70 TO 50 STEP -1:MM$=MID$(M$(VL),SP,1):IF MM$<>" " THEN NEXT SP
- 446 M1$(VL)=MID$(M$(VL),1,SP)+SPACE$(76-SP):M2$(VL)=MID$(M$(VL),SP+1,90-SP)+SPACE$(SP-14)
- 450 NEXT VL
- 460 W1=INT(RND(RN1%)*5+1)
- 470 IF W1<=1 THEN W1=1:W2=2:W3=3:W4=4:W5=5:ASR$="a"
- 480 IF W1=2 THEN W5=1:W2=3:W3=4:W4=5:ASR$="e"
- 490 IF W1=3 THEN W4=1:W5=2:W2=4:W3=5:ASR$="d"
- 500 IF W1=4 THEN W3=1:W4=2:W5=3:W2=5:ASR$="c"
- 510 IF W1=5 THEN W2=1:W3=2:W4=3:W5=4:ASR$="b"
- 600 RETURN
- 610 ER=ER+1:ERN(ER)=RN1%
- 614 COLOR 15:LOCATE 1,25:PRINT NA%:LOCATE 1,50:PRINT ER:LOCATE 1,61:PRINT TIME$
- 620 LOCATE 16,5: COLOR 12:PRINT "Wrong Choice! ":BEEP
- 621 COLOR 27
- 622 IF ASR$="a" THEN LOCATE 6,1:PRINT "A: "
- 623 IF ASR$="b" THEN LOCATE 8,1:PRINT "B: "
- 624 IF ASR$="c" THEN LOCATE 10,1:PRINT "C: "
- 625 IF ASR$="d" THEN LOCATE 12,1:PRINT "D: "
- 626 IF ASR$="e" THEN LOCATE 14,1:PRINT "E: "
- 627 COLOR 11:LOCATE 16,20:PRINT ""
- 630 FOR T=1 TO 1500 : NEXT:RETURN
- 700 IF ER=0 THEN 994
- 702 COLOR 10:LOCATE 19,10:INPUT "Review Unfamiliar Words (y/n) " ;RE$
- 704 IF RE$<>"y" THEN 762
- 706 GOSUB 990
- 710 FOR EE=1 TO ER
- 720 GET #1, ERN(EE)
- 722 FOR SP=70 TO 50 STEP -1:MM$=MID$(M$,SP,1):IF MM$<>" " THEN NEXT SP
- 724 M1$=MID$(M$,1,SP)+SPACE$(74-SP):M2$=MID$(M$,SP+1,90-SP)+SPACE$(SP-14)
- 725 FOR SP=70 TO 50 STEP -1:MM$=MID$(E$,SP,1):IF MM$<>" " THEN NEXT SP
- 726 SP1=SP:E1$=MID$(E$,1,SP)+SPACE$(74-SP):E22$=MID$(E$,SP+1,180-SP)
- 727 FOR SP=70 TO 50 STEP -1:MM$=MID$(E22$,SP,1):IF MM$<>" " THEN NEXT SP
- 728 E2$=MID$(E22$,1,SP)+SPACE$(74-SP):E3$=MID$(E22$,SP+1,180-SP-SP1)
- 729 COLOR 15:LOCATE 1,50:PRINT ER-EE:LOCATE 1,61:PRINT TIME$
- 740 COLOR 9:LOCATE 8,1:PRINT ERN(EE):COLOR 14:LOCATE 8,7:PRINT W$:COLOR 9:LOCATE 10,1:PRINT "ptsp: ":LOCATE 10,7: COLOR 11:PRINT P$:COLOR 9:LOCATE 12,1:PRINT "mngs: ":LOCATE 12,7:COLOR 11:PRINT M1$:PRINT SPACE$(6)+M2$:COLOR 9:LOCATE 15,1:PRINT "exmp: "
- 741 COLOR 11:LOCATE 15,7:PRINT E1$:LOCATE 16,7:PRINT E2$:LOCATE 17,7:PRINT E3$
- 744 COLOR 9:LOCATE 19,10:PRINT "Press any to continue... "
- 750 CN$=INKEY$:IF CN$="" THEN 750
- 760 NEXT EE
- 762 COLOR 10:LOCATE 19,10:INPUT "Print Out Unfamiliar Words (y/n) "; PR$
- 763 IF PR$<>"y" THEN 900
- 764 CLS:SCREEN 2
- 765 LN=0:LPRINT "Totally "+STR$(NA%-1)+" tested, "+STR$(ER)+" wrong.":LPRINT
- 766 FOR EE=1 TO ER
- 768 GET #1, ERN(EE):FOR SP=50 TO 30 STEP -1:MM$=MID$(M$,SP,1):IF MM$<>" " THEN NEXT SP
- 770 M1$=MID$(M$,1,SP):M2$=MID$(M$,SP+1,90-SP)
- 772 FOR SP=76 TO 56 STEP -1:MM$=MID$(E$,SP,1):IF MM$<>" " THEN NEXT SP
- 774 SP1=SP:E1$=MID$(E$,1,SP):E22$=MID$(E$,SP+1,180-SP)
- 776 FOR SP=76 TO 56 STEP -1:MM$=MID$(E22$,SP,1):IF MM$<>" " THEN NEXT SP
- 778 E2$=MID$(E22$,1,SP):E3$=MID$(E22$,SP+1,180-SP-SP1)
- 780 LPRINT W$+P$+M1$:LPRINT SPACE$(4)+M2$:LPRINT SPACE$(4)+E1$:LPRINT SPACE$(4)+E2$:LPRINT SPACE$(4)+E3$
- 870 LN=LN+1
- 880 IF LN=9 THEN LOCATE 19,10:INPUT "Change paper and press `return` ";LN
- 890 NEXT EE
- 900 RETURN
- 990 LOCATE 3.1
- 991 FOR CL=1 TO 6:PRINT SPACE$(240);
- 992 NEXT
- 993 RETURN
- 994 LOCATE 19,6:INPUT " Test More (y/n) ";CT$
- 996 IF CT$="y" THEN CLS:SCREEN 0:COLOR 13:INPUT "Number of words to be tested ";WN%: ER=0:GOTO 240
- 998 GOTO 110
- 1000 SYSTEM
- 2130 CLS:EE=0
- 2132 PRINT "Total: ";FL%
- 2140 COLOR 13:INPUT "Number of words to be Reviewed ";WN%
- 2141 INPUT "Starting Number ";RN1%
- 2144 CLS:COLOR 10:LOCATE 1,1:PRINT "Total:";WN%:LOCATE 1,14:PRINT "Reviewed:":LOCATE 1,55:PRINT "Time: "+TIME$
- 2146 COLOR 9:LOCATE 2,1:FOR L=1 TO 80:PRINT CHR$(205);:NEXT
- 2150 ER=0:TIME$="00:00:00"
- 2160 FOR EE=RN1% TO WN%+RN1%-1
- 2168 IF EE>FL% THEN 110
- 2170 GET #1,EE
- 2180 COLOR 15:LOCATE 1,25:PRINT EE-RN1%:LOCATE 1,61:PRINT TIME$
- 2200 FOR SP=70 TO 50 STEP -1:MM$=MID$(M$,SP,1):IF MM$<>" " THEN NEXT SP
- 2201 M1$=MID$(M$,1,SP)+SPACE$(74-SP):M2$=MID$(M$,SP+1,90-SP)+SPACE$(SP-14)
- 2202 FOR SP=70 TO 50 STEP -1:MM$=MID$(E$,SP,1):IF MM$<>" " THEN NEXT SP
- 2203 SP1=SP:E1$=MID$(E$,1,SP)+SPACE$(74-SP):E22$=MID$(E$,SP+1,180-SP)
- 2204 FOR SP=70 TO 50 STEP -1:MM$=MID$(E22$,SP,1):IF MM$<>" " THEN NEXT SP
- 2205 E2$=MID$(E22$,1,SP)+SPACE$(74-SP):E3$=MID$(E22$,SP+1,180-SP-SP1)
- 2206 COLOR 9:LOCATE 8,1:PRINT EE:COLOR 14:LOCATE 8,7:PRINT W$:COLOR 9:LOCATE 10,1:PRINT "ptsp: ":COLOR 11:LOCATE 10,7:PRINT P$:COLOR 9:LOCATE 12,1:PRINT "mngs: ":COLOR 11:LOCATE 12,7:PRINT M1$:PRINT SPACE$(6)+M2$:COLOR 9:LOCATE 15,1:PRINT "exmp: "
- 2207 COLOR 11:LOCATE 15,7:PRINT E1$:LOCATE 16,7:PRINT E2$:LOCATE 17,7:PRINT E3$
- 2208 COLOR 9:LOCATE 19,10:PRINT "Press any key to continue... "
- 2210 CN$=INKEY$:IF CN$="" THEN 2210
- 2220 NEXT EE:GOTO 110
-