8 REM 9 REM 10 REM THIS PROGRAM WAS WRITTEN BY JOUBERT BERGER USING MBASIC VER 5.26 20 REM I GOT THE IDEA FROM A GAME I PLAYED ON THE GEORGIA TECH 30 REM COMPUTER(CYBER). 40 REM NOTE: ***** MAKE SURE YOU HAVE THE DATA FILE ON THE SAME DISK AS 50 REM ***** TRIVIA. I RUN TRIVIA AND THE DATA FILE IN DRIVE B: 60 REM ***** AND MBASIC IN DRIVE A: 70 REM 80 REM I THINK THAT AN ERROR WILL OCCUR AFTER THERE ARE MORE THAN 128 QUESTIONS 90 REM IN THE DATA FILE 91 REM 92 REM 100 DEFINT A-Z 110 PRINT CHR$(26) 120 FOR R=1 TO 4:PRINT:NEXT 130 PRINT TAB(28);"THE QUESTION GAME" 140 PRINT TAB(19);"MATCH YOUR WITS AGAINST THE COMPUTER" 150 FOR R=1 TO 5:PRINT:NEXT 160 PRINT"YOU WILL BE ASKED A QUESTION AND YOU HAVE TO DECIDE WHICH IS THE CORRECT" 170 PRINT"ANSWER. YOU MAY END THE GAME BY TYPING A 'Q' OR UNTIL THERE ARE NO MORE " 180 PRINT"QUESTIONS. WHEN YOU ARE DONE YOU WILL BE ASKED TO ENTER IN A QUESTION ":PRINT"WHICH THE COMPUTER WILL USE AT A LATER TIME." 190 FOR R=1 TO 9 :PRINT:NEXT 200 PRINT"HIT ANY KEY TO CONTINUE"; 210 A$=INKEY$:X=RND(1):IF A$="" THEN 210 220 OPEN"R",#1,"B:RANDISK.DAT" 230 T=LOF(1):NU$="":CO=T 240 GOSUB 1450 250 JJ=0 260 FIELD #1,47 AS QU$, 20 AS A1$,20 AS A2$,20 AS A3$,20 AS A4$,1 AS AN$ 270 PRINT CHR$(26) 280 GOSUB 1510 290 PRINT CHR$(26) 300 GET #1,X 310 CO=CO-1 320 PRINT TAB(58);CO;"QUESTIONS LEFT" 330 PRINT QU$ 340 PRINT 350 PRINT "A> ";A1$ 360 PRINT "B> ";A2$ 370 PRINT "C> ";A3$ 380 PRINT "D> ";A4$ 390 PRINT 400 PRINT"ENTER THE CORRECT LETTER FOR THE ANSWER "; 410 A$=INKEY$:M=RND(1) 420 IF A$="" THEN 410 430 IF LEFT$(A$,1)="Q" THEN 520 440 IF A$="A" OR A$="B" OR A$="C" OR A$="D" THEN 450 ELSE PRINT" NOT ONE OF THE CHOICES";:PRINT CHR$(11);:GOTO 400 450 IF A$=AN$ THEN II=II+1:PRINT" CORRECT ";:I=0:FOR R=1 TO 300:NEXT:GOTO 510 460 PRINT CHR$(7);" INCORRECT ";:FOR R=1 TO 300:NEXT 470 PRINT CHR$(11); 480 I=I+1 490 IF I=2 THEN I=0:P=P+1:GOTO 510 500 GOTO 400 510 GOTO 270 520 PRINT:PRINT:PRINT 530 PRINT"YOU HAVE ANSWERED";II;"QUESTIONS CORRECTLY" 540 PRINT"YOU ANSWERED";P;" QUESTIONS INCORRECTLY" 550 W=(II/(P+II))*100 560 PRINT 570 PRINT"THAT MEANS YOU SCORED";W;"%" 580 PRINT:PRINT 590 PRINT"NOW IT IS YOUR TURN TO ENTER A QUESTION TO MY LIST" 600 INPUT"TYPE TO CONTINUE",L 610 PRINT CHR$(26) 620 PRINT"I HAVE";T;"QUESTIONS AT THIS PRESENT TIME":PRINT 630 PRINT 640 PRINT"ENTER THE QUESTION (NO LONGER THAN 47 CHAR)" 650 INPUT NQ$ 660 IF NQ$="" THEN 960 670 IF LEN(NQ$)>47 THEN PRINT CHR$(7)CHR$(11);:GOTO 650 680 PRINT 690 PRINT"ENTER THE FOUR CHOICES FOR THE ANSWERS (NO LONGER THAN 20 CHAR)" 700 INPUT"A> ",NA1$ 710 IF NA1$="" THEN 960 720 IF LEN(NA1$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 700 730 INPUT"B> ",NA2$ 740 IF NA2$="" THEN 960 750 IF LEN(NA2$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 730 760 INPUT"C> ",NA3$ 770 IF NA3$="" THEN 960 780 IF LEN(NA3$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 760 790 INPUT"D> ",NA4$ 800 IF NA4$="" THEN 960 810 IF LEN(NA4$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 790 820 PRINT 830 PRINT"ENTER THE CORRECT ANSWER (NO LONGER THAN 1 CHAR)" 840 INPUT NAN$ 850 IF LEN(NAN$)=1 THEN 860 ELSE PRINT CHR$(7)CHR$(11);:GOTO 840 860 PRINT 870 GOSUB 1130 880 T=T+1 890 LSET QU$=NQ$ 900 LSET A1$=NA1$ 910 LSET A2$=NA2$ 920 LSET A3$=NA3$ 930 LSET A4$=NA4$ 940 LSET AN$=NAN$ 950 PUT #1,T 960 PRINT 970 PRINT"I NOW HAVE";T;"QUESTIONS" 980 PRINT 990 PRINT"ENTER ONE OF THE FOLLOWING CHOICES" 1000 PRINT"1> STAR THE QUESTION GAME OVER" 1010 PRINT"2> ENTERED ANOTHER QUESTION" 1020 PRINT"3> END" 1030 PRINT:INPUT U 1040 JJ=0 1050 ON U GOTO 1430,610,1060 1060 CLOSE #1:END 1070 ON ERROR GOTO 1080 1080 RESUME 1090 1090 PRINT CHR$(26) 1100 PRINT"THOSE ARE ALL THE QUESTIONS THAT I HAVE" 1110 PRINT:PRINT:PRINT 1120 GOTO 530 1130 PRINT CHR$(26) 1140 PRINT"PLEASE CHECK TO SEE IF THIS IS WHAT YOU WANT" 1150 PRINT:PRINT:PRINT 1160 PRINT NQ$ 1170 PRINT 1180 PRINT"A> ";NA1$ 1190 PRINT"B> ";NA2$ 1200 PRINT"C> ";NA3$ 1210 PRINT"D> ";NA4$ 1220 PRINT:PRINT"THE CORRECT ANSWER IS *** ";NAN$;" ***" 1230 PRINT:INPUT"ARE THERE ANY MISTAKES ";M$ 1240 IF LEFT$(M$,1)="Y" THEN 1260 1250 RETURN 1260 PRINT 1270 PRINT"ENTER 'Q' TO CHANGE THE QUESTION" 1280 PRINT" 'A' TO CHANGE THE FIRST ANSWER" 1290 PRINT" 'B' TO CHANGE THE SECOND ANSWER" 1300 PRINT" 'C' TO CHANGE THE THIRD QUESTION" 1310 PRINT" 'D' TO CHANGE THE FORTH QUESTION" 1320 PRINT" 'R' TO CHANGE THE ANSWER" 1330 PRINT 1340 INPUT"ENTER ONE OF THE ABOVE ",M$ 1350 IF M$= "Q" OR M$ ="A" OR M$ ="B" OR M$ ="C" OR M$ ="D" OR M$ ="R" THEN 1360ELSE 1350 1360 IF M$="Q" THEN PRINT"REENTER THE QUESTION (NO LONGER THAN 47 CHAR)":INPUT NQ$:IF LEN(QN$)>47 THEN PRINT CHR$(7)CHR$(11);:GOTO 1360 1370 IF M$="A" THEN PRINT"REENTER THE FIRST ANSWER (NO LONGER THAN 20 CHAR)":INPUT NA1$:IF LEN(NA1$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 1370 1380 IF M$="B" THEN PRINT"REENTER THE SECOND QUESTION (NO LONGER THAN 20 CHAR)":INPUT NA2$:IF LEN(NA2$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 1380 1390 IF M$="C" THEN PRINT"REENTER THE THIRD ANSWER (NO LONGER THAN 20 CHAR)":INPUT NA3$:IF LEN(NA3$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 1390 1400 IF M$="D" THEN PRINT"REENTER THE FOURTH ANSWER (NO LONGER THAN 20 CHAR)":INPUT NA4$:IF LEN(NA4$)>20 THEN PRINT CHR$(7)CHR$(11);:GOTO 1400 1410 IF M$="R" THEN PRINT"REENTER THE CORRECT ANSWER (NO LONGER THAN 1 CHAR)":INPUT NAN$:IF LEN(NAN$)<>1 THEN PRINT CHR$(7)CHR$(11);:GOTO 1410 1420 GOTO 1130 1430 II=0:I=0:JJ=0 1440 GOTO 230 1450 FOR X=1 TO T 1460 DS$=MID$(STR$(X),2,2):IF LEN(DS$)=1 THEN DS$="0"+DS$ 1470 NU$=NU$+DS$:NEXT 1480 I$=NU$:Y=LEN(I$) 1490 RETURN 1500 '*************************************************** 1510 N=Y/2-1:IF N<0 THEN 520 1520 X=INT(RND(1)*N)+1 1530 NU$=MID$(I$,X+X-1,2) 1540 A$=LEFT$(I$,X+X-2):O=LEN(A$) 1550 I$=A$+MID$(I$,X+X+1,Y-(O+2)):Y=LEN(I$) 1560 X=VAL(NU$) 1570 RETURN