home *** CD-ROM | disk | FTP | other *** search
/ Explore the World of Soft…ids, Adults, Educational / RocelcoInc-ExploreTheWorldOfSoftware-KidsAdultsEducational-Vol2-Shareware.iso / educate / disk053 / states.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  6.0 KB  |  185 lines

  1. 1   REM  STATES    8/83
  2. 2   REM
  3. 3   REM  A U.S. GEOGRAPHY QUIZ
  4. 4   REM
  5. 5   REM
  6. 6   REM  IBM MICROSOFT BASICA
  7. 7   REM
  8. 8   REM  ADAPTED FROM APPLE SOFTSWAP
  9. 9   REM
  10. 10   REM
  11. 11   REM  ***********************
  12. 13   REM  *                     *
  13. 14   REM  *  SAN MATEO COUNTY   *
  14. 15   REM  * OFFICE OF EDUCATION *
  15. 16   REM  *          &          *
  16. 17   REM  *   COMPUTER-USING    *
  17. 18   REM  *      EDUCATORS      *
  18. 19   REM  *                     *
  19. 20   REM  *      SOFTSWAP       *
  20. 21   REM  *                     *
  21. 22   REM  *   333 MAIN STREET   *
  22. 23   REM  *     REDWOOD CITY    *
  23. 24   REM  *       CA 94063      *
  24. 25   REM  *    (415)363-5472    *
  25. 26   REM  *                     *
  26. 28   REM  *                     *
  27. 29   REM  ***********************
  28. 30   REM  *PROGRAM MAY BE COPIED*
  29. 31   REM  *FOR EDUCATIONAL USE &*
  30. 32   REM  *MAY NOT BE SOLD.COPY-*
  31. 33   REM  *RIGHT 1983 CUE,INC   *
  32. 34   REM  ***********************
  33. 150  SCREEN 0,1: WIDTH 40: COLOR 13,0,1: KEY OFF: CLS
  34. 160   LOCATE 6,1: PRINT " :::::::*** STATES & CAPITALS ***::::::: "
  35. 170   DIM  A(50),B(4),C$(50),S$(50)
  36. 180   REM  READ IN STATE & CAPITAL ARRAYS
  37. 190   FOR  I = 1  TO  50
  38. 200   READ  S$(I), C$(I) :  NEXT  I
  39. 210   FOR  I = 1  TO  50 : A(I) = 0: NEXT  I: G = 0: N = 0
  40. 220   LOCATE 12,3: PRINT "You have your choice of FILL-IN or": LOCATE 13,13: PRINT "MULTIPLE CHOICE."
  41. 230   LOCATE 16,3: PRINT "Would you like to FILL-IN  answers?"
  42. 240   LOCATE 17,15: PRINT "<Y/N>"
  43. 250   Z$=INKEY$: IF Z$ = "" THEN 250
  44. 260   IF Z$ = "Y" OR Z$="y" THEN GOTO 320
  45. 270   CLS
  46. 280   LOCATE 5,3: PRINT "MULTIPLE CHOICE - Enter 1, 2, 3, OR 4."
  47. 290   PRINT 
  48. 300  X = 1:  LOCATE 6,13: PRINT "To stop, type 0 (ZERO)."
  49. 310   GOTO  350
  50. 320   CLS: LOCATE 5,4: PRINT "FILL-IN: you must spell exactly!": LOCATE 6,8: PRINT "(Saint is abbreviated ST.)"
  51. 330  LOCATE 7,5: PRINT "You must use all CAPITAL letters."
  52. 340  X = 2
  53. 350   LOCATE 12,3: PRINT "You have your choice of whether the": LOCATE 13,8: PRINT "STATE or CAPITAL is asked."
  54. 360   LOCATE 16,3: PRINT "Would you like to answer with the": LOCATE 17,10: PRINT "CAPITAL? <Y/N)"
  55. 370   Z$=INKEY$: IF Z$ = "" THEN 370
  56. 380   IF Z$ = "Y" OR Z$="y" THEN Y = 1: GOTO 400
  57. 390  Y = 2
  58. 400  REM
  59. 410   REM  PICK A STATE
  60. 420   CLS : LOCATE 3,3
  61. 430   FOR  I = 1  TO  10
  62. 440  R =  INT ( RND (I) * 50) + 1
  63. 450   IF  A(R) <  > 2  THEN  510
  64. 460   NEXT  I
  65. 470   REM  DON'T WASTE TIME PICKING ONE
  66. 480   FOR  R = 1  TO  50
  67. 490   IF  A(R) <  > 2  THEN  510
  68. 500   NEXT  R:  GOTO  1190
  69. 510   IF  A(R) = 1  THEN   PRINT "TRY THIS ONE AGAIN"
  70. 520   PRINT 
  71. 530   IF  X = 1  THEN  680
  72. 540   REM   THIS SECTION ASKS FOR FILL-IN ANSWERS
  73. 550   IF  Y = 2  THEN  600
  74. 560  A$ = C$(R)
  75. 570  CLS
  76. 580   LOCATE 8,5: COLOR 9,0: PRINT "What is the capital of ";S$(R);"?"
  77. 590   GOTO  630
  78. 600  A$ = S$(R)
  79. 610   LOCATE 8,5: COLOR 11,0: PRINT C$(R);" is the capital of ";
  80. 620   PRINT 
  81. 630   LOCATE 10,5: LINE INPUT  Z$:GOSUB 8000
  82. 640   PRINT 
  83. 650   IF   LEN (Z$) = 1  THEN  1130
  84. 660   IF Z$ = A$ THEN  GOTO 1030
  85. 670   GOTO 1020
  86. 680   REM   THIS SECTION ASKS MULTIPLE CHOICE QUESTIONS
  87. 690   REM   THE VALUE4 OF C IS THE CORRECT ANSWER
  88. 700   CLS : LOCATE 3
  89. 710  C =  INT ( RND (I) * 4) + 1
  90. 720   REM  PICK FOUR STATES FOR THE CHOICES
  91. 730   FOR  I = 1  TO  4
  92. 740  B(I) =  INT ( RND (I) * 50) + 1
  93. 750   NEXT  I
  94. 760  B(C) = R
  95. 770   REM  MAKE SURE NONE ARE THE SAME
  96. 780   IF  B(1) = B(2)  OR  B(1) = B(3)  OR  B(1) = B(4)  THEN  730
  97. 790   IF  B(2) = B(3)  OR  B(2) = B(4)  OR  B(3) = B(4)  THEN  730
  98. 800   IF  Y = 2  THEN  900
  99. 810   REM  PRINT CAPITAL CHOICES
  100. 820   LOCATE 5,5: COLOR 9,0: PRINT "1.";C$(B(1))
  101. 830   LOCATE 6,5: PRINT "2.";C$(B(2))
  102. 840   LOCATE 7,5: PRINT "3.";C$(B(3))
  103. 850   LOCATE 8,5: PRINT "4.";C$(B(4))
  104. 860   PRINT 
  105. 870   LOCATE 12,5: PRINT  "The capital of ";S$(R);" is";
  106. 880  A$ = C$(B(C))
  107. 890   GOTO  980
  108. 900   REM  PRINT STATE CHOICES
  109. 910   LOCATE 5,10: COLOR 14,0: PRINT "1.";S$(B(1))
  110. 920   LOCATE 6,10: PRINT "2.";S$(B(2))
  111. 930   LOCATE 7,10: PRINT "3.";S$(B(3))
  112. 940   LOCATE 8,10: PRINT "4.";S$(B(4))
  113. 950   PRINT 
  114. 960  A$ = S$(B(C))
  115. 970   LOCATE 12,5: PRINT C$(R);" is the capital of ";
  116. 980   INPUT  Z$:Z =  INT ( ABS (VAL(Z$)))
  117. 990   IF  Z  <  1  OR  Z >  4  THEN  1130
  118. 1000   IF  Z = C  THEN  1030
  119. 1010   PRINT 
  120. 1020  A(R) = 1: LOCATE 16,5: PRINT "Wrong.": LOCATE 17,5: PRINT "The answer is ";A$;".": GOTO 1060
  121. 1030  A(R) = 2:N = N + 1
  122. 1040   PRINT 
  123. 1050   LOCATE 16,5: PRINT "RIGHT!": LOCATE 17,5: PRINT "You have";N;"correct."
  124. 1060   PRINT :G = G + 1 
  125. 1070   LOCATE 21,13: COLOR 1,0: PRINT "Press any key": LOCATE 22,11: COLOR 4,0: PRINT "Press <ESC> to end"
  126. 1080  A$=INKEY$: IF A$="" THEN GOTO 1080
  127. 1090  IF A$=CHR$(27) THEN GOTO 1120
  128. 1100   IF N < 50 THEN  GOTO 410
  129. 1110   IF N = 50 THEN 1190
  130. 1120  CLS
  131. 1130  LOCATE 10,3: COLOR 4,0: PRINT "Do you want to stop? <Y/N>": COLOR 9,0
  132. 1140  A$=INKEY$: IF A$="" THEN GOTO 1140
  133. 1150  IF A$="Y" OR A$="y" THEN GOTO 1190
  134. 1160  IF A$="N" OR A$="n" THEN GOTO 1100
  135. 1170  GOTO 1140
  136. 1180   GOTO 1100
  137. 1190  CLS
  138. 1200   LOCATE 10,3: PRINT "You got";N;"RIGHT in";G;"guesses."
  139. 1210   LOCATE 15,3: PRINT "Would you like to try another part?": LOCATE 16,18: PRINT "<Y/N>"
  140. 1220   Z$=INKEY$: IF Z$ = "" THEN 1220
  141. 1230   IF Z$ = "Y" OR Z$="y" THEN  RUN
  142. 1240   IF Z$="n" OR Z$="N" THEN GOTO 1260
  143. 1250  GOTO 1220
  144. 1260   LOCATE 18,3: PRINT "Is anyone else waiting to try? <Y/N>"
  145. 1270   Z$=INKEY$: IF Z$ = "" THEN 1270
  146. 1280   IF Z$ = "Y" OR Z$="y" THEN  RUN
  147. 1290  IF Z$="n" OR Z$="N" THEN GOTO 1310
  148. 1300  GOTO 1270
  149. 1310   CLS : LOCATE 13,8: PRINT "* * * G O O D  B Y E * * *"
  150. 1320  LOCATE 20,13: COLOR 14,0: PRINT "Loading menu...";: FOR I=1 TO 6: PRINT CHR$(2);: NEXT
  151. 1330  CHAIN "menu",170: RUN
  152. 1340   DATA "ALABAMA","MONTGOMERY","ALASKA","JUNEAU","ARIZONA"
  153. 1350   DATA "PHOENIX","ARKANSAS","LITTLE ROCK","CALIFORNIA"
  154. 1360   DATA "SACRAMENTO","COLORADO","DENVER","CONNECTICUT","HARTFORD"
  155. 1370   DATA "DELAWARE","DOVER","FLORIDA","TALLAHASSEE","GEORGIA"
  156. 1380   DATA "ATLANTA","HAWAII","HONOLULU","IDAHO","BOISE","ILLINOIS"
  157. 1390   DATA "SPRINGFIELD","INDIANA","INDIANAPOLIS","IOWA"
  158. 1400   DATA "DES MOINES","KANSAS","TOPEKA","KENTUCKY","FRANKFORT"
  159. 1410   DATA "LOUISIANA","BATON ROUGE","MAINE","AUGUSTA","MARYLAND"
  160. 1420   DATA "ANNAPOLIS","MASSACHUSETTS","BOSTON","MICHIGAN"
  161. 1430   DATA "LANSING","MINNESOTA","ST.PAUL","MISSISSIPPI","JACKSON"
  162. 1440   DATA "MISSOURI","JEFFERSON CITY","MONTANA","HELENA","NEBRASKA"
  163. 1450   DATA "LINCOLN","NEVADA","CARSON CITY","NEW HAMPSHIRE"
  164. 1460   DATA "CONCORD","NEW JERSEY","TRENTON","NEW MEXICO","SANTA FE"
  165. 1470   DATA "NEW YORK","ALBANY","NORTH CAROLINA","RALEIGH"
  166. 1480   DATA "NORTH DAKOTA","BISMARK","OHIO","COLUMBUS","OKLAHOMA"
  167. 1490   DATA "OKLAHOMA CITY","OREGON","SALEM","PENNSYLVANIA"
  168. 1500   DATA "HARRISBURG","RHODE ISLAND","PROVIDENCE","SOUTH CAROLINA" 
  169. 1510   DATA "COLUMBIA","SOUTH DAKOTA","PIERRE","TENNESSEE"
  170. 1520   DATA "NASHVILLE","TEXAS","AUSTIN","UTAH","SALT LAKE CITY"
  171. 1530   DATA "VERMONT","MONTPELIER","VIRGINIA","RICHMOND","WASHINGTON"
  172. 1540   DATA "OLYMPIA","WEST VIRGINIA","CHARLESTON","WISCONSIN"
  173. 1550   DATA "MADISON","WYOMING","CHEYENNE"
  174. 1560  CLS: LOCATE 20,13: COLOR 14,0: PRINT "Loading menu...";: FOR I=1 TO 3: PRINT CHR$(2);: NEXT
  175. 1570  CHAIN "menu",170: RUN
  176. 8000  REM
  177. 8005  SS$=""
  178. 8010  FOR II= 1 TO LEN(Z$)
  179. 8020  AA$=MID$(Z$,II,1)
  180. 8030  IF AA$<>"" THEN IF ASC(AA$)>96 THEN SS$=SS$+CHR$(ASC(AA$)-32):GOTO 8050
  181. 8035  SS$=SS$+AA$
  182. 8050  NEXT II
  183. 8060  Z$=SS$
  184. 8070  RETURN
  185.