home *** CD-ROM | disk | FTP | other *** search
- 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 <RETURN> 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
- ID$(I$,X+X-1,2)
- 1540 A$=LEFT$(I$,X+X-2):O=LEN(A$)
- 1550 I$=A$+MID$