1 ! PROGRAM NAME --> S T O R Y -- BY BOB HUNTSMAN 5 READ N$(K%) FOR K%=1% TO 20%:READ F$(K%) FOR K%=1% TO 10% 10 DIM B$(5%):B$(1%)="EASY":B$(2%)="MEDIUM":B$(3%)="HARD": B$(4%)="WRONG":B$(5%)="RIGHT 12 OPEN "KB:" AS FILE 1%:FIELD #1%,K% AS Q$,1% AS M3$(K%) FOR K%=0% TO 10%: INPUT "NAME PLEASE";N$:V9$=SYS(CHR$(3%)) 15 RANDOMIZE 130 PRINT:PRINT "WHAT KIND OF PROBLEM? ";:GOSUB 29000:PRINT M4$;:A$=M4$ 135 GOTO 32000 IF A$="N":B%=1%:GOTO 170 IF A$="E":B%=2%:GOTO 170 IF A$="M":B%=3%:GOTO 170 IF A$="H" 140 PRINT:PRINT "'N' FOR NONE, 'E' FOR EASY, 'M' FOR MEDIUM," + " OR 'H' FOR HARD!":PRINT:GOTO 130 170 PRINT:PRINT "HOW MANY? ";:GOSUB 29000:GOTO 170 IF M4$<"1" OR M4$>"9" :X1%=ASCII(M4$)-48%:PRINT M4$:X%=0%:GOTO 1300 200 GOTO 1300 IF X%1% 735 PRINT ". ";H$(H%);" ";V$(Z6%);Z5%;V1$(Z6%) 737 V9$=SYS(CHR$(3%)) 740 PRINT "HOW MANY DID ";H$(H%);" HAVE? ";:GOSUB 760:FNP%=VAL(V$): PRINT " --> ";TAB(32%); 745 FNEND 750 GOSUB 29000:P%=ASCII(M4$):GOTO 750 IF P%<48% OR P%>57%: PRINT M4$;:RETURN 760 P1%=INT(LOG10(Q%))+1%:V$="":FOR K1%=1% TO P1%:GOSUB 750: V$=V$+M4$:NEXT K1%:RETURN 765 DEF FNR%(V1%) 770 V%=INT(1000*RND(0%)):V%=V%-(V%/V1%)*V1% 775 FNR%=V%+1% 780 FNEND 785 DATA RAIMA,SALLY,MARILYN,SUSY,BETTY 786 DATA KRISTI,DEBBIE,CONNIE,JANE,NANCY 790 DATA BOB,KARL,MIKE,DAVID,HARMIN 791 DATA JOE,JOHNNY,FREDDIE,WALLY,TOMMY 795 DATA APPLE,PEAR,"CANDY BAR",ORANGE,DOG 796 DATA TOY,POPSICLE,CAT,PINEAPPLE,PIE 800 X%(B%+3%)=X%(B%+3%)+1%:X%(B%)=X%(B%)+1% IF E%=3%:X%=X%+1%: RETURN 900 GOSUB 29000:M%=ASCII(M4$):IF M%=32% THEN Z%=1%:RETURN 910 GOTO 900 IF M%<48% OR M%>57%:PRINT M4$; IF M%<>32%:RETURN 1300 B1%=10%^B%:N%=FNR%(20%):A%=FNR%(B1%) 1305 F%=FNR%(10%):D%=FNR%(4%)-1% 1310 N3%=FNR%(B1%):GOTO 1300 IF N3%<2% OR N3%>=A% 1315 Q%=A%+N3%:Q%=A%-N3% IF D%<2% 1320 C%=FNP%(N%,A%,F%,D%,N3%) 1325 IF C%=Q% THEN PRINT "";FOR K%=1% TO 10%: PRINT "CORRECT!!!!":E%=3%:GOSUB 800:GOTO 200 1330 PRINT "SORRY, THAT'S INCORRECT. HERE": PRINT "IS A CLUE --> "; 1335 PRINT N$;", YOU NEED TO ";:PRINT "ADD";IF D%>1%: PRINT "SUBTRACT";IF D%<2%:PRINT ".":PRINT 1340 PRINT "TRY IT AGAIN, ";N$;"!!":C%=FNP%(N%,A%,F%,D%,N3%) 1345 IF Q%=C% THEN PRINT "";"CORRECT!!":E%=2%:GOSUB 800: GOTO 200 1350 PRINT "SORRY, BUT THAT STILL IS WRONG. THIS": PRINT "MAY HELP: *** THE ANSWER IS THE SAME AS THE "; "ANSWER TO THIS PROBLEM ***":PRINT:PRINT A%;:IF D%>1% THEN PRINT "+"; ELSE PRINT "-"; 1360 PRINT N3%;"= ?":PRINT :PRINT "TRY IT ONCE MORE!!!": C%=FNP%(N%,A%,F%,D%,N3%) 1365 IF C%=Q% THEN PRINT "";"CORRECT!!":E%=1%:GOSUB 800: GOTO 200 1370 PRINT "SORRY ";N$; ", BUT YOU STILL ARE " 1375 PRINT "INCORRECT. THE CORRECT ";: PRINT "ANSWER IS";Q%;".":PRINT:E%=0%:GOSUB 800:GOTO 200 29000 GOTO 29100 IF M3%=Z3%:M4$=M3$(M3%):M3%=M3%+1%:RETURN 29100 M3%=0%:V9$=SYS(CHR$(4%)):GET #1%:Z3%=RECOUNT:GOTO 29000 32000 U$="\ \ - ## OUT OF ## ---> ###%":V9$=SYS(CHR$(2%)):PRINT 32007 PRINT:PRINT N$;" -- HERE ARE YOUR SCORES:":PRINT 32010 FOR K%=1% TO 3%:GOTO 32100 IF X%(K%+3%)=0%:PRINTUSING U$, B$(K%),X%(K%),X%(K%+3%),100%*X%(K%)/X%(K%+3%) 32100 NEXT K% 32220 B%=0%:B%=B%+X%(K%) FOR K%=4% TO 6%:A%=0%:A%=A%+X%(K%) FOR K%=1% TO 3%:A%=100%*A%/B% 32230 B%=0%:B%=1% IF A%>60%:B%=2% IF A%>89%:DIM Z$(2%) 32240 Z$(0%)=", YOU DEFINITELY NEED MUCH MORE" + " PRACTICE!!":Z$(1%)=", YOU DID ABOUT AVERAGE" + " -- BUT YOU STILL NEED MORE PRACTICE!!" 32250 Z$(2%)=" -- GREAT -- YOU SEEM TO UNDERSTAND" + " THESE PROBLEMS VERY WELL!!" 32260 A$=NUM$(A%):PRINT:PRINT "YOUR CUMULATIVE SCORE IS"; LEFT(A$,LEN(A$)-1%);"%.":PRINT 32270 PRINT N$+Z$(B%):PRINT 32767 END