Advertisement
Guest User

Untitled

a guest
Aug 12th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 19.64 KB | None | 0 0
  1. 10 REM PROGRAM NAME - OREGON        VERSION: 01/01/78
  2. 20 REM ORIGINAL PROGRAMMING BY BILL HEINEMANN - 1971
  3. 30 REM SUPPORT RESEARCH AND MATERIALS BY DON RAWITSCH,
  4. 40 REM      MINNESOTA EDUCATIONAL COMPUTING CONSORTIUM STAFF
  5. 50 REM CDC CYBER 70/73-26     BASIC 3.1
  6. 60 REM DOCUMENTATION BOOKLET 'OREGON' AVAILABLE FROM
  7. 61 REM    MECC SUPPORT SERVICES
  8. 62 REM    2520 BROADWAY DRIVE
  9. 63 REM    ST. PAUL, MN 55113
  10. 80 REM
  11. 150 REM  *FOR THE MEANING OF THE VARIABLES USED, LIST LINES 6470-6790*
  12. 155 REM
  13. 160 PRINT "DO YOU NEED INSTRUCTIONS (YES/NO)"
  14. 170 DIM C$ (5)
  15. 180 REM RANDOMIZE REMOVED
  16. 190 INPUT C$
  17. 200 IF C$="NO" THEN 690
  18. 210 PRINT
  19. 220 PRINT
  20. 230 REM ***INSTRUCTIONS***
  21. 240 PRINT "THIS PROGRAM SIMULATES A TRIP OVER THE OREGON TRAIL FROM"
  22. 250 PRINT "INDEPENDENCE MISSOURI TO OREGON CITY, OREGON IN 1847."
  23. 260 PRINT "YOUR FAMILY OF FIVE WILL COVER THE 2040 MILE OREGON TRAIL"
  24. 270 PRINT "IN 5-6 MONTHS --- IF YOU MAKE IT ALIVE."
  25. 280 PRINT
  26. 290 PRINT "YOU HAD SAVED $900 TO SPEND FOR THE TRIP, AND YOU'VE JUST"
  27. 300 PRINT "   PAID $200 FOR A WAGON."
  28. 310 PRINT "YOU WILL NEED TO SPEND THE REST OF YOUR MONEY ON THE"
  29. 320 PRINT "   FOLLOWING ITEMS:"
  30. 330 PRINT
  31. 340 PRINT "     OXEN – YOU CAN SPEND $200-$300 ON YOUR TEAM"
  32. 350 PRINT "            THE MORE YOU SPEND, THE FASTER YOU'LL GO"
  33. 360 PRINT "               BECAUSE YOU'LL HAVE BETTER ANIMALS"
  34. 370 PRINT
  35. 380 PRINT "     FOOD – THE MORE YOU HAVE, THE LESS CHANCE THERE"
  36. 390 PRINT "               IS OF GETTING SICK"
  37. 400 PRINT
  38. 410 PRINT "     AMMUNITION - $1 BUYS A BELT OF 50 BULLETS"
  39. 420 PRINT "            YOU WILL NEED BULLETS FOR ATTACKS BY ANIMALS"
  40. 430 PRINT "               AND BANDITS, AND FOR HUNTING FOOD"
  41. 440 PRINT
  42. 450 PRINT "     CLOTHING – THIS IS ESPECIALLY IMPORTANT FOR THE COLD"
  43. 460 PRINT "               WEATHER YOU WILL ENCOUNTER WHEN CROSSING"
  44. 470 PRINT "               THE MOUNTAINS"
  45. 480 PRINT
  46. 490 PRINT "     MISCELLANEOUS SUPPLIES – THIS INCLUDES MEDICINE AND"
  47. 500 PRINT "               OTHER THINGS YOU WILL NEED FOR SICKNESS"
  48. 510 PRINT "               AND EMERGENCY REPAIRS"
  49. 520 PRINT
  50. 530 PRINT
  51. 540 PRINT "YOU CAN SPEND ALL YOUR MONEY BEFORE YOU START YOUR TRIP -"
  52. 550 PRINT "OR YOU CAN SAVE SOME OF YOUR CASH TO SPEND AT FORTS ALONG"
  53. 560 PRINT "THE WAY WHEN YOU RUN LOW. HOWEVER, ITEMS COST MORE AT"
  54. 570 PRINT "THE FORTS. YOU CAN ALSO GO HUNTING ALONG THE WAY TO GET"
  55. 580 PRINT "MORE FOOD."
  56. 590 PRINT "WHENEVER YOU HAVE TO USE YOUR TRUSTY RIFLE ALONG THE WAY,"
  57. 600 PRINT "YOU WILL BE TOLD TO TYPE IN A WORD (ONE THAT SOUNDS LIKE A"
  58. 610 PRINT "GUN SHOT). THE FASTER YOU TYPE IN THAT WORD AND HIT THE"
  59. 620 PRINT "**RETURN** KEY, THE BETTER LUCK YOU'LL HAVE WITH YOUR GUN."
  60. 630 PRINT
  61. 640 PRINT "AT EACH TURN, ALL ITEMS ARE SHOWN IN DOLLAR AMOUNTS"
  62. 650 PRINT "EXCEPT BULLETS"
  63. 660 PRINT "WHEN ASKED TO ENTER MONEY AMOUNTS, DON'T USE A **$**."
  64. 670 PRINT
  65. 680 PRINT "GOOD LUCK!!!"
  66. 690 PRINT
  67. 700 PRINT
  68. 710 PRINT "HOW GOOD A SHOT ARE YOU WITH YOUR RIFLE?"
  69. 720 PRINT "  (1) ACE MARKSMAN,  (2) GOOD SHOT,  (3) FAIR TO MIDDLIN'"
  70. 730 PRINT "         (4) NEED MORE PRACTICE,  (5) SHAKY KNEES"
  71. 740 PRINT "ENTER ONE OF THE ABOVE – THE BETTER YOU CLAIM YOU ARE, THE"
  72. 750 PRINT "FASTER YOU'LL HAVE TO BE WITH YOUR GUN TO BE SUCCESSFUL."
  73. 760 PRINT D9
  74. 770 IF D95 THEN 790
  75. 780 GOTO 810
  76. 790 D9=0
  77. 800 REM ***INITIAL PURCHASES***
  78. 810 X1*-1
  79. 820 K8*S4*F1*F2*M*M9*D3=0
  80. 830 PRINT
  81. 840 PRINT
  82. 850 PRINT "HOW MUCH DO YOU WANT TO SPEND ON YOUR OXEN TEAM";
  83. 860 INPUT A
  84. 870 IF A >= 200 THEN 900
  85. 880 PRINT "NOT ENOUGH"
  86. 890 GOTO 850
  87. 900 IF A <= 300 THEN 930
  88. 910 PRINT "TOO MUCH"
  89. 920 GOTO 850
  90. 930 PRINT "HOW MUCH DO YOU WANT TO SPEND ON FOOD";
  91. 940 INPUT F
  92. 950 IF F >= 0 THEN 980
  93. 960 PRINT "IMPOSSIBLE"
  94. 970 GOTO 930
  95. 980 PRINT "HOW MUCH DO YOU WANT TO SPEND ON AMMUNITION";
  96. 990 INPUT B
  97. 1000 IF B >= 0 THEN 1030
  98. 1010 PRINT "IMPOSSIBLE"
  99. 1020 GOTO 980
  100. 1030 PRINT "HOW MUCH DO YOU WANT TO SPEND ON CLOTHING";
  101. 1040 INPUT C
  102. 1050 IF C >= 0 THEN 1080
  103. 1060 PRINT "IMPOSSIBLE"
  104. 1070 GOTO 1030
  105. 1080 PRINT "HOW MUCH DO YOU WANT TO SPEND ON MISCELLANEOUS SUPPLIES";
  106. 1090 INPUT M1
  107. 1100 IF M1 >= 0 THEN 1130
  108. 1110 PRINT "IMPOSSIBLE"
  109. 1120 GOTO 1080
  110. 1130 T=700-A-F-B-C-M1
  111. 1140 IF T >= 0 THEN 1170
  112. 1150 PRINT "YOU OVERSPENT—YOU ONLY HAD $700 TO SPEND. BUY AGAIN"
  113. 1160 GOTO 830
  114. 1170 B=50+B
  115. 1180 PRINT "AFTER ALL YOUR PURCHASES, YOU NOW HAVE ";T;" DOLLARS LEFT"
  116. 1190 PRINT
  117. 1200 PRINT "MONDAY MARCH 29 1847"
  118. 1210 PRINT
  119. 1220 GOTO 1750
  120. 1230 IF M >= 2040 THEN 5430
  121. 1240 REM ***SETTING DATE****
  122. 1250 D3=D3+1
  123. 1260 PRINT
  124. 1270 PRINT "MONDAY ";
  125. 1280 IF D3>10 THEN 1300
  126. 1290 ON D3 GOTO 1310,1330,1350,1370,1390,1410,1430,1450,1470,1490
  127. 1300 ON D3-10 GOTO 1510,1530,1550,1570,1590,1610,1630,1650,1670,1690
  128. 1310 PRINT "APRIL 12";
  129. 1320 GOTO 1720
  130. 1330 PRINT "APRIL 26 ";
  131. 1340 GOTO 1720
  132. 1350 PRINT "MAY 10";
  133. 1360 GOTO 1720
  134. 1370 PRINT "MAY 24 ";
  135. 1380 GOTO 1720
  136. 1390 PRINT "JUNE 7 ";
  137. 1400 GOTO 1720
  138. 1410 PRINT "JUNE 21 ";
  139. 1420 GOTO 1720
  140. 1430 PRINT "JULY 5 ";
  141. 1440 GOTO 1720
  142. 1450 PRINT "JULY 19 ";
  143. 1460 GOTO 1720
  144. 1470 PRINT "AUGUST 2 "'
  145. 1480 GOTO 1720
  146. 1490 PRINT "AUGUST 16 ";
  147. 1500 GOTO 1720
  148. 1510 PRINT "AUGUST 31 ";
  149. 1520 GOTO 1720
  150. 1530  PRINT "SEPTEMBER 13";
  151. 1540 GOTO 1720
  152. 1550 PRINT "SEPTEMBER 27 ";
  153. 1560 GOTO 1720
  154. 1570 PRINT "OCTOBER 11 ";
  155. 1580 GOTO 1720
  156. 1590 PRINT "OCTOBER 25"
  157. 1600 GOTO 1720
  158. 1610 PRINT "NOVEMBER 8 ";
  159. 1620 GOTO 1720
  160. 1630 PRINT "NOVEMBER 22 ";
  161. 1640 GOTO 1720
  162. 1650 PRINT "DECEMBER 6 ";
  163. 1660 GOTO 1720
  164. 1670 PRINT "DECEMBER 20 ";
  165. 1680 GOTO 1720
  166. 1690 PRINT "YOU HAVE BEEN ON THE TRAIL TOO LONG  ------"
  167. 1700 PRINT "YOUR FAMILY DIES IN THE FIRST BLIZZARD OF WINTER"
  168. 1710 GOTO 5170
  169. 1720 PRINT "1847"
  170. 1730 PRINT
  171. 1740 REM ***BEGINNING EACH TURN***
  172. 1750 IF F >= 0 THEN 1770
  173. 1760 F=0
  174. 1770 IF B >= 0 THEN 1790
  175. 1780 B=0
  176. 1790 IF C >= 0 THEN 1810
  177. 1800 C = 0
  178. 1810 IF M1 >= 0 THEN 1830
  179. 1820 M1=0
  180. 1830 IF F >= 13 THEN 1650
  181. 1840 PRINT "YOU'D BETTER DO SOME HUNTING OR BUY FOOD AND SOON!!!!"
  182. 1850 F=INT(F)
  183. 1860 B=INT(B)
  184. 1870 C=INT(C)
  185. 1880 M1=INT(M1)
  186. 1890 T=INT(T)
  187. 1900 M=INT(M)
  188. 1910 M2=M
  189. 1920 IF S4=1 THEN 1950
  190. 1930 IF K8=1 THEN 1950
  191. 1940 GOTO 1990
  192. 1950 T=T-20
  193. 1960 IF T<0 THEN 5080
  194. 1970 PRINT "DOCTOR'S BILL IS $20"
  195. 1980 LET K8=S4=0
  196. 1990 IF M9=1 THEN 2020
  197. 2000 PRINT "TOTAL MILEAGE IS";M
  198. 2010 GOTO 2040
  199. 2020 PRINT "TOTAL MILEAGE IS 950"
  200. 2030 M9=0
  201. 2040 PRINT "FOOD","BULLETS","CLOTHING","MISC. SUPP.","CASH"
  202. 2050 PRINT F,B,C,M1,T
  203. 2060 IF X1=-1 THEN 2170
  204. 2070 X1=X1*(-1)
  205. 2080 PRINT "DO YOU WANT TO (1) STOP AT THE NEXT FORT, (2) HUNT, ";
  206. 2090 PRINT "OR (3) CONTINUE"
  207. 2100 INPUT X
  208. 2110 IF X>2 THEN 2150
  209. 2120 IF X<1 THEN 2150
  210. 2130 LET X=INT(X)
  211. 2140 GOTO 2270
  212. 2150 LET X=3
  213. 2160 GOTO 2270
  214. PRINT "DO YOU WANT TO (1) HUNT, OR (2) CONTINUE"
  215. 2180 INPUT X
  216. 2190 IF X=1 THEN 2210
  217. 2200 LET X=2
  218. 2210 LET X=X+1
  219. 2220 IF X=3 THEN 2260
  220. 2230 IF B>39 THEN 2260
  221. 2240 PRINT "TOUGH---YOU NEED MORE BULLETS TO GO HUNTING"
  222. 2250 GOTO 2170
  223. 2260 X1=X1*(-1)
  224. 2270 ON X GOTO 2290,2540,2720
  225. 2280 REM ***STOPPING AT FORT***
  226. 2290 PRINT "ENTER WHAT YOU WISH TO SPEND ON THE FOLLOWING"
  227. 2300 PRINT "FOOD";
  228. 2310 GOSUB 2330
  229. 2320 GOTO 2410
  230. 2330 INPUT P
  231. 2340 IF P<0 THEN 2400
  232. 2350 T=T-P
  233. 2360 IF T >= 0 THEN 2400
  234. 2370 PRINT "YOU DON'T HAVE THAT MUCH--KEEP YOUR SPENDING DOWN"
  235. 2380 T=T+P
  236. 2390 P=0
  237. 2400 RETURN
  238. 2410 F=F+2/3*P
  239. 2420 PRINT "AMMUNITION";
  240. 2430 GOSUB 2330
  241. 2440 LET B=INT(B+2/3+P*50)
  242. 2450 PRINT "CLOTHING";
  243. 2460 GOSUB 2330
  244. 2470 C=C+2/3*P
  245. 2480 PRINT "MISCELLANEOUS SUPPLIES";
  246. 2490 GOSUB 2330
  247. 2500 M1=M1+2/3*P
  248. 2510 M=M-45
  249. 2520 GOTO 2720
  250. 2530 REM ***HUNTING***
  251. 2540 IF B>39 THEN 2570
  252. 2550 PRINT "TOUGH---YOU NEED MORE BULLETS TO GO HUNTING"
  253. 2560 GOTO 2080
  254. 2570 M=M-45
  255. 2580 GOSUB 6140
  256. 2590 IF B1 <= 1 THEN 2660
  257. 2600 IF 100*RND(-1)<13*B1 THEN 2710
  258. 2620 PRINT "NICE SHOT—RIGHT ON TARGET—GOOD EATIN' TONIGHT!!"
  259. 2630 B=B-10-3*B1
  260. 2640 GOTO 2720
  261. 2650 REM **BELLS IN LINE 2660**
  262. 2660 PRINT "RIGHT BETWEEN THE EYES---YOU GOT A BIG ONE!!!!"
  263. 2670 PRINT "FULL BELLIES TONIGHT!"
  264. 2680 F=F+52+RND(-1)*6
  265. 2690 B=B-10-RND(-1)*4
  266. 2700 GOTO 2720
  267. 2710 PRINT "YOU MISSED---AND YOUR DINNER GOT AWAY....."
  268. 2720 IF F >= 13 THEN 2750
  269. 2730 GOTO 5060
  270. 2740 REM ***EATING***
  271. 2750 PRINT "DO YOU WANT TO EAT (1) POORLY  (2) MODERATELY"
  272. 2760 PRINT "OR (3) WELL";
  273. 2770 INPUT E
  274. 2780 IF E>3 THEN 2750
  275. 2790 IF E<1 THEN 2750
  276. 2800 LET E=INT(E)
  277. 2810 LET F=F-8-5*E
  278. 2820 IF F >= 0 THEN 2860
  279. 2830 F=F+8+5*E
  280. 2840 PRINT "YOU CAN'T EAT THAT WELL"
  281. 2850 GOTO 2750
  282. 2860 LET M=M+200+(A-220)/5+10*RND(-1)
  283. 2870 L1=C1=0
  284. 2880 REM ***RIDERS ATTACK***
  285. 2890 IF RND(-1)*10>((M/100-4)**27+72)/((M/100-4)**2+12)-1 THEN 3550
  286. 2900 PRINT "RIDERS AHEAD.  THEY ";
  287. 2910 S5=0
  288. 2920 IF RND(-1)<.8 THEN 2950
  289. 2930 PRINT "DON'T ";
  290. 2940 S5=1
  291. 2950 PRINT "LOOK HOSTILE"
  292. 2960 PRINT "TACTICS"
  293. 2970 PRINT "(1) RUN  (2) ATTACK  (3) CONTINUE  (4) CIRCLE WAGONS"
  294. 2980 IF RND(-1)>.2 THEN 3000
  295. 2990 S5=1-S5
  296. 3000 INPUT T1
  297. 3010 IF T1<1 THEN 2970
  298. 3020 IF T1>4 THEN 2970
  299. 3030 T1=INT(T1)
  300. 3040 IF S5=1 THEN 3330
  301. 3050 IF T1>1 THEN 3110
  302. 3060 M=M+20
  303. 3070 M1=M1-15
  304. 3080 B=B-150
  305. 3090 A=A-40
  306. 3100 GOTO 3470
  307. 3110 IF T1>2 THEN 3240
  308. 3120 GOSUB 6140
  309. 3130 B=B-B1*40-80
  310. 3140 IF B1>1 THEN 3170
  311. 3150 PRINT "NICE SHOOTING---YOU DROVE THEM OFF"
  312. 3160 GOTO 3470
  313. 3170 IF B1 <= 4 THEN 3220
  314. 3180 PRINT "LOUSY SHOT---YOU GOT KNIFED"
  315. 3190 K8=1
  316. 3200 PRINT "YOU HAVE TO SEE OL' DOC BLANCHARD"
  317. 3210 GOTO 3470
  318. 3220 PRINT "KINDA SLOW WITH YOUR COLT .45"
  319. 3230 GOTO 3470
  320. 2340 IF T1>3 THEN 2390
  321. 3250 IF RND(-1)>.8 THEN 3450
  322. 2360 LET B=B-150
  323. 2370 M1=M1-15
  324. 2380 GOTO 3470
  325. 3290 GOSUB 6140
  326. 3300 B=B-B1*30-80
  327. 3310 M=M-25
  328. 3320 GOTO 3140
  329. 3330 IF T1>1 THEN 3370
  330. 3340 M=M+15
  331. 3350 A=A-10
  332. 3360 GOTO 3470
  333. 3370 IF T1>2 THEN 3410
  334. 3380 M=M-5
  335. 3390 B=B-100
  336. 3400 GOTO 3470
  337. 3410 IF T1>3 THEN 3430
  338. 3420 GOTO 3470
  339. 3430 M=M-20
  340. 3440 GOTO 3470
  341. 3450 PRINT "THEY DID NOT ATTACK"
  342. 3460 GOTO 3550
  343. 3470 IF S5=0 THEN 3500
  344. 3480 PRINT "RIDERS WERE FRIENDLY, BUT CHECK FOR POSSIBLE LOSSES"
  345. 3490 GOTO 3550
  346. 3500 PRINT "RIDERS WERE HOSTILE--CHECK FOR LOSSES"
  347. 3510 IF B >= 0 THEN 3550
  348. 3520 PRINT "YOU RAN OUT OF BULLETS AND GOT MASSACRED BY THE RIDERS"
  349. 3530 GOTO 5170
  350. 3540 REM ***SELECTION OF EVENTS***
  351. 3550 LET D1=0
  352. 3560 RESTORE
  353. 3570 R1=100*RND(-1)
  354. 3580 LET D1=D1+1
  355. 3590 IF D1=16 THEN 4670
  356. 3600 READ D
  357. 3610 IF R1>D THEN 3580
  358. 3620 DATA 6,11,13,15,17,22,32,35,37,42,44,54,64,69,95
  359. 3630 IF D1>10 THEN 3650
  360. 3640 ON D1 GOTO 3660,3700,3740,3790,3820,3850,3880,3960,4130,4190
  361. 3650 ON D1-10 GOTO 4220,4290,4340,4650,4610,4670
  362. 3660 PRINT "WAGON BREAKS DOWN--LOSE TIME AND SUPPLIES FIXING IT"
  363. 3670 LET M=M-15-5*RND(-1)
  364. 3680 LET M1=M1-8
  365. 3690 GOTO 4710
  366. 3700 PRINT "OX INJURES LEG---SLOWS YOU DOWN REST OF TRIP"
  367. 3710 LET M=M-25
  368. 3720 LET A=A-20
  369. 3730 GOTO 4710
  370. 3740 PRINT "BAD LUCK---YOUR DAUGHTER BROKE HER ARM"
  371. 3750 PRINT "YOU HAD TO STOP AND USE SUPPLIES TO MAKE A SLING"
  372. 3760 M=M-5-4*RND(-1)
  373. 3770 M1=M1-2-3*RND(-1)
  374. 3780 GOTO 4710
  375. 3790 PRINT "OX WANDERS OFF---SPEND TIME LOOKING FOR IT"
  376. 3800 M=M-17
  377. 3810 GOTO 4710
  378. 3820 PRINT "YOUR SON GETS LOST---SPEND HALF THE DAY LOOKING FOR HIM"
  379. 3830 M=M-10
  380. 3840 GOTO 4710
  381. 3850 PRINT "UNSAFE WATER--LOSE TIME LOOKING FOR CLEAN SPRING"
  382. 3860 LET M=M-10*RND(-1)*-2
  383. 3870 GOTO 4710
  384. 3880 IF M>950 THEN 4490
  385. 3890 PRINT "HEAVY RAINS---TIME AND SUPPLIES LOST"
  386. 3910 F=F-10
  387. 3920 B=B-500
  388. 3930 M1=M1-15
  389. 3940 M=M-10*RND(-1)-5
  390. 3950 GOTO 4710
  391. 3960 PRINT "BANDITS ATTACK"
  392. 3970 GOSUB 6140
  393. 3980 B=B-20*B1
  394. 3990 IF B>= 0- THEN 4030
  395. 4000 PRINT "YOU RAN OUT OF BULLETS---THEY GET LOTS OF CASH"
  396. 4010 T=T/3
  397. 4020 GOTO 4040
  398. 4030 IF B1 <= 1 THEN 4100
  399. 4040 PRINT "YOU GOT SHOT IN THE LEG AND THEY TOOK ONE OF YOUR OXEN"
  400. 4050 K8=1
  401. 4060 PRINT "BETTER HAVE A DOC LOOK AT YOUR WOUND"
  402. 4070 M1=M1-5
  403. 4080 A=A-20
  404. 4090 GOTO 4710
  405. 4100 PRINT "QUICKEST DRAW OUTSIDE OF DODGE CITY!!!"
  406. 4110 PRINT "YOU GOT 'EM!"
  407. 4120 GOTO 4710
  408. 4130 PRINT "THERE WAS A FIRE IN YOUR WAGON--FOOD AND SUPPLIES DAMAGE!"
  409. 4140 F=F-40
  410. 4150 B=B-400
  411. 4160 LET M1=M1-RND(-1)*68-3
  412. 4170 M=M-15
  413. 4180 GOTO 4710
  414. 4190 PRINT "LOSE YOUR WAY IN HEAVY FOG---TIME IS LOST"
  415. 4200 M=M-10-5*RND(-1)
  416. 4210 GOTO 4710
  417. 4190 PRINT "LOSE YOUR WAY IN HEAVY FOG---TIME IS LOST"
  418. 4200 M=M-10-5*RND(-1)
  419. 4210 GOTO 4710
  420. 4220 PRINT "YOU KILLED A POISONOUS SNAKE AFTER IT BIT YOU"
  421. 4230 B=B-10
  422. 4240 M1=M1-5
  423. 4250 IF M1 >= 0 THEN 4280
  424. 4260 PRINT "YOU DIE OF SNAKEBITE SINCE YOU HAVE NO MEDICINE"
  425. 4270 GOTO 5170
  426. 4280 GOTO 4710
  427. 4290 PRINT "YOUR WAGON GETS SWAMPED FORDING RIVER--LOSE FOOD AND CLOTHES"
  428. 4300 F=F-30
  429. 4310 C=C-20
  430. 4320 M=M-20-20*RND(-1)
  431. 4330 GOTO 4710
  432. 4340 PRINT "WILD ANIMALS ATTACK!"
  433. 4350 GOSUB 6140
  434. 4360 IF B>39 THEN 4410
  435. 4370 PRINT "YOU WERE TOO LOW ON BULLETS--"
  436. 4380 PRINT "THE WOLVES OVERPOWERED YOU"
  437. 4390 K8=1
  438. 440 GOTO 5120
  439. 4410 IF B1>2 THEN 4440
  440. 4420 PRINT "NICE SHOOTIN' PARDNER---THEY DIDN'T GET MUCH"
  441. 4430 GOTO 4450
  442. 4440 PRINT "SLOW ON THE DRAW---THEY GOT AT YOUR FOOD AND CLOTHES"
  443. 4450 B=B-20*B1
  444. 4460 C=C-B1*4
  445. 4470 F=F-B1*8
  446. 4480 BOTO 4710
  447. 4490 PRINT "COLD WEATHER---BRRRRRRR!---YOU ";
  448. 4500 IF C>22+4*RND(-1) THEN 4530
  449. 4510 PRINT "DON'T ";
  450. 4520 C1=1
  451. 4530 PRINT "HAVE ENOUGH CLOTHING TO KEEP WARM"
  452. 4540 IF C1=0 THEN 4710
  453. 4550 GOTO 6300
  454. 4560 PRINT "HAIL STORM---SUPPLIES DAMAGED"
  455. 4570 M=M-5-RND(-1)*10
  456. 4580 B=B-200
  457. 4590 M1=M1-4-RND(-1)*3
  458. 4600 GOTO 4710
  459. 4610 IF E=1 THEN 6300
  460. 4620 IF E=3 THEN 4650
  461. 4630 IF RND(-1)>.25 THEN 6300
  462. 4640 GOTO 4710
  463. 4650 IF RND(-1)<.5 THEN 6300
  464. 4660 GOTO 4710
  465. 4670 PRINT "HELPFUL INDIANS SHOW YOU WHERE TO FIND MORE FOOD"
  466. 4680  F=F+14
  467. 4690 GOTO 4710
  468. 4700 REM ***MOUNTAINS***
  469. 4710 IF M <= 950 THEN 1230
  470. 4720 IF RND(-1)*10>9-((M/100-15)**2+72)/((M/100-15)**2+12) THEN 4560
  471. 4730 PRINT "RUGGED MOUNTAINS"
  472. 4740 IF RND(-1)>.1 THEN 4780
  473. 4750 PRINT "YOU GOT LOST---LOSE VALUABLE TIME TRYING TO FIND TRAIL!"
  474. 4760 M=M-60
  475. 4770 GOTO 4560
  476. 4780 IF RND(-1)>.11 THEN 4840
  477. 4790 PRINT "WAGON DAMAGED!---LOSE TIME AND SUPPLIES"
  478. 4800 M1=M1-5
  479. 4810 B=B-200
  480. 4820 M=M-20-30*RND(-1)
  481. 4830 GOTO 4860
  482. 4840 PRINT "THE GOING GETS SLOW"
  483. 4850 M=M-45-RND(-1)/.02
  484. 4860 IF F1=1 THEN 4900
  485. 4870 F1=1
  486. 4880 IF RND(-1)<.8 THEN 4970
  487. 4890 PRINT "YOU MADE IT SAFELY THROUGH SOUTH PASS--NO SNOW"
  488. 4900 IF M<1700 THEN 4940
  489. 4910 IF F2=1 THEN 4940
  490. 4920 F2=1
  491. 4930 IF RND(-1)<.7 THEN 4970
  492. 4940 IF M>950 THEN 1230
  493. 4950 M9=1
  494. 4960 GOTO 1230
  495. 4970 PRINT "BLIZZARD IN MOUNTAIN PASS--TIME AND SUPPLIES LOST"
  496. 4980 L1=1
  497. 4990 F=F-25
  498. 5000 M1=M1-10
  499. 5010 B=B-300
  500. 5020 M=M-30-40*RND(-1)
  501. 5030 IF C<18+2*RND(-1) THEN 6300
  502. 5040 GOTO 4940
  503. 5050 REM ***DYING***
  504. 5060 PRINT "YOU RAN OUT OF FOOD AND STARVED TO DEATH"
  505. 5070 GOTO 5170
  506. 5080 LET T=0
  507. 5090 PRINT "YOU CAN'T AFFORD A DOCTOR"
  508. 5100 GOTO 5120
  509. 5110 PRINT "YOU RAN OUT OF MEDICAL SUPPLIES"
  510. 5120 PRINT "YOU DIED OF ";
  511. 5130 IF K8=1 THEN 5160
  512. 5140 PRINT "PNEUMONIA"
  513. 5150 GOTO 5170
  514. 5160 PRINT "INJURIES"
  515. 5170 PRINT
  516. 5180 PRINT "DUE TO YOUR UNFORTUNATE SITUATION, THERE ARE A FEW"
  517. 5190 PRINT "FORMALITIES WE MUST GO THROUGH"
  518. 5200 PRINT
  519. 5210 PRINT "WOULD YOU LIKE A MINISTER?"
  520. 5220 INPUT C$
  521. 5230 PRINT "WOULD YOU LIKE A FANCY FUNERAL?"
  522. 5240 INPUT C$
  523. 5250 PRINT "WOULD YOU LIKE US TO INFORM YOUR NEXT OF KIN?"
  524. 5260 INPUT C$
  525. 5270 IF C$="YES" THEN 5310
  526. 5280 PRINT "BUT YOUR AUNT SADIE IN ST. LOUIS IS REALLY WORRIED ABOUT YOU
  527. 5290 PRINT
  528. 5300 GOTO 5330
  529. 5310 PRINT "THAT WILL BE $4.50 FOR THE TELEGRAPH CHARGE."
  530. 5320 PRINT
  531. 5330 PRINT "WE THANK YOU FOR THIS INFORMATION AND WE ARE SORRY YOU"
  532. 5340 PRINT "DIDN'T MAKE IT TO THE GREAT TERRITORY OF OREGON"
  533. 5350 PRINT "BETTER LUCK NEXT TIME"
  534. 5360 PRINT
  535. 5370 PRINT
  536. 5380 PRINT TAB(30);"SINCERELY"
  537. 5390 PRINT
  538. 5400 PRINT TAB(17);"THE OREGON CITY CHAMBER OF COMMERCE"
  539. 5410 STOP
  540. 5420 REM ***FINAL TURN***
  541. 5430 F9=(2040-M2)/(M-M2)
  542. 5440 F=F+(1-F9)*(8+5*E)
  543. 5450 PRINT
  544. 5460 REM **BELLS IN LINES 5470,5480**
  545. 5470 PRINT "YOU FINALLY ARRIVED AT OREGON CITY"
  546. 5480 PRINT "AFTER 2040 LONG MILES---HOORAY!!!!!"
  547. 5490 PRINT "A REAL PIONEER!"
  548. 5500 PRINT
  549. 5510 F9=INT(F9*14)
  550. 5520 D3=D3*14+F9
  551. 5530 F9=F9+1
  552. 5540 IF F9<5 THEN 5560
  553. 5550 F9=F9-7
  554. 5560 ON F9 GOTO 5570,5590,5610,5630,5650,5670,5690
  555. 5570 PRINT "MONDAY ";
  556. 5580 GOTO 5700
  557. 5590 PRINT "TUESDAY ";
  558. 5600 GOTO 5700
  559. 5610 PRINT "WEDNESDAY ";
  560. 5620 GOTO 5700
  561. 5630 PRINT "THURSDAY ";
  562. 5640 GOTO 5700
  563. 6650 PRINT "FRIDAY ";
  564. 5660 GOTO 5700
  565. 5670 PRINT "SATURDAY ";
  566. 5680 GOTO 5700
  567. 5690 PRINT "SUNDAY ";
  568. 5700 IF D3>124 THEN 5740
  569. 5710 D3=D3-93
  570. 5720 PRINT "JULY ";D3;" 1847"
  571. 5730 GOTO 5920
  572. 5740 IF D3>155 THEN 5780
  573. 5750 D3=D3-124
  574. 5760 PRINT "AUGUST ";D3;" 1847"
  575. 5770 GOTO 5920
  576. 5780 IF D3>165 THEN 5820
  577. 5790 D3=D3-155
  578. 5800 PRINT "SEPTEMBER ";D3;" 1847"
  579. 5810 GOTO 5920
  580. 5820 IF D3>216 THEN 5860
  581. 5830 D3=D3-185
  582. 5840 PRINT "OCTOBER ";D3;" 1847"
  583. 5850 GOTO 5920
  584. 5860 IF D3>246 THEN 5900
  585. 5870 D3=D3-216
  586. 5880 PRINT "NOVEMBER ";D3;" 1847"
  587. 5890 GOTO 5920
  588. 5900 D3=D3-246
  589. 5910 PRINT "DECEMBER ";D3;"1847"
  590. 5920 PRINT
  591. 5930 PRINT "FOOD","BULLETS","CLOTHING","MISC. SUPP.","CASH"
  592. 5940 IF B>0 THEN 5960
  593. 5950 LET B=0
  594. 5960 IF C>0 THEN 5950
  595. 5970 LET C=0
  596. 5980 IF M1>0 THEN 6000
  597. 5990 LET M1=0
  598. 6000 IF T>0 THEN 6020
  599. 6010 LET T=0
  600. 6020 IF F>0 THEN 6040
  601. 6030 LET F=0
  602. 6040 PRINT INT(F),INT(B),INT(C),INT(M1),INT(T)
  603. 6050 PRINT
  604. 6060 PRINT TAB(11); "PRESIDENT JAMES K. POLK SENDS YOU HIS"
  605. 6070 PRINT TAB(17); "HEARTIEST CONGRATULATIONS"
  606. 6080 PRINT
  607. 6090 PRINT TAB(11);"AND WISHES YOU A PROSERPOUS LIFE AHEAD"
  608. 6100 PRINT
  609. 6110 PRINT TAB(22);"AT YOUR NEW HOME"
  610. 6120 STOP
  611. 6130 REM ***SHOOTING SUB-ROUTINE***
  612. 6131 REM THE METHOD OF TIMING THE SHOOTING (LINES 6210-6240)
  613. 6132 REM WILL VARY FROM SYSTEM TO SYSTEM. FOR EXAMPLE, H-P
  614. 6133 REM USERS WILL PROBABLY PREFER TO USE THE 'ENTER' STATEMENT.
  615. 6134 REM IF TIMING ON THE USER'S SYSTEM IS HIGHLY SUCEPTIBLE
  616. 6135 REM TO SYSTEM RESPONSE TIME, THE FORMULA IN LINE 6240 CAN
  617. 6136 REM BE TAILORED TO ACOMMODATE THIS BY EITHER INCREASING
  618. 6137 REM OR DECREASING THE 'SHOOTING' TIME RECORDED BY THE SYSTEM.
  619. 6140 DIM S$(5)
  620. 6150 S$(1)="BANG"
  621. 6160 S$(2)="BLAM"
  622. 6170 S$(3)="POW"
  623. 6180 S$(4)="WHAM"
  624. 6190 S6=INT(RND(-1)*4+1)
  625. 6200 PRINT "TYPE "; S$(56)
  626. 6210 B3 = CLK(0)
  627. 6220 INPUT C$
  628. 6230 B1 = CLK(0)
  629. 6240 B1=((B1-B3)*3600)-(D9-1)
  630. 6250 PRINT
  631. 6255 IF B1>0 THEN 6260
  632. 6257 B1=0
  633. 6260 IF C$=S$(56) THEN 6280
  634. 6270 B1=0
  635. 6280 RETURN
  636. 6290 REM ***ILLNESS SUB-ROUTINE***
  637. 6300 IF 100*RND(-1)<10+35(E-1) THEN 6370
  638. 6310 IF 100*RND(-1)<100-(40/4**(E-1)) THEN 6410
  639. 6320 PRINT "SERIOUS ILLNESS---"
  640. 6330 PRINT "YOU MUST STOP FOR MEDICAL ATTENTION"
  641. 6340 M1=M1-10
  642. 6350 S4=1
  643. 6360 GOTO 6440
  644. 6370 PRINT "MILD ILLNESS---MEDICINE USED"
  645. 6380 M=M-5
  646. 6390 M1=M1-2
  647. 6400 GOTO 6440
  648. 6410 PRINT "BAD ILLNESS---MEDICINE USED"
  649. 6420 M=M-5
  650. 6430 M1=M1-5
  651. 64540 IF M1<0 THEN 5110
  652. 6450 IF L1=1 THEN 4940
  653. 6460 GOTO 4710
  654. 6470 REM ***IDENTIFICATION OF VARIABLES IN THE PROGRAM***
  655. 6480 REM A = AMOUNT SPENT ON ANIMALS
  656. 6490 REM B = AMOUNT SPENT ON AMMUNITION
  657. 6500 REM B1 = ACTUAL RESPONSE TIME FOR INPUTTING "BANG"
  658. 6510 REM B3 = CLOCK TIME START OF INPUTTING "BANG"
  659. 6520 REM C = AMOUNT SPENT ON CLOTHING
  660. 6530 REM C1 = FLAG FOR INSUFFICIENT CLOTHING IN COLD WEATHER
  661. 6540 REM C$ = YES/NO RESPONSE TO QUESTIONS
  662. 6550 REM D1 = COUNTER IN GENERATING EVENTS
  663. 6560 REM D3 = TURN NUMBER FOR SETTING DATE
  664. 6570 REM D4 = CURRENT DATE
  665. 6580 REM D9 = CHOICE OF SHOOTING EXPERTISE LEVEL
  666. 6590 REM E = CHOICE OF EATING
  667. 6600 REM F = AMOUNT SPENT ON FOOD
  668. 6610 REM F1 = FLAG FOR CLEARING SOUTH PASS
  669. 6620 REM F2 = FLAG FOR CLEARING BLUE MOUNTAINS
  670. 6630 REM F9 = FRACTION OF 2 WEEKS TRAVELED ON FINAL TURN
  671. 6640 REM X5 = FLAG FOR INJURY
  672. 6650 REM L1 = FLAG FOR BLIZZARD
  673. 6660 REM M = TOTAL MILEAGE WHOLE TRIP
  674. 6670 REM M1 = AMOUNT SPENT ON MISCELLANEOUS SUPPLIES
  675. 6680 REM M2 = MILEAGE UP THROUGH PREVIOUS TURN
  676. 6690 REM M9 = FLAG FOR CLEARING SOUTH PASS IN SETTING MILEAGE
  677. 6700 REM P = AMOUNT SPENT ON ITEMS AT FORT
  678. 6710 REM R1 = RANDOM NUMBER IN CHOOSING EVENTS
  679. 6720 REM S4 = FLAG FOR ILLNESS
  680. 6730 REM S5 = ""HOSTILITY OF RIDERS"" FACTOR
  681. 6740 REM S6 = SHOOTING WORD SELECTOR
  682. 6750 REM S$ = VARIATIONS OF SHOOTING WORD
  683. 6760 REM T = CASH LEFT OVER AFTER INITIAL PURCHASES
  684. 6770 REM T1 = CHOICE OF TACTICS WHEN ATTACKED
  685. 6780 REM X = CHOICE OF ACTION FOR EACH TURN
  686. 6790 REM X1 = FLAG FOR FORT OPTION
  687. 6800 END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement