Guest User

Untitled

a guest
Jan 21st, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.08 KB | None | 0 0
  1. 1 REM OREGON TRAIL NOV '83
  2. 2 REM
  3. 3 REM PROGRAM SIMULATES A TREK ACROSS THE COUNTRY FROM THE EAST COAST TO THE WEST COAST (OREGON).
  4. 4 REM
  5. 5 REM MICROSOFT BASIC 32K
  6. 6 REM
  7. 7 REM TRANSLATION FROM THE TRS-80 MODEL 3 TO THE TRS-80 COLOR COMPUTER BY JASON LAWHERN
  8. 8 REM PUBLISHED WITH PERMISSION FROM CREATIVE COMPUTING MAY 1978
  9. 9 REM
  10. 10 REM
  11. 11 REM ***********************
  12. 12 REM * *
  13. 13 REM * SAN MATEO COUNTY *
  14. 14 REM * OFFICE OF EDUCATION *
  15. 15 REM * AND *
  16. 16 REM * COMPUTER-USING *
  17. 17 REM * EDUCATORS *
  18. 18 REM * *
  19. 19 REM * SOFTSWAP *
  20. 20 REM * *
  21. 21 REM * 333 MAIN STREET *
  22. 23 REM * CA 94063 *
  23. 24 REM * (415) 363-5472 *
  24. 25 REM * *
  25. 26 REM * *
  26. 27 REM ***********************
  27. 28 REM *PROGRAM MAY BE COPIED*
  28. 29 REM *FOR EDUCATIONAL USE &*
  29. 30 REM *MAY NOT BE SOLD.COPY-*
  30. 31 REM *RIGHT 1983 CUE,INC *
  31. 32 REM ***********************
  32. 100 ' OREGON TRAIL WAS WORKED ON BY THE FOLLOWING PEOPLE TRANSLATION: GRAPHICS JEREMY GRATT LOWERCASE + FORMAT BOB JACKSON
  33. 110 CLS:PRINT@0,"WAIT PLEASE"
  34. 120 CLEAR2000
  35. 130 DATA 6,11,13,15,17,22,32,35,37,42,44,54,64,69,95
  36. 140 FOR A=1TO15:READZ:NEXTA:DIMD$(20):FORA=1TO18:READD$(A):NEXT
  37. 150 DATA "APRIL 12","APRIL 26","MAY 10","MAY 24","JUNE 7"
  38. 160 DATA "JUNE 21","JULY 5","JULY 19","AUGUST 2","AUGUST 16"
  39. 170 DATA "AUGUST 31","SEPTEMBER 13","SEPTEMBER 27","OCTOBER 11"
  40. 180 DATA "OCTOBER 25","NOVEMBER 8","NOVEMBER 22","DECEMBER 20"
  41. 190 GOSUB5220
  42. 200 AA=4:CLS:PRINT:PRINT:PRINTTAB(AA)"------------------------":PRINTTAB(AA)": O R E G O N :":PRINTTAB(AA)": :":PRINTTAB(AA)": T R A I L :":PRINTTAB(AA)"------------------------":PRINT:PRINT:DIMC$(5):PRINT
  43. 210 PRINT@288,"DO YOU NEED INSTRUCTIONS (Y OR N)";CHR$(31);:INPUT N$:IF N$="N" THEN 560 ELSE IF N$<>"Y" THEN 210
  44. 220 CLS:PRINT:PRINT:PRINT"THIS PROGRAM SIMULATES A TRIP OVER THE ";
  45. 230 PRINT"OREGON TRAIL FROM INDEPENDENCE, MISSOURI, ";
  46. 240 PRINT"TO OREGON CITY, OREGON, IN 1847.":PRINT
  47. 250 PRINT"YOUR FAMILY WILL COVER THE 2040 MILE OREGON ";
  48. 260 PRINT"TRAIL IN 5-6 MONTHS --- IF YOU MAKE IT ALIVE."
  49. 270 PRINT:PRINT"YOU HAVE SAVED $900 TO SPEND FORTHE TRIP, AND YOU'VE JUST PAID"
  50. 280 PRINT"$200 FOR A WAGON.";:GOSUB 310
  51. 290 PRINT@0,"YOU WILL NEED TO SPEND THE REST OF YOUR MONEY ON THE FOLLOWING"
  52. 300 PRINT"ITEMS:":GOSUB310 :GOTO330
  53. 310 AA$="PRESS <ENTER> TO CONTINUE":PRINT@495-(LEN(AA$)/2),AA$;
  54. 320 Y$=INKEY$:IFY$<>CHR$(13)THEN320 ELSE CLS:PRINT@480,STRING$(31," ");:RETURN
  55. 330 PRINT@160,"OXEN - YOU CAN SPEND $200-$300. THE MORE YOU SPEND THE FASTER YOU WILL GO BECAUSE YOU WILL HAVE BETTER ANIMALS.":GOSUB 310
  56. 360 PRINT@160,"FOOD - THE MORE YOU HAVE THE LESS CHANCE THERE IS OF GETTING SICK."
  57. 370 GOSUB 310
  58. 380 PRINT@160,"AMMUNITION - $1 BUYS A BELT OF 50 BULLETS FOR ATTACKS BY ANIMALS, BANDITS AND FOR HUNTING FOOD."
  59. 400 GOSUB 310
  60. 410 PRINT@160,"CLOTHING - THIS IS ESPECIALLY IMPORTANT FOR THE COLD WEATHER YOU WILL ENCOUNTER WHEN CROSSING THE MOUNTAINS."
  61. 430 GOSUB 310
  62. 440 PRINT@160,"MISCELLANEOUS SUPPLIES - THIS INCLUDES MEDICINE AND OTHER THINGS YOU WILL NEED FOR SICKNESS AND EMERGENCY REPAIRS."
  63. 460 GOSUB 310
  64. 470 PRINT@128,"YOU CAN SPEND ALL OF YOUR MONEY BEFORE YOU START YOUR TRIP"
  65. 480 PRINT"OR YOU CAN SAVE SOME OF YOUR CASH TO SPEND AT FORTS ALONG THE";
  66. 490 PRINT"WAY WHEN YOU RUN LOW ON FOOD ANDOTHER SUPPLIES."
  67. 500 GOSUB 310:PRINT@128,"HOWEVER, ITEMS COST MORE AT THE FORTS. YOU CAN ALSO GO HUNTING"
  68. 510 PRINT"ALONG THE WAY TO GET MORE FOOD. WHENEVER YOU HAVE TO USE YOUR"
  69. 520 PRINT"TRUSTY RIFLE, YOU WILL BE TOLD TO TYPE IN A WORD THAT SOUNDS LIKE A GUNSHOT.":GOSUB 310
  70. 530 PRINT@128,"THE FASTER YOU TYPE IN THE WORD AND PRESS THE <ENTER> , THE ";
  71. 540 PRINT" BETTER CHANCE YOU WILL HAVE OF HITTING YOUR TARGET."
  72. 550 GOSUB 320:PRINT@128,"AT EACH TURN, ALL ITEMS ARE SHOWN IN DOLLAR AMOUNTS EXCEPT BULLETS. WHEN YOU ARE ASKED TO ENTER DOLLAR AMOUNTS, DON'T USE THE '$'.":GOSUB 310
  73. 560 CLS:PRINTTAB(8) "-----------------":FORD=1TO14:PRINTTAB(8)"G O O D L U C K":FORDD=1TO25:NEXTDD,D:FORDD=1TO500:NEXTDD
  74. 570 CLS:PRINT"HOW GOOD A SHOT ARE YOU WITH YOUR RIFLE?"
  75. 580 PRINT" 1 - ACE MARKSMAN"
  76. 590 PRINT" 2 - GOOD SHOT"
  77. 600 PRINT" 3 - FAIRLY FAIR"
  78. 610 PRINT" 4 - NEED PRACTICE"
  79. 620 PRINT" 5 - SHAKY KNEES"
  80. 630 PRINT:PRINT"ENTER ONE OF THE ABOVE -- THE BETTER YOU CLAIM YOU ARE, THE FASTER YOU'LL HAVE TO BE WITH YOUR GUN TO BE SUCCESSFUL."
  81. 660 D8=0:D9=0:PRINT@416,"";CHR$(31);:INPUT"WELL, HOW GOOD A SHOT ARE YOU (1 TO 5)";D8$:D8=VAL(D8$)
  82. 670 IF D8<1 OR D8>5 GOTO 660
  83. 690 X1=-1:T=700
  84. 700 K8=0:S4=0:F1=0:F2=0:M=0:M9=0:D3=0
  85. 710 CLS
  86. 720 PRINT@0,"HOW MUCH DO YOU WANT TO SPEND ONYOUR ";
  87. 730 INPUT"OXEN TEAM ($200-$300)";IN$
  88. 740 IF VAL(IN$)>199 AND VAL(IN$)<301 THEN 760
  89. 750 PRINT" !!!!! NOT POSSIBLE !!!!!!!":GOSUB 310 :GOTO720
  90. 760 A=INT(VAL(IN$)):P=A:GOSUB880
  91. 770 M$="FOOD":GOSUB820 :F=P
  92. 780 M$="AMMUNITIONS? ($1 = 50 BULLETS)":GOSUB820 :B=P
  93. 790 M$="CLOTHING":GOSUB 820 :C=P
  94. 800 M$="MISCELLANEOUS SUPPLIES":Q0=1:GOSUB820 :M1=P
  95. 810 GOTO 900
  96. 820 P$="":PRINT@0,"HOW MUCH DO YOU WANT TO SPEND ON";M$;CHR$(31);:INPUT P$
  97. 830 P=VAL(P$):IF T-P>0 AND P>-1 THEN 850
  98. 840 PRINT"IMPOSSIBLE!!!!!!":GOSUB 310 :GOTO 820
  99. 850 GOSUB 880
  100. 860 IF M1<0 THEN 3860
  101. 870 RETURN
  102. 880 T=T-P:IFQ0=1THENRETURNELSECLS:PRINT"YOU HAVE";T;"DOLLARS LEFT.":GOSUB 310
  103. 890 RETURN
  104. 900 B=B*50
  105. 910 CLS:PRINT"AFTER ALL YOUR PURCHASES, YOU HAVE $";T;"DOLLARS LEFT."
  106. 920 PRINT"MONDAY, MARCH 29, 1847":GOSUB 310
  107. 930 GOTO 1100
  108. 940 IF M>=2040 THEN 4140
  109. 950 IF F<0 THEN 3810
  110. 960 IF B<0 THEN B=0
  111. 970 IF C<0 THEN C=0
  112. 980 IF M1<0 THEN M1=0
  113. 990 IF T<0 THEN T=0
  114. 1000 D3=D3+1
  115. 1010 CLS:PRINT@0,ER$;:PRINT@0,"";
  116. 1020 PRINT"MONDAY, ";
  117. 1030 IF D3=18 THEN 1060
  118. 1040 PRINT D$(D3);", 1847"
  119. 1050 GOTO 1100
  120. 1060 PRINT"YOU HAVE BEEN ON THE TRAIL TOO LONG."
  121. 1070 PRINT"---------YOUR FAMILY DIES IN THE";
  122. 1080 PRINT"FIRST BLIZZARD OF WINTER."
  123. 1090 GOTO 3920
  124. 1100 IF F>=13 THEN 1120
  125. 1110 PRINT@64,"YOU'D BETTER DO SOME HUNTING OR BUY FOOD, AND SOON!"
  126. 1120 F=INT(F):B=INT(B):C=INT(C):M1=INT(M1):T=INT(T):M=INT(M)
  127. 1130 M2=M
  128. 1140 IF S4=1 OR K8=1 THEN 1160
  129. 1150 GOTO1190
  130. 1160 T=T-20:IF T<0 THEN 3830
  131. 1170 PRINT"THE DOCTOR BILL WAS $20."
  132. 1180 K8=0:S4=0
  133. 1190 PRINT@256," YOU HAVE ";T;"DOLLARS LEFT.";:GOSUB 310:CLS
  134. 1200 REM
  135. 1210 GOSUB 5530:X=0:PRINT@352,TAB(8);"DO YOU WANT TO 1) HUNT 2) CONTINUE"
  136. 1220 IF X1=1THENA2=1:PRINT@192-128+30,FT$;:PRINT@448,TAB(8);"3) STOP AT NEXT FORT";
  137. 1230 X$=INKEY$:IFX$=""THEN GOTO 1230 ELSE X=VAL(X$)
  138. 1240 IF X<1 THEN 1230
  139. 1250 IF X>3 THEN 1230
  140. 1260 IF X<>0 OR B>39 THEN GOSUB 310:GOTO1290
  141. 1270 PRINT"TOUGH --- YOU NEED MORE BULLETS TO GO HUNTING."
  142. 1280 GOTO 1210
  143. 1290 PRINT@94+192,CL$;:PRINT@0,ER$;:X1=-X1
  144. 1300 ON X GOTO 1550 ,1690 ,1310
  145. 1310 IFA2<>1THENX1=0:GOTO1210 ELSEPRINT@0,ER$;:CLS:PRINT@0,"";:PRINT"HOW MUCH DO YOU WISH TO SPEND ONTHE FOLLOWING: ";
  146. 1320 GOTO 1410
  147. 1330 P$="":INPUT P$:IF P$="" THEN 1400 ELSE P=VAL(P$):IFP<0 THEN 1400
  148. 1340 T=T-P
  149. 1350 IF T>-1 THEN 1400
  150. 1360 PRINT"YOU DO NOT HAVE THAT MUCH MONEY."
  151. 1370 PRINT"KEEP YOUR SPENDING DOWN.":PRINT@0,ER$;:PRINT@0,"";
  152. 1380 T=T+P
  153. 1390 P=0
  154. 1400 RETURN
  155. 1410 PRINT"FOOD";
  156. 1420 GOSUB 1330
  157. 1430 F=F+2/3*P
  158. 1440 PRINT"AMMUNITION";
  159. 1450 GOSUB 1330
  160. 1460 B=INT(B+2/3*P*50)
  161. 1470 PRINT"CLOTHING";
  162. 1480 GOSUB 1330
  163. 1490 C=C+2/3*P
  164. 1500 PRINT"MISC. SUPPLIES";
  165. 1510 GOSUB 1330
  166. 1520 M1=M1+2/3*P
  167. 1530 M=M-45
  168. 1540 GOTO 1690
  169. 1550 M=M-45
  170. 1560 A1=1:GOSUB 4740 :CLS
  171. 1570 IF B1<=2 THEN 1630
  172. 1580 IF RND(100)<13*B1 THEN 1680
  173. 1590 F=F+48-2*B1
  174. 1600 PRINT"NICE SHOT ---- RIGHT ON TARGET ---- GOOD EATING!!"
  175. 1610 B=B-10-3*B1
  176. 1620 GOTO 1670
  177. 1630 PRINT"RIGHT BETWEEN THE EYES -- YOU GOT A BIG ONE"
  178. 1640 PRINT"-- FULL BELLIES TONIGHT!!"
  179. 1650 F=F+52+RND(6)
  180. 1660 B=B-10-RND(4)
  181. 1670 GOSUB 310:GOTO 1690
  182. 1680 PRINT"YOU MISSED -- YOUR DINNER GOT AWAY!!":GOTO1670
  183. 1690 IF F>13 THEN 1710
  184. 1700 GOTO 3810
  185. 1710 CLS:PRINT@0,ER$;:PRINT@192,TAB(8);"DO YOU WANT TO EAT:"
  186. 1720 PRINTTAB(8)"1. POORLY"
  187. 1730 PRINTTAB(8)"2. MODERATELY "
  188. 1740 PRINTTAB(8)"3. WELL"
  189. 1750 PRINT@320,TAB(8)"";CHR$(30);:INPUT E$:IF E$="" THEN 1750 ELSE E=VAL(E$)
  190. 1760 IF E<1 THEN 1750
  191. 1770 IF E>3 THEN 1750
  192. 1780 E=INT(E)
  193. 1790 F=F-(8+5*E)
  194. 1800 IF F>0 THEN 1830
  195. 1810 F=F+(8+5*E)
  196. 1820 PRINT"YOU CAN'T EAT THAT WELL!!":GOSUB 310:GOTO 1710
  197. 1830 PRINT@0,ER$:PRINT@0,"";:M=M+200+(A-220)/5+INT(RND(10))
  198. 1840 L1=0:C1=0
  199. 1850 IF RND(10)>((M/100)^2+72)/((M/100-4)^2+12)-1 THEN 2340
  200. 1860 CLS:PRINT@0,ER$;:PRINT@0,"RIDERS AHEAD. THEY ";
  201. 1870 S5=0
  202. 1880 IF RND(10)>8 THEN 1900
  203. 1890 PRINT"DON'T "
  204. 1900 PRINT"LOOK HOSTLE.":PRINT"TACTICS:"
  205. 1910 PRINT"1. RUN "
  206. 1920 PRINT"2. ATTACK "
  207. 1930 PRINT"3. CONTINUE "
  208. 1940 PRINT"4. CIRCLE WAGONS "
  209. 1950 IF RND(10)<2 THEN S5=1-S5
  210. 1960 IN$=INKEY$:IF IN$="" THEN 1960
  211. 1970 PRINT@0,ER$;:PRINT@0,"";:IF VAL(IN$)<0 OR VAL(IN$)>4 THEN 1960
  212. 1975 GOSUB 310
  213. 1980 T1=VAL(IN$)
  214. 1990 T1=INT(T1)
  215. 2000 IF S5=1 THEN 2170
  216. 2010 IF T1>1 THEN 2030
  217. 2020 M=M+20:M1=M1-15:B=B-150:GOTO2270
  218. 2030 A=A-40:IF T1>2 THEN 2120
  219. 2040 A1=2:GOSUB 4730 :CLS
  220. 2050 B=B-B1*40-80
  221. 2060 IF B1>1.5 THEN 2080
  222. 2070 PRINT"NICE SHOOTING -- YOU DROVE THEM OFF!!":GOTO 2270
  223. 2080 IF B1<=4 THEN 2110
  224. 2090 PRINT"LOUSY SHOT -- YOU GOT KNIFED!!":K8=1
  225. 2100 PRINT"YOU'LL HAVE TO GO SEE OL' DOC BLANCHARD.":GOTO 2270
  226. 2110 PRINT"KINDA SLOW WITH YOUR COLT .44!!":GOTO 2270
  227. 2120 IF T1>3 THEN 2150
  228. 2130 IF RND(10)>8 THEN 2250
  229. 2140 B=B-150:M1=M1-15:GOTO 2270
  230. 2150 M=M-50:GOTO2340
  231. 2160 B=B-B1*30-80:M=M-25:GOTO 2060
  232. 2170 IF T1>1 THEN 2190
  233. 2180 M=M+15:A=A-10:GOTO 2270
  234. 2190 IF T1>2 THEN 2210
  235. 2200 B=B-100:M=M-5:GOTO 2270
  236. 2210 IF T1>3 THEN 2230
  237. 2220 GOTO 2270
  238. 2230 M=M-20
  239. 2240 GOTO 2270
  240. 2250 CLS:PRINT"THEY DID NOT ATTACK!!"
  241. 2260 GOTO 2320
  242. 2270 IF S5=0 THEN 2290
  243. 2280 CLS:PRINT"THE RIDERS WERE FRIENDLY, BUT CHECK FOR POSSIBLE LOSSES.":GOTO 2320
  244. 2290 CLS:PRINT"THE RIDERS WERE HOSTILE --> CHECK FOR LOSSES!!"
  245. 2320 GOSUB 310
  246. 2330 REM
  247. 2340 D1=0
  248. 2350 RESTORE
  249. 2360 R1=RND(100)
  250. 2370 D1=D1+1
  251. 2380 PRINT@0,ER$;:PRINT@0,"";:IF D1=16 THEN 3410
  252. 2390 READ D
  253. 2400 IF R1>D THEN 2370
  254. 2410 IF D1>10 THEN 2430
  255. 2420 CLS:ON D1 GOTO 2440 ,2480 ,2510 ,2550 ,2580 ,2640 ,2710 ,2880 ,2940
  256. 2430 CLS:ON D1-10 GOTO 2970 ,3050 ,3100 ,3300 ,3350 ,3410 ,3460
  257. 2440 PRINT"WAGON BREAKS DOWN -- YOU LOSE TIME AND SUPPLIES FIXING IT."
  258. 2450 M=M-15-5*RND(1)
  259. 2460 M1=M1-8
  260. 2470 GOTO 3430
  261. 2480 PRINT"AN OX HURTS ITS LEG AND SLOWS YOU DOWN THE REST OF THE WAY."
  262. 2490 M=M-25:A=A-20
  263. 2500 GOTO 3430
  264. 2510 PRINT"BAD LUCK -- YOUR DAUGHTER BROKE HER ARM. YOU HAD TO STOP AND USE SUPPLIES TO MAKE A SLING."
  265. 2520 M=M-5-4*RND(1)
  266. 2530 M1=M1-2-3*RND(1)
  267. 2540 GOTO 3430
  268. 2550 PRINT"AN OX WANDERS OFF AND YOU SPEND TIME LOOKING FOR IT."
  269. 2560 M=M-17
  270. 2570 GOTO 3430
  271. 2580 PRINT"YOUR SON GETS LOST - YOU SPEND HALF THE DAY LOOKING FOR HIM.
  272. 2590 M=M-10
  273. 2600 GOTO 3430
  274. 2610 PRINT"UNSAFE WATER -- LOSE TIME LOOKING FOR A CLEAN SPRING."
  275. 2620 M=M-10*RND(1)-2
  276. 2630 GOTO 3430
  277. 2640 IF M>950 THEN 3230
  278. 2650 PRINT"HEAVY RAINS -- TIME AND SUPPLIESLOST."
  279. 2660 F=F-10
  280. 2670 B=B-500
  281. 2680 M1=M1-15
  282. 2690 M=M-10*RND(1)-5
  283. 2700 GOTO 3430
  284. 2710 PRINT"BANDITS ARE ATTACKING!!":FORZZ=1TO1000:NEXT
  285. 2720 GOSUB 4740
  286. 2730 B=B-20*B1
  287. 2740 IF B>=0 THEN 2780
  288. 2750 PRINT"YOU RAN OUT OF BULLETS AND THEY GOT A LOT OF YOUR CASH."
  289. 2760 T=INT((T/3*100)/100):PRINT"YOU NOW HAVE $";T
  290. 2770 GOTO 2790
  291. 2780 IF B1<1.5 THEN 2850
  292. 2790 PRINT"YOU GOT SHOT IN THE LEG -- AND THEY TOOK SOME OF YOUR SUPPLIES."
  293. 2800 K8=K8-1
  294. 2810 PRINT"YOU'D BETTER ASK DOC TO LOOK AT YOUR WOUND."
  295. 2820 M1=M1-5
  296. 2830 A=A-20
  297. 2840 GOTO 3430
  298. 2850 PRINT"QUICKEST DRAW OUTSIDE OF DODGE CITY!!!!"
  299. 2860 PRINT"----- YOU GOT 'EM-----"
  300. 2870 GOTO 3430
  301. 2880 PRINT"THERE WAS A FIRE IN YOUR WAGON FOOD AND SUPPLIES DAMAGED."
  302. 2890 F=F-40
  303. 2900 B=B-400
  304. 2910 M1=M1-RND(1)*8-3
  305. 2920 M=M-15
  306. 2930 PRINT@0,ER$;:PRINT@0,"";:GOTO 3430
  307. 2940 PRINT"LOSE YOUR WAY IN HEAVY FOG -- TIME IS LOST."
  308. 2950 M=M-10-5*RND(1)
  309. 2960 GOTO 3430
  310. 2970 PRINT@0,"YOU KILL A -- RATTLESNAKE!!"
  311. 2980 GOSUB 310
  312. 2990 PRINT@32,"AFTER IT BIT YOU!!"
  313. 3000 B=B-10
  314. 3010 M1=M1-5
  315. 3020 IF M1>0 THEN 3040
  316. 3030 GOSUB 310:CLS:PRINT"YOU DIE OF SNAKE-BITE SINCE YOU HAVE NO MEDICINE.":GOTO 3920
  317. 3040 GOTO 3430
  318. 3050 PRINT"THE WAGON GETS SWAMPED FORDING ARIVER -- LOSE FOOD AND CLOTHES."
  319. 3060 F=F-30
  320. 3070 C=C-20
  321. 3080 M=M-20-20*RND(1)
  322. 3090 PRINT@128,"";:GOTO 3430
  323. 3100 PRINT"WILD ANIMALS ARE ATTACKING!!"
  324. 3110 IF B>39 THEN 3150
  325. 3120 PRINT@0,"YOU WERE TOO LOW ON BULLETS -- THE WOLVES OVERPOWERED YOU.":GOSUB 310
  326. 3130 K8=K8-1
  327. 3140 GOTO 3870
  328. 3150 GOSUB 310:GOSUB 4740:IF B1>2 THEN 3180
  329. 3160 PRINT"NICE SHOOTING -- THEY DIDN'T GETMUCH."
  330. 3170 GOTO 3190
  331. 3180 PRINT"SLOW ON THE DRAW -- THEY GOT AT YOUR FOOD AND CLOTHES."
  332. 3190 B=B-20*B1
  333. 3200 C=C-4*B1
  334. 3210 F=F-8*B1
  335. 3220 GOTO 3430
  336. 3230 PRINT"COLD WEATHER -- BRRRR!!!!"
  337. 3240 IF C>22+4*RND(1) THEN 3270
  338. 3250 PRINT"YOU DON'T HAVE ENOUGH CLOTHING TO KEEP YOU WARM."
  339. 3260 C1=1
  340. 3270 PRINT:PRINT"YOU HAVE ENOUGH CLOTHING TO KEEPYOU WARM."
  341. 3280 IF C1=0 THEN 3430
  342. 3290 GOTO 4960
  343. 3300 PRINT"HAIL STORM -- SUPPLIES DAMAGED."
  344. 3310 M=M-5-RND(1)*10
  345. 3320 B=B-200
  346. 3330 M1=M1-4-RND(1)*3
  347. 3340 GOTO 3430
  348. 3350 IF E=1 THEN 4960
  349. 3360 IF E=3 THEN 3390
  350. 3370 IF RND(100)>25 THEN 4960 ;
  351. 3380 GOTO 3460
  352. 3390 IF RND(10)<5 THEN 4960
  353. 3400 GOTO 3460
  354. 3410 CLS:PRINT"HELPFUL INDIANS SHOW YOU WHERE TO FIND MORE FOOD."
  355. 3420 F=F+14
  356. 3430 REM
  357. 3440 GOSUB 310
  358. 3450 REM
  359. 3460 REM
  360. 3470 IF M<=950 THEN 940
  361. 3480 IF RND(1)*10>9-((M/100-15)^2+12) THEN 3620
  362. 3490 PRINT"RUGGED MOUNTAINS!!"
  363. 3500 IF RND(100)>11 THEN 3540
  364. 3510 PRINT"YOU GET LOST -- LOSE TIME LOOKING FOR TRAIL."
  365. 3520 M=M-60
  366. 3530 GOTO 3620
  367. 3540 IF RND(100)>11 THEN 3600
  368. 3550 PRINT"WAGONS DAMAGED!! LOSE TIME AND SUPPLIES."
  369. 3560 M1=M1-5
  370. 3570 B=B-200
  371. 3580 M=M-20-RND(1)*30
  372. 3590 GOTO 3620
  373. 3600 PRINT"THE GOING GETS SLOW."
  374. 3610 M=M-45-RND(1)/.2
  375. 3620 IF F1=1 THEN 3660
  376. 3630 F1=1
  377. 3640 IF RND(10)<8 THEN 3730
  378. 3650 CLS:PRINT"YOU MADE IT THROUGH THE SOUTH PASS (NO SNOW).":GOTO5210
  379. 3660 IF M<1700 THEN 3700
  380. 3670 IF F2=1 THEN 3700
  381. 3680 F2=1
  382. 3690 IF RND(10)<7 THEN 3730
  383. 3700 IF M>950 THEN GOTO940
  384. 3710 M9=1
  385. 3720 GOTO 5210
  386. 3730 CLS:PRINT"BLIZZARD IN MOUNTAIN PASS -- LOSE TIME AND SUPPLIES."
  387. 3740 L1=1
  388. 3745 GOSUB 310
  389. 3750 F=F-25
  390. 3760 M1=M1-10
  391. 3770 B=B-300
  392. 3780 M=M-30-40*RND(1)
  393. 3790 IF C<18+2*RND(1) THEN 4960
  394. 3800 GOTO 3700
  395. 3810 CLS:PRINT"YOU HAVE RUN OUT OF FOOD AND STARVED TO DEATH."
  396. 3820 GOTO 3920
  397. 3830 T=0
  398. 3840 PRINT"YOU CAN'T AFFORD A DOCTOR."
  399. 3850 GOTO 3870
  400. 3860 CLS:PRINT"YOU RAN OUT OF MEDICAL SUPPLIES."
  401. 3870 PRINT"YOU DIED OF ";
  402. 3880 IF K8=1 THEN 3910
  403. 3890 PRINT"PNEUMONIA."
  404. 3900 GOTO 3920
  405. 3910 PRINT"INJURIES."
  406. 3920 PRINT
  407. 3930 PRINT"DUE TO YOUR UNFORTUNATE SITUATION, THERE ARE A FEW"
  408. 3940 PRINT"FORMALITIES WE MUST GO THROUGH."
  409. 3950 INPUT"WOULD YOU LIKE A MINISTER (Y OR N) THEN PRESS 'ENTER'";Y1$
  410. 3960 IFLEFT$(Y1$,1)="Y" THEN PRINT:GOTO 3990
  411. 3970 IFLEFT$(Y1$,1)<>"N" THEN 3950
  412. 3980 GOTO 4010
  413. 3990 PRINT@320,"";CHR$(31);:INPUT"WOULD YOU LIKE A FANCY FUNERAL (Y OR N)";IN$
  414. 4000 IFLEFT$(IN$,1)<>"N" ANDLEFT$(IN$,1)<>"Y" THEN 3990
  415. 4010 PRINT"WOULD YOU LIKE US TO NOTIFY YOURNEXT OF KIN (Y OR N)?"
  416. 4020 INPUT IN$
  417. 4030 IF LEFT$(IN$,1)="Y" THEN PRINT:GOTO 4070
  418. 4040 IF LEFT$(IN$,1)<>"N" THEN 4020
  419. 4050 PRINT:CLS:PRINT"BUT YOUR AUNT SADIE IS WORRIED ABOUT YOU!!!"
  420. 4060 GOTO 4080
  421. 4070 CLS:PRINT"THAT WILL BE $4.50 FOR THE TELEGRAPH CHARGE."
  422. 4080 PRINT:PRINT:PRINT"WE THANK YOU FOR THIS INFORMATION AND WE ARE SORRY YOU";
  423. 4090 PRINT"DIDN'T MAKE IT TO THIS GREAT TERRITORY OF OREGON. BETTER LUCKNEXT TIME.
  424. 4110 PRINT TAB(15);"SINCERELY,"
  425. 4120 PRINT:PRINT"THE OREGON CITY CHAMBER OF COMMERCE"
  426. 4130 GOTO 5130
  427. 4140 F9=(2040-M2)/(M-M2)
  428. 4150 F=F+(1-F9)*(8+5*E)
  429. 4160 PRINT
  430. 4170 CLS:PRINT"YOU FINALLY ARRIVED AT OREGON CITY AFTER"
  431. 4180 PRINT"AFTER 2040 LONG MILES"
  432. 4200 PRINT"-------- HOORAY!!"
  433. 4210 PRINT:PRINT:PRINT"A REAL PIONEER!!"
  434. 4220 PRINT
  435. 4230 F9=INT(F9*14)
  436. 4240 D3=D3*14+F9
  437. 4250 F9=F9+1
  438. 4260 IF F9<8 THEN 4280
  439. 4270 F9=F9-7
  440. 4280 PRINT"PRESS <ENTER> TO CONTINUE."
  441. 4290 I1$=INKEY$:IFI1$<>CHR$(13)THEN4290
  442. 4300 CLS
  443. 4310 REM
  444. 4320 DATA MONDAY,TUESDAY,WEDNEDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
  445. 4330 GOTO 4450
  446. 4450 IF D3>124 THEN 4490
  447. 4460 D3=D3-93
  448. 4470 PRINT"JULY";D3;"1847"
  449. 4480 GOTO 4670
  450. 4490 IF D3>155 THEN 4530
  451. 4500 D3=D3-124
  452. 4510 PRINT"AUGUST";D3;"1847"
  453. 4520 GOTO 4670
  454. 4530 IF D3>185 THEN 4570
  455. 4540 D3=D3-155
  456. 4550 PRINT"SEPTEMBER";D3;"1847"
  457. 4560 GOTO 4670
  458. 4570 IF D3>216 THEN 4610
  459. 4580 D3=D3-185
  460. 4590 PRINT"OCTOBER";D3;"1847"
  461. 4600 GOTO 4670
  462. 4610 IF D3>246 THEN 4650
  463. 4620 D3=D3-216
  464. 4630 PRINT"NOVEMBER";D3;"1847"
  465. 4640 GOTO 4670
  466. 4650 D3=D3-246
  467. 4660 PRINT"DECEMBER";D3;"1847"
  468. 4670 REM
  469. 4680 PRINT:PRINT
  470. 4690 PRINT"PRESIDENT POLK SENDS YOU HIS HEARTIEST CONGRATULATIONS AND WISHES YOU A PROSPEROUS LIFE AHEAD IN YOUR NEW HOME."
  471. 4720 GOTO 5130
  472. 4730 REM
  473. 4740 CLS:PRINT@0,"PRESS <ENTER> TO START SHOOTING."
  474. 4750 INPUT Y$:PRINT@0,ER$;:PRINT@0,"";:IFA1=1THENGOSUB5540
  475. 4760 S$(1)="BANG"
  476. 4770 S$(2)="BLAM"
  477. 4780 S$(3)="SHOT"
  478. 4790 S$(4)="WHAM"
  479. 4800 S=INT(RND(4)+.5)
  480. 4810 PRINT@0,"TO SHOOT, TYPE ";CHR$(34);S$(S);CHR$(34);
  481. 4820 PRINT" AND PRESS <ENTER>.";
  482. 4830 B1=0
  483. 4840 VV=0:XX=0:S$=""
  484. 4850 IN$=INKEY$:IF IN$=""THEN 4870
  485. 4860 XX=ASC(IN$):IF XX=13 THEN 4890
  486. 4870 B1=B1+1:IF IN$="" THEN 4850
  487. 4880 VV=VV+1:S$=S$+IN$:IFA1=1THENGOSUB5550 :GOTO4850 ELSEGOTO4850
  488. 4890 IF VV<3 OR S$<>S$(S) THEN PRINT"TRY AGAIN ";:GOTO 4840
  489. 4900 B1=B1*.03003003
  490. 4910 D9=D9-1
  491. 4920 B1=B1-(D9*.05)
  492. 4930 D9=D9+1
  493. 4940 PRINT:PRINT
  494. 4950 IFA1=1THENRETURNELSEPRINT@0,ER$;:PRINT@0,"";:RETURN
  495. 4960 IF 100*RND(1)<10+35*(E-1)THEN 5030
  496. 4970 IF 100*RND(1)<100-(40/4^(E-1))THEN 5070
  497. 4980 PRINT"SERIOUS ILLNESS --"
  498. 4990 PRINT:PRINT"YOU MUST STOP FOR MEDICAL ATTENTION."
  499. 5000 M1=M1-10
  500. 5010 S4=1
  501. 5020 GOTO 5100
  502. 5030 PRINT"MILD ILLNESS -- YOUR MEDICINE CURED YOU."
  503. 5040 M1=M1-5
  504. 5050 M=M-5
  505. 5060 GOTO 5100
  506. 5070 PRINT"BAD ILLNESS -- YOU USED YOUR MEDICINE"
  507. 5080 M=M-5
  508. 5090 M1=M1-2
  509. 5100 IF M1<0 THEN 3860
  510. 5110 IF L1=1 THEN 3700
  511. 5120 GOTO 3430
  512. 5130 PRINT"PRESS <ENTER> TO CONTINUE."
  513. 5140 IN$=INKEY$:IF IN$="" THEN 5140
  514. 5150 IF ASC(IN$)<>13 THEN 5140
  515. 5160 CLS:PRINT"ARE THERE ANY MORE PIONEERS WAITING TO ";
  516. 5170 INPUT"MAKE THE JOURNEY (TYPE Y OR N)";G$
  517. 5180 IF LEFT$(G$,1)="Y" THEN RUN
  518. 5190 GOTO 5200
  519. 5200 CLS:END
  520. 5210 GOSUB 310:GOTO940
  521. 5220 RETURN
  522. 5490 PRINT@288,TAB(8);"MILES TO GO:";2040-M;:RETURN
  523. 5500 RETURN
  524. 5510 IFM>960THENGOTO5520 ELSEPRINT@390-64,TR$;:PRINT@527-64,BS$;:RETURN
  525. 5520 PRINT@510+5,M2$;:PRINT@509+19,M2$;:RETURN
  526. 5530 AA$="O R E G O N T R A I L":PRINT@16-(LEN(AA$)/2),AA$;:PRINT@128,"";:AA=8:PRINTTAB(AA)"MONEY :";T:PRINTTAB(AA)"FOOD :";INT(F):PRINTTAB(AA)"CLOTHING : ";INT(C):PRINTTAB(AA)"AMMO :";INT(B):PRINT TAB(AA)"MISC. SUPPLIES :";INT(M1);:GOSUB 5490:RETURN
  527. 5540 CLS:RETURN
  528. 5550 RETURN
Add Comment
Please, Sign In to add comment