home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 025.lha / StateCaps (.txt) < prev    next >
Encoding:
AmigaBASIC Source Code  |  1987-04-02  |  12.2 KB  |  383 lines

  1. DIM S$(50),C$(50),SP$(50),CP$(50)
  2. CLS
  3. LOCATE 2,22:PRINT "** UNITED STATES **"
  4. LOCATE 5,6:PRINT "You will see an outline of a state."
  5. LOCATE 7,6:PRINT "Type the name of the state, then its capital city."
  6. LOCATE 9,6:PRINT"If you get the state and capital correct,"
  7. LOCATE 11,11:PRINT"it will not appear again."
  8. LOCATE 13,6:PRINT "The quiz consists of all 50 states in a random order."
  9. LOCATE 15,6:PRINT "PLEASE MAKE SURE CAPS LOCK IS ON."
  10. A$="PLEASE TYPE IN YOUR NAME.":GOSUB talk
  11. LOCATE 17,6:INPUT "Please type in your NAME--->";N$
  12. A$="Thank you "+N$
  13. GOSUB talk 
  14. FOR C=1 TO 50:READ S$(C),SP$(C),C$(C),CP$(C):NEXT C
  15. DATA ALABAMA,AL A BAM UH,MONTGOMERY,MONTGOMARY,ALASKA,uhlaska,JUNEAU,JEW NO
  16. DATA ARIZONA,air uh zoana,PHOENIX,FEENIX,ARKANSAS,ARKCANSAW,LITTLE ROCK
  17. DATA LITTLE ROCK,CALIFORNIA,california,SACRAMENTO,SACRAMIN TOe
  18. DATA COLORADO,CALL ORODO,DENVER,DENVER,CONNECTICUT,conne et eh cut
  19. DATA HARTFORD,HEARTFeRD
  20. DATA DELAWARE,DELLAWARE,DOVER,DOe VER,FLORIDA,FLORIDA,TALLAHASSEE,talahassee
  21. DATA GEORGIA,jorge uh,ATLANTA,ATLANTA,HAWAII,ha wa yee,HONOLULU,hawno LULU
  22. DATA IDAHO,I dahho,BOISE,BOYZEE,ILLINOIS,ILL ANOISE,SPRINGFIELD,SPRING FIELD
  23. DATA INDIANA,INDY ANA,INDIANAPOLIS,INDY AN APOLIS
  24. DATA IOWA,EYE O WAY,DES MOINES,Da MOYNE,KANSAS,CAN SUS,TOPEKA,TOPEEKA
  25. DATA KENTUCKY,CAIN TUCKY,FRANKFORT,FRANKFORT,LOUISIANA,LOW EAZY ANA
  26. DATA BATON ROUGE,BAT taN RUGE
  27. DATA MAINE,MAIN,AUGUSTA,uH GUST uH,MARYLAND,MERRY LUND,ANNAPOLIS,ANN APOLIS
  28. DATA MASSACHUSETTS,MASS A CHEW SUTS,BOSTON,BOST TON,MICHIGAN,MISH AGAIN
  29. DATA LANSING, LANCING
  30. DATA MINNESOTA,min uh sooda,ST. PAUL,SAINT PAUL,MISSISSIPPI,mississippee
  31. DATA JACKSON,JACK SUN,MISSOURI,muh zoo re,JEFFERSON CITY,JEFF ER SUN CITY
  32. DATA MONTANA,MON TAN uH
  33. DATA HELENA,HELL uh NA,NEBRASKA,NUH BRASK UH,LINCOLN,LINkun
  34. DATA NEVADA,NA VA DA,CARSON CITY,CAR SUN CITY,NEW HAMPSHIRE,NEW HAMP sure
  35. DATA CONCORD,cawn CORD,NEW JERSEY,NEW JOYee ZEE
  36. DATA TRENTON,TREN TON,NEW MEXICO,NEW MEX E COE,SANTA FE,SANTA FAY
  37. DATA NEW YORK,NEW YAWK,ALBANY,ALL BANY,NORTH CAROLINA,NORTH CAROLine UH
  38. DATA RALEIGH,RAW LEE
  39. DATA NORTH DAKOTA,NORTH DUH coeda,BISMARCK,BIZ MARK,OHIO,O HI O
  40. DATA COLUMBUS,CO LUM BUS,OKLAHOMA,OAK la home uh,OKLAHOMA CITY,OAK la home uh CITY
  41. DATA OREGON,OR A GUN,SALEM,SAY LuM
  42. DATA PENNSYLVANIA,PEN SA VAINYA,HARRISBURG,HAIRrISBURG,RHODE ISLAND
  43. DATA ROAD I LAND,PROVIDENCE,PRaw VIDENCE,SOUTH CAROLINA,SOUTH CAROLine UH
  44. DATA COLUMBIA,ca lumb b uh
  45. DATA SOUTH DAKOTA,SOUTH DUH COEDA,PIERRE,PE AIR,TENNESSEE,TEN AH C
  46. DATA NASHVILLE,NASH VEAL,TEXAS,TEX US,AUSTIN,AW STiN,UTAH,U TA
  47. DATA SALT LAKE CITY,SALT LAKE CITY
  48. DATA VERMONT,VER MONT,MONTPELIER,MONT PEEL YOUR,VIRGINIA,vir gin ya
  49. DATA RICHMOND,RICH MUND,WASHINGTON,WASHIN TON,OLYMPIA,O LIMP E uH
  50. DATA WEST VIRGINIA,WEST VIRGINYA,CHARLESTON,CHARLES TuN
  51. DATA WISCONSIN,WISS CON SUN,MADISON,MADison,WYOMING,WHY O MING
  52. DATA CHEYENNE,SHY ANN
  53. LOCATE 22,14:PRINT "press the space bar to start."
  54. A$="PLEASE PRESS THE SPACE BAR TO START":GOSUB talk
  55. 300 A$=INKEY$:IF A$<>" " THEN 300
  56. RANDOMIZE TIMER
  57. G=0
  58. FOR N=1 TO 50
  59. 340 f=0
  60. CLS
  61. REM draw map
  62. RESTORE 370
  63. 370 DATA 280,32,356,32,356,28,364,28,360,32,398,35,380,42,390,42
  64. DATA 410,37,406,40,420,43,432,40,444,43,436,43,448,46,446,53
  65. DATA 448,54,454,51,460,56,456,64,466,63,486,54,486,53,502,48
  66. DATA 512,40,536,36,540,28,542,22,546,23,555,21,566,31,568,30
  67. DATA 568,33,550,40,548,46,555,51,558,51,558,49,558,51,555,51
  68. DATA 528,61,532,63,526,79,532,85,528,91,492,110,492,118,512,135
  69. DATA 512,142,508,145,496,140,486,133,484,126,472,123,460,125
  70. DATA 454,123,420,126,420,129,424,131,404,131,404,129,396,128
  71. DATA 392,130,380,130,344,138,344,147,350,149,332,148,324,144
  72. DATA 326,142,306,130,296,130,288,133,278,130,272,123,268,123
  73. DATA 260,119,246,118,246,120,216,118,186,110,186,108,166,108
  74. DATA 164,104,158,101,140,95,128,80,134,76,128,76,124,72,120,62
  75. DATA 126,54,128,50,142,35,144,24,156,26,160,23
  76. LINE (160,23)-(224,28)
  77. FOR t=1 TO 97
  78. READ x,y:LINE-(x,y)
  79. NEXT t
  80. REM draw state
  81. 540 RANDOMIZE TIMER:r=INT(50*RND+1 ):IF S$(r)="" THEN 540
  82. IF r>25 THEN 580
  83. ON r GOSUB ala,als,az,ak,ca,col,con,de,fl,ga,ha,id,il,in,io,ka,ky,la,me,md,mas,mich,minn,miss,mo
  84. GOTO 590
  85. 580 ON r-25 GOSUB mont,neb,nev,nh,nj,nm,ny,nc,nd,oh,okl,ore,pa,ri,sc,sd,tn,tx,ut,vt,vir,wa,wv,wi,wy
  86. 590 READ x1,y1,x2,y2,C:LINE(x1,y1)-(x2,y2)
  87. FOR j=1 TO C
  88. READ x,y: LINE -(x,y)
  89. NEXT j
  90. IF r=1 THEN PAINT (230,110),2,1:GOTO 630
  91. IF r=2 THEN PAINT (30,20),2,1:PAINT (105,35),2,1:GOTO 630
  92. IF r=11 THEN PAINT (60,82),2,1:GOTO 630
  93. IF r=19 THEN PAINT (500,50),2,1:GOTO 630
  94. PAINT (430,110),2,1:PAINT (540,30),2,1
  95. 630 SOUND 1300,2:G=G+1
  96. GOSUB pickask
  97. GOSUB talk
  98. numleft=51-N:LOCATE 21,40:PRINT "Number of States Remaining ";numleft
  99. LOCATE 21,2:INPUT "state";ss$:ss$=UCASE$(ss$)
  100. IF ss$=S$(r) THEN 740
  101. SOUND 330,2:SOUND 262,2
  102. f=f+1:IF f=2 THEN 700
  103. LINE (0,160)-(400,199),0,bf
  104. GOTO 630
  105. 700 A$="THE STATE IS "+SP$(r)+"."
  106. GOSUB talk
  107. PRINT "the state is ";S$(r)
  108. 710 PRINT:PRINT "press the space bar to continue.";
  109. A$="thats o k "+N$+". try again.":GOSUB talk
  110. 720 A$=INKEY$
  111. IF A$=" " THEN 340 :ELSE 720
  112. 740 SOUND 262,2: SOUND 330,2
  113. SOUND 392,2:SOUND 523,4:f2=0
  114. A$="WHAT IS THE CAPITAL OF "+SP$(r)+"."
  115. GOSUB talk
  116. 760 G=G+1:LOCATE 22,2:INPUT"capital";cc$:cc$=UCASE$(cc$)
  117. IF cc$=C$(r) THEN 840
  118. SOUND 330,2: SOUND 262,2
  119. f2=f2+1: IF f2=2 THEN 820
  120. LINE(0,168)-(400,199),0,bf
  121. GOTO 760
  122. 820 A$="THE CAPITAL IS "+CP$(r)+"."
  123. GOSUB talk
  124. PRINT " the capital is ";C$(r)
  125. GOTO 710
  126. 840 SOUND 262,2:SOUND 330,2
  127. SOUND 392,2:SOUND 523,4
  128. A$=CP$(r)+ " IS CORRECT"
  129. GOSUB talk
  130. S$(r)="": FOR d=1 TO 2000: NEXT d
  131. NEXT N
  132. win:
  133. CLS 
  134. PRINT:PRINT "a perfect score is 100."
  135. PRINT:PRINT
  136. PRINT "you had";G;"guesses."
  137. PRINT:PRINT:PRINT
  138. IF G=100 THEN A$="PERFECT!"+N$+". YOU CANT GET ANY BETTER THAN THAT!" :ELSE A$="GOOD WORK "+N$+". YOU GOT THROUGH ALL FIFTY STATES AND CAPITOLS. THANKS FOR PLAYING AND TRY IMPROVING YOUR SCORE NEXT TIME.":GOSUB talk:GOTO morewin
  139. GOSUB talk
  140. morewin:
  141. FOR C=1 TO 40
  142. SOUND 500*RND+300,1
  143. NEXT C
  144. GOTO 2740
  145. ala: RESTORE a1
  146. a1:DATA 426,124,426,99,5,448,99
  147.    DATA 456,112,458,119,436,119,438,123
  148.    RETURN
  149. als: RESTORE a2
  150. a2:DATA 80,26,76,5,27,48,1,28,6,38,12,22,12,24,16,34,16
  151.    DATA 34,18,20,21,20,26,26,24,24,29,38,31,32,35,0,40
  152.    DATA 32,36,48,32,56,25,52,30,66,27,76,29,84,29
  153.    DATA 106,40,106,36,114,39,96,28,88,29,80,26
  154.    LOCATE 2,8:PRINT "?"
  155.    RETURN
  156. az:RESTORE a3
  157. a3:DATA 236,119,242,91,7,200,88,196,93,192,92
  158.    DATA 192,102,188,106,190,108,186,110
  159.    
  160.    RETURN
  161. ak:RESTORE a4
  162. a4:DATA 368,94,406,94,9,406,96,412,96
  163.    DATA 410,100,400,107,400,112,374,112
  164.    DATA 374,110,368,110,368,94
  165.    RETURN
  166. ca:RESTORE c1
  167. c1:DATA 125,55,160,58,6,152,73,190,98
  168.    DATA 192,102,186,109,166,108,164,104
  169.    RETURN
  170. col:RESTORE c2
  171. c2:DATA 248,72,304,72,3,304,92,248,92,248,72
  172.    RETURN
  173. con:RESTORE c3
  174. c3:DATA 534,58,532,52,2,546,51,546,55
  175.    LOCATE 8,69:PRINT "\"
  176.    LOCATE 9,70:PRINT "?"
  177.    RETURN
  178. de:RESTORE d1
  179. d1:DATA 530,69,520,67,2,515,80,528,80
  180.    LOCATE 9,70:PRINT "<?"
  181.    RETURN
  182. fl:RESTORE f1
  183. f1:DATA 438,123,434,119,6,456,119,456,120
  184.    DATA 484,120,486,121,486,117,492,117
  185.    RETURN
  186. ga:RESTORE g1
  187. g1:DATA 492,110,468,97,8,448,97,456,111,454,115,460,119,484,119
  188.    DATA 486,121,486,117,492,117
  189.    RETURN
  190. ha:RESTORE h1
  191. h1:DATA 56,80,60,80,4,64,84,54,86,50,81,56,80
  192.    LOCATE 10,2:PRINT "O o ."
  193.    LOCATE 9,9:PRINT "?"
  194.    RETURN
  195. id:RESTORE i1
  196. i1:DATA 200,27,194,40,11,198,41,188,48,184,56,232,57,236,50
  197.    DATA 220,51,216,45,212,46,214,40,206,36,208,27
  198.    RETURN
  199. il:RESTORE i2
  200. i2:DATA 418,62,396,62,10,400,66,390,74,398,82
  201.    DATA 402,80,402,84,414,90,424,86
  202.    DATA 426,80,424,66,418,62
  203.    RETURN
  204. in:RESTORE i3
  205. i3:DATA 446,64,428,64,7,422,66,426,79
  206.    DATA 424,85,438,83,442,79,446,78,446,64
  207.    RETURN
  208. io:RESTORE i4
  209. i4:DATA 390,58,350,58,7,348,63,356,74
  210.    DATA 390,74,394,69,400,66,390,61,390,58
  211.    RETURN
  212. ka:RESTORE k1
  213. k1:DATA 360,77,304,77,4,304,92
  214.    DATA 368,92,366,82,360,77
  215.    RETURN
  216. ky:RESTORE k2
  217. k2:DATA 402,93,402,90,10,424,85,438,83
  218.    DATA 442,79,460,80,464,83,474,86
  219.    DATA 464,91,412,91,412,93,402,93
  220.    RETURN
  221. la:RESTORE l1
  222. l1:DATA 421,127,416,122,7,398,122
  223.    DATA 404,116,400,111,376,111
  224.    DATA 376,117,380,123,378,129
  225.    RETURN
  226. me:RESTORE m1
  227. m1:DATA 536,34,548,45,0
  228.    LOCATE 4,74:PRINT "?"
  229.    RETURN
  230. md:RESTORE m2
  231. m2:DATA 529,72,522,72,9,526,67,490,69 
  232.    DATA 490,72,504,70,512,72,512,74,522,75,528,75,528,72
  233.    RETURN
  234. mas:RESTORE m3
  235. m3:DATA 548,48,532,48,3,532,52,548,52,548,54
  236.    RETURN
  237. mich:RESTORE m4
  238. m4:DATA 392,42,410,45,8,416,48,418,45
  239.    DATA 436,44,424,51,424,56
  240.    DATA 430,60,428,64,456,64
  241.    RETURN
  242. minn:RESTORE m5
  243. m5:DATA 342,32,346,47,6,342,48,348,59
  244.    DATA 392,59,378,52,376,47,380,42
  245.    RETURN
  246. miss:RESTORE m6
  247. m6:DATA 428,125,426,100,7,406,100
  248.    DATA 400,107,400,111,404,115
  249.    DATA 398,122,416,122,420,126
  250.    RETURN
  251. mo:RESTORE m7
  252. m7:DATA 392,74,356,74,11,366,82,368,95
  253.    DATA 406,95,406,97,410,97,416,92
  254.    DATA 416,90,402,84,402,80,398,82,392,74
  255.    RETURN
  256. mont:RESTORE m8
  257. m8:DATA 208,27,206,36,7,214,40,212,46
  258.    DATA 216,45,220,52,236,50,290,50,290,32
  259.    RETURN
  260. neb:RESTORE n1
  261. n1:DATA 288,62,288,72,6,304,72,304,78
  262.    DATA 360,78,350,64,332,62,288,62
  263.    RETURN
  264. nev:RESTORE n2
  265. n2:DATA 204,61,156,60,5,156,74,192,96
  266.    DATA 196,92,202,94,204,61
  267.    RETURN
  268. nh:RESTORE n3
  269. n3:DATA 536,34,548,45,2,534,48,536,36
  270.    LOCATE 6,72:PRINT "<?"
  271.    RETURN
  272. nj:RESTORE n4
  273. n4:DATA 534,58,522,58,4,522,62,526,64
  274.    DATA 520,67,530,69
  275.    LOCATE 9,70:PRINT "?"
  276.    RETURN
  277. nm:RESTORE n5
  278. n5: DATA 238,120,240,91,4,296,91
  279.    DATA 296,117,260,117,260,119
  280.    RETURN
  281. ny:RESTORE n6
  282. n6:DATA 476,59,516,55,6,532,59,528,60
  283.    DATA 548,56,532,59,530,47,524,38
  284.    LOCATE 7,65:PRINT "?"
  285.    RETURN                                                     
  286. nc:RESTORE n7
  287. n7: DATA 529,83,478,87,4,460,96,488,94
  288.    DATA 502,95,512,98
  289.    RETURN
  290. nd:RESTORE n8
  291. n8: DATA 290,32,290,47,2,346,47,342,32
  292.    RETURN
  293. oh:RESTORE o1
  294. o1: DATA 456,63,446,63,4,446,76,468,79
  295.    DATA 480,71,480,58
  296.    RETURN
  297. okl:RESTORE o2
  298. o2: DATA 294,92,368,92,5,372,108,320,106
  299.    DATA 320,96,294,96,294,92
  300.    RETURN
  301. ore:RESTORE o3
  302. o3: DATA 142,33,152,38,5,200,41,188,48
  303.    DATA 190,50,184,60,125,55
  304.    RETURN
  305. pa:RESTORE p1
  306. p1: DATA 480,59,480,69,6,522,67,526,63
  307.    DATA 524,62,524,57,516,56,480,59
  308.    RETURN
  309. ri:RESTORE r1
  310. r1: DATA 548,54,548,50,2,542,50,542,55
  311.    LOCATE 8,70:PRINT "\"
  312.    LOCATE 9,71:PRINT "?"
  313.    RETURN
  314. sc:RESTORE s1
  315. s1: DATA 492,110,468,97,4,488,94
  316.    DATA 492,96,502,95,514,99
  317.    RETURN
  318. sd: RESTORE s2
  319. s2: DATA 344,47,288,47,5,288,61,334,61
  320.    DATA 350,63,348,62,344,47
  321.    RETURN
  322. tn: RESTORE t1
  323. t1: DATA 424,90,480,90,5,456,98,404,98
  324.    DATA 412,92,424,92,424,90
  325.    RETURN
  326. tx: RESTORE t2
  327. t2: DATA 260,118,296,118,9,296,92,320,95
  328.    DATA 320,106,340,108,366,108,374,110
  329.    DATA 376,118,380,122,378,130
  330.    RETURN
  331. ut: RESTORE u1
  332. u1: DATA 232,63,204,63,5,204,90,248,90
  333.    DATA 248,71,232,71,232,63
  334.    RETURN
  335. vt: RESTORE v1
  336. v1: DATA 536,36,534,49,2,528,49,524,38
  337.    RETURN
  338. vir: RESTORE v2
  339. v2: DATA 527,75,512,74,9,512,72,504,70
  340.    DATA 496,76,492,76,488,82,480,84
  341.    DATA 472,84,462,88,530,84
  342.    RETURN
  343. wa: RESTORE w1
  344. w1: DATA 200,26,196,40,2,152,38,144,33
  345.    RETURN
  346. wv: RESTORE w2
  347. w2: DATA 492,70,482,70,13,480,68,480,72,468,78,470,82
  348.    DATA 478,84,488,82,492,76,496,77
  349.    DATA 500,71,506,71,506,69,492,72,492,70
  350.    RETURN
  351. wi: RESTORE w3
  352. w3: DATA 380,42,376,47,11,378,53,390,57
  353.    DATA 390,61,396,63,418,63,416,55
  354.    DATA 420,47,412,51,414,47,408,45,392,42
  355.    RETURN
  356. wy: RESTORE w4
  357. w4: DATA 288,52,224,52,3,224,71,288,71,288,52
  358.    RETURN
  359.  
  360. 2740 END 
  361. talk:
  362. B$=TRANSLATE$ (A$)
  363. SAY B$
  364. RETURN
  365. pickask:
  366. RANDOMIZE TIMER
  367. ask$(1)="which state is this?"
  368. ask$(2)=" now guess this state?"
  369. ask$(3)=" o k "+N$+". now what state is this ?"
  370. ask$(4)=" good "+N$+". try this one."
  371. ask$(5)=" here is another state."
  372. ask$(6)=" what state duz this look like?"
  373. ask$(7)=" no. try again."
  374. pp=INT(RND*7)
  375. IF pp=0 THEN pickask
  376. IF f=1 THEN pp=7
  377. A$=ask$(pp)
  378. RETURN
  379.                                                                   
  380.                     
  381.  
  382.  
  383.