home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / educatin / presquiz.bqs / presquiz.bas
BASIC Source File  |  1986-10-11  |  7KB  |  160 lines

  1. 10 '*********** SETUP
  2. 20 '
  3. 30 ' PREZQUIZ.BAS BY LES PENNER,  1/1/85
  4. 40 '  A presidential quiz based on information in the
  5. 50 '  World Book Encyclopedia.
  6. 60 CLEAR:KEY 5,"PREZQUIZ":COLOR 7,0,0
  7. 70 CLS:WIDTH 80:N=1:RANDOMIZE TIMER:DIM PR$(80):DEFINT A-Z:DIM YEAR(50)
  8. 80 DIM S(80):DIM VICE$(50):DIM VPTABLE(55,4):KEY OFF:PLAYER=0
  9. 85 LOCATE 5,27:COLOR 15: PRINT"   P R E Z Q U I Z":COLOR 7
  10. 90 LOCATE 10
  11. 100 PRINT"                          ╔═════════════════════╗
  12. 110 PRINT"                          ║ A PRESIDENTIAL QUIZ ║
  13. 120 PRINT"                          ╠═════════════════════╣
  14. 130 PRINT"                          ║          by         ║
  15. 140 PRINT"                          ║      Les Penner     ║
  16. 150 PRINT"                          ║        2/1/85       ║
  17. 160 PRINT"                          ╠═════════════════════╣
  18. 170 PRINT"                          ║      modified by    ║
  19. 171 PRINT"                          ║      Dave Hollen    ║
  20. 172 PRINT"                          ║        10/6/86      ║
  21. 174 PRINT"                          ╚═════════════════════╝
  22. 179 FOR I=1 TO 8000:NEXT
  23. 180 GOSUB  1280'  SET UP PLAYERS
  24. 190 GOSUB 1360 '  TALLEY AND PRINT SCORE
  25. 200 LOCATE 4,20:COLOR 15:PRINT "PLAYER" PLAYER "GOES":COLOR 7
  26. 210 LOCATE 2,20: PRINT "Winning score is" WINSCORE "points."
  27. 220 LOCATE 10,20 :PRINT "1) PRESIDENTIAL SUCCESSION .... 1 POINT"
  28. 230 LOCATE 12,20 :PRINT "2) FIRST YEAR ................ 2 POINTS"
  29. 240 LOCATE 14,20 :PRINT "3) VICE-PRESIDENTS ........... 3 POINTS"
  30. 245 LOCATE 16,20 :PRINT "   CHOOSE A CATEGORY...";
  31. 246 LOCATE 17,20 :PRINT "        - OR -"
  32. 250 LOCATE 19,20 :PRINT "4) Return to BASIC"
  33. 255 LOCATE 20,20 :PRINT "5) Return to DOS"
  34. 260 INPUT;"",K$
  35. 270 IF K$="1" THEN GAME = 1:GOTO 510
  36. 280 IF K$="2" THEN GAME = 2:GOTO 320
  37. 290 IF K$="3" THEN GAME = 3:GOTO 820
  38. 295 IF K$="4" GOTO 1500
  39. 296 IF K$="5" GOTO 1510
  40. 300 IF K$="" GOTO 260
  41. 310 BEEP:GOTO 260
  42. 320 ' FIRST YEAR ROUTINE
  43. 330 RESTORE 370
  44. 340 FOR Q=1 TO 40
  45. 350 READ YEAR(Q)
  46. 360 NEXT Q
  47. 370 DATA 1789,1797,1801,1809,1817,1825,1829,1837,1841,1841,1845,1849,1850,1853,1857,1861,1865,1869,1877,1881,1881,1885,1889,1893,1897,1901,1909,1913,1921,1923,1929,1933,1945,1953,1961,1963,1968,1974,1977,1981
  48. 380 GOSUB 1200
  49. 390 Y=INT(RND*40)+1' 1 TO 40
  50. 400 CLS:LOCATE 10,5
  51. 410 PRINT "What year did " PR$(Y) " begin his presidency";
  52. 420 INPUT GUESS
  53. 430 PRINT:PRINT
  54. 440 IF GUESS<>YEAR(Y) AND ABS(GUESS-YEAR(Y))<3 THEN PRINT"Close, it was" YEAR(Y):GOTO 480
  55. 450 IF GUESS = YEAR(Y) THEN  GOTO 460 ELSE GOTO 470
  56. 460 PRINT "    RIGHT": RIGHT=1:GOTO 480
  57. 470 PRINT "   Wrong, it was" YEAR(Y)
  58. 480 FOR L=1 TO 4000:NEXT L
  59. 490 GOTO 190
  60. 500 END
  61. 510 CLS 'PRESIDENTIAL SUCCESSION
  62. 520 GOSUB 1200
  63. 530 RESTORE 570
  64. 540 FOR I=1 TO 40
  65. 550     READ S(I)
  66. 560 NEXT I
  67. 570 DATA 2,6,21,15,39,22,24,30,34,13,38,20,18,29,9,23,19,31,7,3,17,36,35,16,4,25,5,37,14,11,40,32,26,27,12,33,10,8,1,28
  68. 580 ' PRINT IN ALPHABETICAL ORDER
  69. 590 FOR K = 1 TO 40
  70. 600    PRINT K;PR$(S(K)),
  71. 610 NEXT K
  72. 620 B=INT(RND*2)
  73. 630 A=INT(RND*39)+1'    1 TO 39
  74. 640 IF B=1 THEN 730
  75. 650 LOCATE 17,1
  76. 660 PRINT "Who was the President that preceeded ";PR$(A+1);"?":PRINT
  77. 670 INPUT "Enter the number of your choice... ", N
  78. 680 IF S(N)=A THEN RIGHT=1
  79. 690 PRINT:PRINT
  80. 700 IF S(N)=A THEN PRINT "RIGHT" ELSE PRINT "Wrong, it was " PR$(A)
  81. 710 FOR W= 1 TO 5000:NEXT
  82. 720 GOTO 190
  83. 730 LOCATE 17,1
  84. 740 PRINT "Who was the President that followed ";PR$(A);"?"
  85. 750 PRINT
  86. 760 INPUT "Enter the number of your choice... ",N
  87. 770 PRINT:PRINT
  88. 780 IF S(N)=A+1 THEN RIGHT=1
  89. 790 IF S(N)=A+1 THEN PRINT "RIGHT" ELSE PRINT "Wrong, it was  " PR$(A+1)
  90. 800 FOR W=1 TO 6000: NEXT
  91. 810 GOTO 190
  92. 820 ' VICE PRESIDENT ROUTINE
  93. 830 CLS:GOSUB 1200' LOAD PRESIDENTS
  94. 840 'create vice-presidential table
  95. 850 RESTORE 890
  96. 860 FOR N=1 TO 48
  97. 870    READ VPTABLE(N,1):READ VPTABLE(N,2)
  98. 880 NEXT N
  99. 890 DATA 1,1,2,24,3,6,3,9,4,9,4,19,5,38,6,8,7,8,7,41,8,27,9,40,10,33,11,13,12,16,13,33,14,28,15,5,16,20,17,33,18,10,18,44,19,43,20,3,21,33,22,21,23,31,24,37,25,22,25,35,26,15,27,36,28,29,29,11,30,14,31,12,32,18,32,42,32,39,33,4,34,32,35,26,36,23,37,2
  100. 900 DATA 37,17,38,34,39,30,40,7
  101. 910 RESTORE 950
  102. 920 FOR W=1 TO 44
  103. 930    READ VICE$(W)
  104. 940 NEXT W
  105. 950 DATA "John Adams   ",Spiro T. Agnew,Chester A. Arthur,Alben W. Barkley,John Breckinridge,Aaron Burr,George Bush,John C. Calhoun,George Clinton,Schuyler Colfax,Calvin Coolidge,Charles Curtis,George M. Dallas,Charles G. Dawes,Charles Fairbanks
  106. 960 DATA Millard Fillmore,Gerald R. Ford, John N. Garner, Elbridge Gerry,Hannibal Hamlin
  107. 970 DATA Thomas A. Hendricks,Garret A. Hobart,Hubert H. Humphrey,Thomas Jefferson,Andrew Johnson,Lyndon B. Johnson,Richard M. Johnson,William R. King,Thomas R. Marshall,Walter F. Mondale,Levi P. Morton,Richard M. Nixon,"NONE         "
  108. 980 DATA Nelson Rockefeller,Theodore Roosevelt,James S. Sherman,Adlai E. Stevenson,Daniel Tompkins,Harry S. Truman,John Tyler,Martin Van Buren,Henry A. Wallace,William A. Wheeler,Henry Wilson,
  109. 990 FOR W=1 TO 44:PRINT W VICE$(W),
  110. 1000 NEXT W
  111. 1010 VP=INT(RND*40)+1
  112. 1020 LOCATE 18,15:PRINT "Who was Vice-President to " PR$(VP) "?"
  113. 1030 LOCATE 20,15:PRINT "Enter the number of your choice...";
  114. 1040 INPUT"",GUESS
  115. 1050 PRINT:PRINT
  116. 1060 T=0:RIGHT = 0
  117. 1070 FOR C=1 TO 49
  118. 1080     IF VPTABLE(C,1)=VP THEN T=T+1:TEMP$(T)=VICE$(VPTABLE(C,2)):IF VPTABLE (C,2)=GUESS THEN RIGHT =1
  119. 1090 NEXT C
  120. 1100 IF RIGHT=0 GOTO 1120
  121. 1110 PRINT "Right" : FOR W= 1 TO 5000: NEXT:GOTO 190
  122. 1120 PRINT "WRONG, ";
  123. 1130 IF T=1 THEN PRINT "it was " TEMP$(1):FOR Q=1 TO 6000:NEXT:GOTO 190
  124. 1140 PRINT "they were ";
  125. 1150 FOR X= 1 TO T
  126. 1160     PRINT TEMP$(X) " ";
  127. 1170 NEXT X
  128. 1180 FOR P=1 TO 6000:NEXT
  129. 1190 GOTO 190
  130. 1200 RESTORE 1240 ' LOAD PRESIDENTS' NAMES
  131. 1210 FOR N=1 TO 40
  132. 1220      READ PR$(N)
  133. 1230 NEXT N
  134. 1240 DATA George Washington,"John Adams   ",Thomas Jefferson,James Madison,James Monroe,John Quincy Adams, Andrew Jackson, Martin Van Buren,William H. Harrison,"John Tyler   ",James K. Polk, Zachary Taylor, Millard Filmore, Franklin Pierce
  135. 1250 DATA James Buchanan,Abraham Lincoln,Andrew Johnson,Ulysses S. Grant,Rutherford B. Hayes,James A. Garfield,Chester A. Arthur,Grover Cleveland(1),Benjamin Harrison,Grover Cleveland(2),William McKinley,Theodore Roosevelt,William H. Taft,Woodrow Wilson
  136. 1260 DATA Warren G. Harding,Calvin Coolidge,Herbert C. Hoover,Franklin Roosevelt,Harry S. Truman,Dwight Eisenhower,John F. Kennedy,Lyndon B. Johnson,Richard M. Nixon,Gerald R. Ford,James E. Carter,Ronald Regan
  137. 1270 RETURN
  138. 1280 CLS:LOCATE 12,15:PRINT "How many players?  (1 to 4) ...1"
  139. 1290 LOCATE 12,46:INPUT "",PLAYERS
  140. 1300 IF PLAYERS<2 THEN PLAYERS=1:IF PLAYERS >4 THEN PLAYERS=4
  141. 1310 CLS:LOCATE 12,25:PRINT "What score wins?...... 9"
  142. 1320 LOCATE 12,48:INPUT "",WINSCORE
  143. 1330 IF WINSCORE=0 THEN WINSCORE=9
  144. 1340 IF WINSCORE<1 THEN WINSCORE=1:IF WINSCORE >30 THEN WINSCORE=30
  145. 1350 RETURN
  146. 1360 'TALLEY AND PRINT SCORES
  147. 1370 IF RIGHT =1 THEN SCORE(PLAYER)=SCORE(PLAYER)+GAME
  148. 1380 IF SCORE(PLAYER) >=WINSCORE THEN CLS ELSE GOTO 1420
  149. 1390 LOCATE 10,30:PRINT"PLAYER" PLAYER "WINS !":LOCATE 14,30
  150. 1400 INPUT;"PLAY AGAIN (Y/N)  ",A$
  151. 1410 IF A$="N" OR A$="n" THEN END ELSE GOTO 10
  152. 1420 PLAYER= PLAYER MOD PLAYERS+1
  153. 1430 RIGHT=0:CLS
  154. 1440 FOR B=1 TO PLAYERS
  155. 1450    LOCATE 25,20*B-19:PRINT "PLAYER" B ":" SCORE(B);
  156. 1460 NEXT B
  157. 1470 RETURN
  158. 1500 CLS:END
  159. 1510 CLS:SYSTEM
  160.