| |
1 | REM PROGRAM NAME - OREGON VERSION: 01/01/78 |
| |
2 | REM ORIGINAL PROGRAMMING BY BILL HEINEMANN - 1971 |
| |
3 | REM SUPPORT RESEARCH AND MATERIALS BY DON RAWITSCH, |
1 | REM MINNESOTA EDUCATIONAL COMPUTING CONSORTIUM STAFF |
4 | REM MINNESOTA EDUCATIONAL COMPUTING CONSORTIUM STAFF |
2 | REM PROGRAMMING REVISIONS BY DON RAWITSCH - 1975 |
5 | REM CDC CYBER 70/73-26 BASIC 3.1 |
3 | REM CURRENT VERSION - 3/27/75 |
6 | REM DOCUMENTATION BOOKLET 'OREGON' AVAILABLE FROM |
4 | REM HP-2100 TIMESHARING BASIC |
7 | REM MECC SUPPORT SERVICES |
5 | REM **FOR THE MEANING OF THE VARIABLES USED, LIST LINES 4900-4960** |
8 | REM 2520 BROADWAY DRIVE |
6 | PRINT "DO YOU NEED INSTRUCTIONS (YES/NO)"; |
9 | REM ST. PAUL, MN 55113 |
7 | DIM C$[5] |
10 | REM |
5 | REM **FOR THE MEANING OF THE VARIABLES USED, LIST LINES 4900-4960** |
11 | REM *FOR THE MEANING OF THE VARIABLES USED, LIST LINES 6470-6790* |
| |
12 | REM |
| |
13 | PRINT "DO YOU NEED INSTRUCTIONS (YES/NO)" |
| |
14 | DIM C$ (5) |
| |
15 | REM RANDOMIZE REMOVED |
8 | INPUT C$ |
16 | INPUT C$ |
9 | IF C$="NO" THEN 400 |
17 | IF C$="NO" THEN 690 |
10 | PRINT LIN(2) |
18 | PRINT |
| |
19 | PRINT |
11 | REM ***INSTRUCTIONS*** |
20 | REM ***INSTRUCTIONS*** |
12 | PRINT "THIS PROGRAM SIMULATES A TRIP OVER THE OREGON TRAIL FROM" |
21 | PRINT "THIS PROGRAM SIMULATES A TRIP OVER THE OREGON TRAIL FROM" |
13 | PRINT "INDEPENDENCE, MISSOURI TO OREGON CITY, OREGON IN 1847." |
22 | PRINT "INDEPENDENCE MISSOURI TO OREGON CITY, OREGON IN 1847." |
14 | PRINT "YOUR FAMILY OF FIVE WILL COVER THE 2000 MILE OREGON TRAIL" |
23 | PRINT "YOUR FAMILY OF FIVE WILL COVER THE 2040 MILE OREGON TRAIL" |
15 | PRINT "IN 5-6 MONTHS --- IF YOU MAKE IT ALIVE." |
24 | PRINT "IN 5-6 MONTHS --- IF YOU MAKE IT ALIVE." |
16 | PRINT |
25 | PRINT |
17 | PRINT "YOU HAD SAVED $900 TO SPEND FOR THE TRIP, AND YOU'VE JUST" |
26 | PRINT "YOU HAD SAVED $900 TO SPEND FOR THE TRIP, AND YOU'VE JUST" |
18 | PRINT " PAID $200 FOR A WAGON." |
27 | PRINT " PAID $200 FOR A WAGON." |
19 | PRINT "YOU WILL NEED TO SPEND THE REST OF YOUR MONEY ON THE" |
28 | PRINT "YOU WILL NEED TO SPEND THE REST OF YOUR MONEY ON THE" |
20 | PRINT " FOLLOWING ITEMS:" |
29 | PRINT " FOLLOWING ITEMS:" |
21 | PRINT |
30 | PRINT |
22 | PRINT " OXEN - YOU CAN SPEND $200-$300 ON YOUR TEAM" |
31 | PRINT " OXEN - YOU CAN SPEND $200-$300 ON YOUR TEAM" |
23 | PRINT " THE MORE YOU SPEND, THE FASTER YOU'LL GO" |
32 | PRINT " THE MORE YOU SPEND, THE FASTER YOU'LL GO" |
24 | PRINT " BECAUSE YOU'LL HAVE BETTER ANIMALS" |
33 | PRINT " BECAUSE YOU'LL HAVE BETTER ANIMALS" |
25 | PRINT |
34 | PRINT |
26 | PRINT " FOOD - THE MORE YOU HAVE, THE LESS CHANCE THERE" |
35 | PRINT " FOOD - THE MORE YOU HAVE, THE LESS CHANCE THERE" |
27 | PRINT " IS OF GETTING SICK" |
36 | PRINT " IS OF GETTING SICK" |
28 | PRINT |
37 | PRINT |
29 | PRINT " AMMUNITION - $1 BUYS A BELT OF 50 BULLETS" |
38 | PRINT " AMMUNITION - $1 BUYS A BELT OF 50 BULLETS" |
30 | PRINT " YOU WILL NEED BULLETS FOR ATTACKS BY ANIMALS" |
39 | PRINT " YOU WILL NEED BULLETS FOR ATTACKS BY ANIMALS" |
31 | PRINT " AND BANDITS, AND FOR HUNTING FOOD" |
40 | PRINT " AND BANDITS, AND FOR HUNTING FOOD" |
32 | PRINT |
41 | PRINT |
33 | PRINT " CLOTHING - THIS IS ESPECIALLY IMPORTANT FOR THE COLD" |
42 | PRINT " CLOTHING - THIS IS ESPECIALLY IMPORTANT FOR THE COLD" |
34 | PRINT " WEATHER YOU WILL ENCOUNTER WHEN CROSSING" |
43 | PRINT " WEATHER YOU WILL ENCOUNTER WHEN CROSSING" |
35 | PRINT " THE MOUNTAINS" |
44 | PRINT " THE MOUNTAINS" |
36 | PRINT |
45 | PRINT |
37 | PRINT " MISCELLANEOUS SUPPLIES - THIS INCLUDES MEDICINE AND" |
46 | PRINT " MISCELLANEOUS SUPPLIES - THIS INCLUDES MEDICINE AND" |
38 | PRINT " OTHER THINGS YOU WILL NEED FOR SICKNESS" |
47 | PRINT " OTHER THINGS YOU WILL NEED FOR SICKNESS" |
39 | PRINT " AND EMERGENCY REPAIRS" |
48 | PRINT " AND EMERGENCY REPAIRS" |
40 | PRINT LIN(2) |
49 | PRINT |
| |
50 | PRINT |
41 | PRINT "YOU CAN SPEND ALL YOUR MONEY BEFORE YOU START YOUR TRIP -" |
51 | PRINT "YOU CAN SPEND ALL YOUR MONEY BEFORE YOU START YOUR TRIP -" |
42 | PRINT "OR YOU CAN SAVE SOME OF YOUR CASH TO SPEND AT FORTS ALONG" |
52 | PRINT "OR YOU CAN SAVE SOME OF YOUR CASH TO SPEND AT FORTS ALONG" |
43 | PRINT "THE WAY WHEN YOU RUN LOW. HOWEVER, ITEMS COST MORE AT" |
53 | PRINT "THE WAY WHEN YOU RUN LOW. HOWEVER, ITEMS COST MORE AT" |
44 | PRINT "THE FORTS. YOU CAN ALSO GO HUNTING ALONG THE WAY TO GET" |
54 | PRINT "THE FORTS. YOU CAN ALSO GO HUNTING ALONG THE WAY TO GET" |
45 | PRINT "MORE FOOD." |
55 | PRINT "MORE FOOD." |
46 | PRINT "WHENEVER YOU HAVE TO USE YOUR TRUSTY RIFLE ALONG THE WAY," |
56 | PRINT "WHENEVER YOU HAVE TO USE YOUR TRUSTY RIFLE ALONG THE WAY," |
47 | PRINT "YOU WILL SEE THE WORDS: TYPE BANG. THE FASTER YOU TYPE" |
57 | PRINT "YOU WILL BE TOLD TO TYPE IN A WORD (ONE THAT SOUNDS LIKE A" |
48 | PRINT "IN THE WORD 'BANG' AND HIT THE 'RETURN' KEY, THE BETTER" |
58 | PRINT "GUN SHOT). THE FASTER YOU TYPE IN THAT WORD AND HIT THE" |
49 | PRINT "LUCK YOU'LL HAVE WITH YOUR GUN." |
59 | PRINT "**RETURN** KEY, THE BETTER LUCK YOU'LL HAVE WITH YOUR GUN." |
50 | PRINT |
60 | PRINT |
51 | PRINT "WHEN ASKED TO ENTER MONEY AMOUNTS, DON'T USE A '$'." |
61 | PRINT "AT EACH TURN, ALL ITEMS ARE SHOWN IN DOLLAR AMOUNTS" |
| |
62 | PRINT "EXCEPT BULLETS" |
| |
63 | PRINT "WHEN ASKED TO ENTER MONEY AMOUNTS, DON'T USE A **$**." |
52 | PRINT |
64 | PRINT |
53 | PRINT "GOOD LUCK!!!" |
65 | PRINT "GOOD LUCK!!!" |
| |
66 | L690: PRINT |
| |
67 | PRINT |
| |
68 | PRINT "HOW GOOD A SHOT ARE YOU WITH YOUR RIFLE?" |
| |
69 | PRINT " (1) ACE MARKSMAN, (2) GOOD SHOT, (3) FAIR TO MIDDLIN'" |
| |
70 | PRINT " (4) NEED MORE PRACTICE, (5) SHAKY KNEES" |
| |
71 | PRINT "ENTER ONE OF THE ABOVE - THE BETTER YOU CLAIM YOU ARE, THE" |
| |
72 | PRINT "FASTER YOU'LL HAVE TO BE WITH YOUR GUN TO BE SUCCESSFUL." |
| |
73 | PRINT D9 |
| |
74 | IF D95 THEN 790 |
| |
75 | GOTO 810 |
| |
76 | L790: D9=0 |
54 | REM ***INITIAL PURCHASES*** |
77 | REM ***INITIAL PURCHASES*** |
55 | L400: X1=-1 |
78 | L810: X1*-1 |
56 | K8=S4=F1=F2=M=M9=D3=0 |
79 | K8*S4*F1*F2*M*M9*D3=0 |
57 | L410: PRINT LIN(2) |
80 | L830: PRINT |
58 | L415: PRINT "HOW MUCH DO YOU WANT TO SPEND ON YOUR OXEN TEAM"; |
81 | PRINT |
| |
82 | L850: PRINT "HOW MUCH DO YOU WANT TO SPEND ON YOUR OXEN TEAM"; |
59 | INPUT A |
83 | INPUT A |
60 | IF A >= 200 THEN 440 |
84 | IF A >= 200 THEN 900 |
61 | PRINT "NOT ENOUGH" |
85 | PRINT "NOT ENOUGH" |
62 | GOTO 415 |
86 | GOTO 850 |
63 | L440: IF A <= 300 THEN 455 |
87 | L900: IF A <= 300 THEN 930 |
64 | PRINT "TOO MUCH" |
88 | PRINT "TOO MUCH" |
65 | GOTO 415 |
89 | GOTO 850 |
66 | L455: PRINT "HOW MUCH DO YOU WANT TO SPEND ON FOOD"; |
90 | L930: PRINT "HOW MUCH DO YOU WANT TO SPEND ON FOOD"; |
67 | INPUT F |
91 | INPUT F |
68 | IF F >= 0 THEN 485 |
92 | IF F >= 0 THEN 980 |
69 | PRINT "IMPOSSIBLE" |
93 | PRINT "IMPOSSIBLE" |
70 | GOTO 455 |
94 | GOTO 930 |
71 | L485: PRINT "HOW MUCH DO YOU WANT TO SPEND ON AMMUNITION"; |
95 | L980: PRINT "HOW MUCH DO YOU WANT TO SPEND ON AMMUNITION"; |
72 | INPUT B |
96 | INPUT B |
73 | IF B >= 0 THEN 510 |
97 | IF B >= 0 THEN 1030 |
74 | PRINT "IMPOSSIBLE" |
98 | PRINT "IMPOSSIBLE" |
75 | GOTO 485 |
99 | GOTO 980 |
76 | L510: PRINT "HOW MUCH DO YOU WANT TO SPEND ON CLOTHING"; |
100 | L1030: PRINT "HOW MUCH DO YOU WANT TO SPEND ON CLOTHING"; |
77 | INPUT C |
101 | INPUT C |
78 | IF C >= 0 THEN 535 |
102 | IF C >= 0 THEN 1080 |
79 | PRINT "IMPOSSIBLE" |
103 | PRINT "IMPOSSIBLE" |
80 | GOTO 510 |
104 | GOTO 1030 |
81 | L535: PRINT "HOW MUCH DO YOU WANT TO SPEND ON MISCELANEOUS SUPPLIES"; |
105 | L1080: PRINT "HOW MUCH DO YOU WANT TO SPEND ON MISCELLANEOUS SUPPLIES"; |
82 | INPUT M1 |
106 | INPUT M1 |
83 | IF M1 >= 0 THEN 560 |
107 | IF M1 >= 0 THEN 1130 |
84 | PRINT "IMPOSSIBLE" |
108 | PRINT "IMPOSSIBLE" |
85 | GOTO 535 |
109 | GOTO 1080 |
86 | L560: T=700-A-F-B-C-M1 |
110 | L1130: T=700-A-F-B-C-M1 |
87 | IF T >= 0 THEN 580 |
111 | IF T >= 0 THEN 1170 |
88 | PRINT "YOU OVERSPENT--YOU ONLY HAD $700 TO SPEND. BUY AGAIN" |
112 | PRINT "YOU OVERSPENT-YOU ONLY HAD $700 TO SPEND. BUY AGAIN" |
89 | GOTO 410 |
113 | GOTO 830 |
90 | L580: B=50*B |
114 | L1170: B=50+B |
91 | PRINT "AFTER ALL YOUR PURCHASES, YOU NOW HAVE";T;"DOLLARS LEFT" |
115 | PRINT "AFTER ALL YOUR PURCHASES, YOU NOW HAVE ";T;" DOLLARS LEFT" |
92 | PRINT |
116 | PRINT |
93 | PRINT "MONDAY MARCH 29 1847" |
117 | PRINT "MONDAY MARCH 29 1847" |
94 | PRINT |
118 | PRINT |
95 | GOTO 1000 |
119 | GOTO 1750 |
96 | L700: IF M >= 2040 OR D3>17 THEN 4000 |
120 | L1230: IF M >= 2040 THEN 5430 |
97 | REM ***SETTING DATE*** |
121 | REM ***SETTING DATE**** |
98 | D3=D3+1 |
122 | D3=D3+1 |
99 | PRINT |
123 | PRINT |
100 | PRINT "MONDAY "; |
124 | PRINT "MONDAY "; |
101 | IF D3>10 THEN 735 |
125 | IF D3>10 THEN 1300 |
102 | GOTO D3 OF 740,750,760,770,780,790,800,810,820,830 |
126 | ON D3 GOTO 1310,1330,1350,1370,1390,1410,1430,1450,1470,1490 |
103 | L735: GOTO D3-10 OF 840,850,860,870,880,890,900 |
127 | L1300: ON D3-10 GOTO 1510,1530,1550,1570,1590,1610,1630,1650,1670,1690 |
104 | L740: PRINT "APRIL 12 "; |
128 | L1310: PRINT "APRIL 12"; |
105 | GOTO 910 |
129 | GOTO 1720 |
106 | L750: PRINT "APRIL 26 "; |
130 | L1330: PRINT "APRIL 26 "; |
107 | GOTO 910 |
131 | GOTO 1720 |
108 | L760: PRINT "MAY 10 "; |
132 | L1350: PRINT "MAY 10"; |
109 | GOTO 910 |
133 | GOTO 1720 |
110 | L770: PRINT "MAY 24 "; |
134 | L1370: PRINT "MAY 24 "; |
111 | GOTO 910 |
135 | GOTO 1720 |
112 | L780: PRINT "JUNE 7 "; |
136 | L1390: PRINT "JUNE 7 "; |
113 | GOTO 910 |
137 | GOTO 1720 |
114 | L790: PRINT "JUNE 21 "; |
138 | L1410: PRINT "JUNE 21 "; |
115 | GOTO 910 |
139 | GOTO 1720 |
116 | L800: PRINT "JULY 5 "; |
140 | L1430: PRINT "JULY 5 "; |
117 | GOTO 910 |
141 | GOTO 1720 |
118 | L810: PRINT "JULY 19 "; |
142 | L1450: PRINT "JULY 19 "; |
119 | GOTO 910 |
143 | GOTO 1720 |
120 | L820: PRINT "AUGUST 2 "; |
144 | L1470: PRINT "AUGUST 2 "' |
121 | GOTO 910 |
145 | GOTO 1720 |
122 | L830: PRINT "AUGUST 16 "; |
146 | L1490: PRINT "AUGUST 16 "; |
123 | GOTO 910 |
147 | GOTO 1720 |
124 | L840: PRINT "AUGUST 31 "; |
148 | L1510: PRINT "AUGUST 31 "; |
125 | GOTO 910 |
149 | GOTO 1720 |
126 | L850: PRINT "SEPTEMBER 13 "; |
150 | L1530: PRINT "SEPTEMBER 13"; |
127 | GOTO 910 |
151 | GOTO 1720 |
128 | L860: PRINT "SEPTEMBER 27 "; |
152 | L1550: PRINT "SEPTEMBER 27 "; |
129 | GOTO 910 |
153 | GOTO 1720 |
130 | L870: PRINT "OCTOBER 11 "; |
154 | L1570: PRINT "OCTOBER 11 "; |
131 | GOTO 910 |
155 | GOTO 1720 |
132 | L880: PRINT "OCTOBER 25 "; |
156 | L1590: PRINT "OCTOBER 25" |
133 | GOTO 910 |
157 | GOTO 1720 |
134 | L890: PRINT "NOVEMBER 8 "; |
158 | L1610: PRINT "NOVEMBER 8 "; |
135 | GOTO 910 |
159 | GOTO 1720 |
136 | L900: PRINT "NOVEMBER 22 "; |
160 | L1630: PRINT "NOVEMBER 22 "; |
137 | L910: PRINT "1847" |
161 | GOTO 1720 |
| |
162 | L1650: PRINT "DECEMBER 6 "; |
| |
163 | GOTO 1720 |
| |
164 | L1670: PRINT "DECEMBER 20 "; |
| |
165 | GOTO 1720 |
| |
166 | L1690: PRINT "YOU HAVE BEEN ON THE TRAIL TOO LONG ------" |
| |
167 | PRINT "YOUR FAMILY DIES IN THE FIRST BLIZZARD OF WINTER" |
| |
168 | GOTO 5170 |
| |
169 | L1720: PRINT "1847" |
138 | PRINT |
170 | PRINT |
139 | REM ***BEGINNING EACH TURN*** |
171 | REM ***BEGINNING EACH TURN*** |
140 | L1000: IF F >= 0 THEN 1015 |
172 | L1750: IF F >= 0 THEN 1770 |
141 | F=0 |
173 | F=0 |
142 | L1015: IF B >= 0 THEN 1025 |
174 | L1770: IF B >= 0 THEN 1790 |
143 | B=0 |
175 | B=0 |
144 | L1025: IF C >= 0 THEN 1035 |
176 | L1790: IF C >= 0 THEN 1810 |
145 | C=0 |
177 | C = 0 |
146 | L1035: IF M1 >= 0 THEN 1045 |
178 | L1810: IF M1 >= 0 THEN 1830 |
147 | M1=0 |
179 | M1=0 |
148 | L1045: IF F >= 12 THEN 1055 |
180 | L1830: IF F >= 13 THEN 1650 |
149 | PRINT "YOU'D BETTER DO SOME HUNTING OR BUY FOOD AND SOON!!!!" |
181 | PRINT "YOU'D BETTER DO SOME HUNTING OR BUY FOOD AND SOON!!!!" |
150 | L1055: F=INT(F) |
182 | F=INT(F) |
151 | B=INT(B) |
183 | B=INT(B) |
152 | C=INT(C) |
184 | C=INT(C) |
153 | M1=INT(M1) |
185 | M1=INT(M1) |
154 | T=INT(T) |
186 | T=INT(T) |
155 | M=INT(M) |
187 | M=INT(M) |
156 | M2=M |
188 | M2=M |
157 | IF S4=1 THEN 1105 |
189 | IF S4=1 THEN 1950 |
158 | IF K8=1 THEN 1105 |
190 | IF K8=1 THEN 1950 |
159 | GOTO 1130 |
191 | GOTO 1990 |
160 | L1105: T=T-20 |
192 | L1950: T=T-20 |
161 | IF T<0 THEN 3520 |
193 | IF T<0 THEN 5080 |
162 | PRINT "DOCTOR'S BILL IS $20" |
194 | PRINT "DOCTOR'S BILL IS $20" |
163 | LET K8=S4=0 |
195 | LET K8=S4=0 |
164 | L1130: IF M9=1 THEN 1145 |
196 | L1990: IF M9=1 THEN 2020 |
165 | PRINT "TOTAL MILEAGE IS";M |
197 | PRINT "TOTAL MILEAGE IS";M |
166 | GOTO 1160 |
198 | GOTO 2040 |
167 | L1145: PRINT "TOTAL MILEAGE IS 950" |
199 | L2020: PRINT "TOTAL MILEAGE IS 950" |
168 | M9=0 |
200 | M9=0 |
169 | L1160: PRINT "FOOD","BULLETS","CLOTHING","MISC. SUPP.","CASH" |
201 | L2040: PRINT "FOOD","BULLETS","CLOTHING","MISC. SUPP.","CASH" |
170 | PRINT F,B,C,M1,T |
202 | PRINT F,B,C,M1,T |
171 | IF X1=-1 THEN 1350 |
203 | IF X1=-1 THEN 2170 |
172 | X1=X1*-1 |
204 | X1=X1*(-1) |
173 | L1310: PRINT "DO YOU WANT TO (1) STOP AT THE NEXT FORT, (2) HUNT, "; |
205 | L2080: PRINT "DO YOU WANT TO (1) STOP AT THE NEXT FORT, (2) HUNT, "; |
174 | PRINT "OR (3) CONTINUE" |
206 | PRINT "OR (3) CONTINUE" |
175 | INPUT X |
207 | INPUT X |
176 | IF X>2 THEN 1340 |
208 | IF X>2 THEN 2150 |
177 | IF X<1 THEN 1340 |
209 | IF X<1 THEN 2150 |
178 | LET X=INT(X) |
210 | LET X=INT(X) |
179 | GOTO 1400 |
211 | GOTO 2270 |
180 | L1340: LET X=3 |
212 | L2150: LET X=3 |
181 | GOTO 1400 |
213 | GOTO 2270 |
182 | L1350: PRINT "DO YOU WANT TO (1) HUNT, OR (2) CONTINUE" |
214 | L2170: PRINT "DO YOU WANT TO (1) HUNT, OR (2) CONTINUE" |
183 | INPUT X |
215 | INPUT X |
184 | IF X=1 THEN 1370 |
216 | IF X=1 THEN 2210 |
185 | LET X=2 |
217 | LET X=2 |
186 | L1370: LET X=X+1 |
218 | L2210: LET X=X+1 |
187 | IF X=3 THEN 1395 |
219 | IF X=3 THEN 2260 |
188 | IF B>39 THEN 1395 |
220 | IF B>39 THEN 2260 |
189 | PRINT "TOUGH---YOU NEED MORE BULLETS TO GO HUNTING" |
221 | PRINT "TOUGH---YOU NEED MORE BULLETS TO GO HUNTING" |
190 | GOTO 1350 |
222 | GOTO 2170 |
191 | L1395: X1=X1*-1 |
223 | L2260: X1=X1*(-1) |
192 | L1400: GOTO X OF 1500,1700,1800 |
224 | L2270: ON X GOTO 2290,2540,2720 |
193 | REM ***STOPPING AT FORT*** |
225 | REM ***STOPPING AT FORT*** |
194 | L1500: PRINT "ENTER WHAT YOU WISH TO SPEND ON THE FOLLOWING" |
226 | L2290: PRINT "ENTER WHAT YOU WISH TO SPEND ON THE FOLLOWING" |
195 | PRINT "FOOD"; |
227 | PRINT "FOOD"; |
196 | GOSUB 1520 |
228 | GOSUB 2330 |
197 | GOTO 1555 |
229 | GOTO 2410 |
198 | L1520: INPUT P |
230 | L2330: INPUT P |
199 | IF P<0 THEN 1550 |
231 | IF P<0 THEN 2400 |
| |
232 | IF T1>3 THEN 2390 |
200 | T=T-P |
233 | T=T-P |
201 | IF T >= 0 THEN 1550 |
234 | IF T >= 0 THEN 2400 |
| |
235 | LET B=B-150 |
| |
236 | M1=M1-15 |
202 | PRINT "YOU DON'T HAVE THAT MUCH--KEEP YOUR SPENDING DOWN" |
237 | PRINT "YOU DON'T HAVE THAT MUCH--KEEP YOUR SPENDING DOWN" |
| |
238 | GOTO 3470 |
203 | T=T+P |
239 | T=T+P |
204 | P=0 |
240 | L2390: P=0 |
205 | L1550: RETURN |
241 | L2400: RETURN |
206 | L1555: F=F+2/3*P |
242 | L2410: F=F+2/3*P |
207 | PRINT "AMMUNITION"; |
243 | PRINT "AMMUNITION"; |
208 | GOSUB 1520 |
244 | GOSUB 2330 |
209 | LET B=INT(B+2/3*P*50) |
245 | LET B=INT(B+2/3+P*50) |
210 | PRINT "CLOTHING"; |
246 | PRINT "CLOTHING"; |
211 | GOSUB 1520 |
247 | GOSUB 2330 |
212 | C=C+2/3*P |
248 | C=C+2/3*P |
213 | PRINT "MISCELLANEOUS SUPPLIES"; |
249 | PRINT "MISCELLANEOUS SUPPLIES"; |
214 | GOSUB 1520 |
250 | GOSUB 2330 |
215 | M1=M1+2/3*P |
251 | M1=M1+2/3*P |
216 | M=M-45 |
252 | M=M-45 |
217 | GOTO 1800 |
253 | GOTO 2720 |
218 | REM ***HUNTING*** |
254 | REM ***HUNTING*** |
219 | L1700: IF B>39 THEN 1715 |
255 | L2540: IF B>39 THEN 2570 |
220 | PRINT "TOUGH---YOU NEED MORE BULLETS TO GO HUNTING" |
256 | PRINT "TOUGH---YOU NEED MORE BULLETS TO GO HUNTING" |
221 | GOTO 1310 |
257 | GOTO 2080 |
222 | L1715: M=M-45 |
258 | L2570: M=M-45 |
223 | GOSUB 4500 |
259 | GOSUB 6140 |
224 | IF B1 <= 1 THEN 1755 |
260 | IF B1 <= 1 THEN 2660 |
225 | IF 100*RND(0)<13*B1 THEN 1780 |
261 | IF 100*RND(-1)<13*B1 THEN 2710 |
226 | F=F+48-2*B1 |
262 | PRINT "NICE SHOT-RIGHT ON TARGET-GOOD EATIN' TONIGHT!!" |
227 | PRINT "NICE SHOT--RIGHT THROUGH THE NECK--FEAST TONIGHT!!" |
| |
228 | B=B-10-3*B1 |
263 | B=B-10-3*B1 |
229 | GOTO 1800 |
264 | GOTO 2720 |
230 | REM **BELLS IN LINE 1755** |
265 | REM **BELLS IN LINE 2660** |
231 | L1755: PRINT "RI"'7"GHT BETWEE"'7"N THE EYE"'7"S---YOU GOT A"'7" BIG ONE!!"'7"!!" |
266 | L2660: PRINT "RIGHT BETWEEN THE EYES---YOU GOT A BIG ONE!!!!" |
232 | F=F+52+RND(0)*6 |
267 | PRINT "FULL BELLIES TONIGHT!" |
233 | B=B-10-RND(0)*4 |
268 | F=F+52+RND(-1)*6 |
234 | GOTO 1800 |
269 | B=B-10-RND(-1)*4 |
235 | L1780: PRINT "SORRY---NO LUCK TODAY" |
270 | GOTO 2720 |
236 | L1800: IF F >= 13 THEN 1900 |
271 | L2710: PRINT "YOU MISSED---AND YOUR DINNER GOT AWAY....." |
237 | GOTO 3500 |
272 | L2720: IF F >= 13 THEN 2750 |
| |
273 | GOTO 5060 |
238 | REM ***EATING*** |
274 | REM ***EATING*** |
239 | L1900: PRINT "DO YOU WANT TO EAT (1) POORLY (2) MODERATELY" |
275 | L2750: PRINT "DO YOU WANT TO EAT (1) POORLY (2) MODERATELY" |
240 | PRINT "OR (3) WELL"; |
276 | PRINT "OR (3) WELL"; |
241 | INPUT E |
277 | INPUT E |
242 | IF E>3 THEN 1900 |
278 | IF E>3 THEN 2750 |
243 | IF E<1 THEN 1900 |
279 | IF E<1 THEN 2750 |
244 | LET E=INT(E) |
280 | LET E=INT(E) |
245 | LET F=F-8-5*E |
281 | LET F=F-8-5*E |
246 | IF F >= 0 THEN 2000 |
282 | IF F >= 0 THEN 2860 |
247 | F=F+8+5*E |
283 | F=F+8+5*E |
248 | PRINT "YOU CAN'T EAT THAT WELL" |
284 | PRINT "YOU CAN'T EAT THAT WELL" |
249 | GOTO 1900 |
285 | GOTO 2750 |
250 | L2000: LET M=M+200+(A-220)/5+10*RND(0) |
286 | L2860: LET M=M+200+(A-220)/5+10*RND(-1) |
251 | L1=C1=0 |
287 | L1=C1=0 |
252 | REM ***RIDERS ATTACK*** |
288 | REM ***RIDERS ATTACK*** |
253 | IF RND(0)*10>((M/100-4)^2+72)/((M/100-4)^2+12)-1 THEN 2500 |
289 | IF RND(-1)*10>((M/100-4)**27+72)/((M/100-4)**2+12)-1 THEN 3550 |
254 | PRINT "RIDERS AHEAD. THEY "; |
290 | PRINT "RIDERS AHEAD. THEY "; |
255 | S5=0 |
291 | S5=0 |
256 | IF RND(0)<.8 THEN 2130 |
292 | IF RND(-1)<.8 THEN 2950 |
257 | PRINT "DON'T "; |
293 | PRINT "DON'T "; |
258 | S5=1 |
294 | S5=1 |
259 | L2130: PRINT "LOOK HOSTILE" |
295 | L2950: PRINT "LOOK HOSTILE" |
260 | PRINT "TACTICS" |
296 | PRINT "TACTICS" |
261 | L2140: PRINT "(1) RUN (2) ATTACK (3) CONTINUE (4) CIRCLE WAGONS" |
297 | L2970: PRINT "(1) RUN (2) ATTACK (3) CONTINUE (4) CIRCLE WAGONS" |
262 | PRINT "IF YOU RUN YOU'LL GAIN TIME BUT WEAR DOWN YOUR OXEN" |
298 | IF RND(-1)>.2 THEN 3000 |
263 | PRINT "IF YOU CIRCLE YOU'LL LOSE TIME" |
| |
264 | IF RND(0)>.2 THEN 2165 |
| |
265 | S5=1-S5 |
299 | S5=1-S5 |
266 | L2165: INPUT T1 |
300 | L3000: INPUT T1 |
267 | IF T1<1 THEN 2140 |
301 | IF T1<1 THEN 2970 |
268 | IF T1>4 THEN 2140 |
302 | IF T1>4 THEN 2970 |
269 | T1=INT(T1) |
303 | T1=INT(T1) |
270 | IF S5=1 THEN 2330 |
304 | IF S5=1 THEN 3330 |
271 | IF T1>1 THEN 2220 |
305 | IF T1>1 THEN 3110 |
272 | M=M+20 |
306 | M=M+20 |
273 | M1=M1-15 |
307 | M1=M1-15 |
274 | B=B-150 |
308 | B=B-150 |
275 | A=A-40 |
309 | A=A-40 |
276 | GOTO 2395 |
310 | GOTO 3470 |
277 | L2220: IF T1>2 THEN 2285 |
311 | L3110: IF T1>2 THEN 3240 |
278 | GOSUB 4500 |
312 | GOSUB 6140 |
279 | B=B-B1*40-80 |
313 | B=B-B1*40-80 |
280 | L2235: IF B1>1 THEN 2250 |
314 | L3140: IF B1>1 THEN 3170 |
281 | PRINT "NICE SHOOTING---YOU DROVE THEM OFF" |
315 | PRINT "NICE SHOOTING---YOU DROVE THEM OFF" |
282 | GOTO 2395 |
316 | GOTO 3470 |
283 | L2250: IF B1 <= 4 THEN 2275 |
317 | L3170: IF B1 <= 4 THEN 3220 |
284 | PRINT "LOUSY SHOT---YOU GOT KNIFED" |
318 | PRINT "LOUSY SHOT---YOU GOT KNIFED" |
285 | K8=1 |
319 | K8=1 |
286 | PRINT "YOU HAVE TO SEE OL' DOC BLANCHARD" |
320 | PRINT "YOU HAVE TO SEE OL' DOC BLANCHARD" |
287 | GOTO 2395 |
321 | GOTO 3470 |
288 | L2275: PRINT "KINDA SLOW WITH YOUR COLT .45" |
322 | L3220: PRINT "KINDA SLOW WITH YOUR COLT .45" |
289 | GOTO 2395 |
323 | GOTO 3470 |
290 | L2285: IF T1>3 THEN 2310 |
324 | IF RND(-1)>.8 THEN 3450 |
291 | IF RND(0)>.8 THEN 2390 |
325 | GOSUB 6140 |
292 | LET B=B-150 |
| |
293 | M1=M1-15 |
| |
294 | GOTO 2395 |
| |
295 | L2310: GOSUB 4500 |
| |
296 | B=B-B1*30-80 |
326 | B=B-B1*30-80 |
297 | M=M-25 |
327 | M=M-25 |
298 | GOTO 2235 |
328 | GOTO 3140 |
299 | L2330: IF T1>1 THEN 2350 |
329 | L3330: IF T1>1 THEN 3370 |
300 | M=M+15 |
330 | M=M+15 |
301 | A=A-10 |
331 | A=A-10 |
302 | GOTO 2395 |
332 | GOTO 3470 |
303 | L2350: IF T1>2 THEN 2370 |
333 | L3370: IF T1>2 THEN 3410 |
304 | M=M-5 |
334 | M=M-5 |
305 | B=B-100 |
335 | B=B-100 |
306 | GOTO 2395 |
336 | GOTO 3470 |
307 | L2370: IF T1>3 THEN 2380 |
337 | L3410: IF T1>3 THEN 3430 |
308 | GOTO 2395 |
338 | GOTO 3470 |
309 | L2380: M=M-20 |
339 | L3430: M=M-20 |
310 | GOTO 2395 |
340 | GOTO 3470 |
311 | L2390: PRINT "THEY DID NOT ATTACK" |
341 | L3450: PRINT "THEY DID NOT ATTACK" |
312 | GOTO 2500 |
342 | GOTO 3550 |
313 | L2395: IF S5=0 THEN 2410 |
343 | L3470: IF S5=0 THEN 3500 |
314 | PRINT "RIDERS WERE FRIENDLY, BUT CHECK FOR POSSIBLE LOSSES" |
344 | PRINT "RIDERS WERE FRIENDLY, BUT CHECK FOR POSSIBLE LOSSES" |
315 | GOTO 2500 |
345 | GOTO 3550 |
316 | L2410: PRINT "RIDERS WERE HOSTILE--CHECK FOR LOSSES" |
346 | L3500: PRINT "RIDERS WERE HOSTILE--CHECK FOR LOSSES" |
317 | IF B >= 0 THEN 2500 |
347 | IF B >= 0 THEN 3550 |
318 | PRINT "YOU RAN OUT OF BULLETS AND GOT MASSACRED BY THE RIDERS" |
348 | PRINT "YOU RAN OUT OF BULLETS AND GOT MASSACRED BY THE RIDERS" |
319 | GOTO 3600 |
349 | GOTO 5170 |
320 | REM ***SELECTION OF EVENTS*** |
350 | REM ***SELECTION OF EVENTS*** |
321 | L2500: LET D1=0 |
351 | L3550: LET D1=0 |
322 | RESTORE |
352 | RESTORE |
323 | R1=100*RND(TIM(0)) |
353 | R1=100*RND(-1) |
324 | L2515: LET D1=D1+1 |
354 | L3580: LET D1=D1+1 |
325 | IF D1=16 THEN 3020 |
355 | IF D1=16 THEN 4670 |
326 | READ D |
356 | READ D |
327 | IF R1>D THEN 2515 |
357 | IF R1>D THEN 3580 |
328 | DATA 6,11,13,15,17,22,32,35,37,42,44,54,64,69,95 |
358 | DATA 6,11,13,15,17,22,32,35,37,42,44,54,64,69,95 |
329 | IF D1>10 THEN 2545 |
359 | IF D1>10 THEN 3650 |
330 | GOTO D1 OF 2550,2570,2590,2615,2630,2645,2660,2690,2785,2810 |
360 | ON D1 GOTO 3660,3700,3740,3790,3820,3850,3880,3960,4130,4190 |
331 | L2545: GOTO D1-10 OF 2825,2860,2885,2970,2990,3020 |
361 | L3650: ON D1-10 GOTO 4220,4290,4340,4650,4610,4670 |
332 | L2550: PRINT "WAGON BREAKS DOWN--LOSE TIME AND SUPPLIES FIXING IT" |
362 | L3660: PRINT "WAGON BREAKS DOWN--LOSE TIME AND SUPPLIES FIXING IT" |
333 | LET M=M-15-5*RND(0) |
363 | LET M=M-15-5*RND(-1) |
334 | LET M1=M1-8 |
364 | LET M1=M1-8 |
335 | GOTO 3100 |
365 | GOTO 4710 |
336 | L2570: PRINT "OX INJURES LEG---SLOWS YOU DOWN REST OF TRIP" |
366 | L3700: PRINT "OX INJURES LEG---SLOWS YOU DOWN REST OF TRIP" |
337 | LET M=M-25 |
367 | LET M=M-25 |
338 | LET A=A-20 |
368 | LET A=A-20 |
339 | GOTO 3100 |
369 | GOTO 4710 |
340 | L2590: PRINT "BAD LUCK---YOUR DAUGHTER BROKE HER ARM" |
370 | L3740: PRINT "BAD LUCK---YOUR DAUGHTER BROKE HER ARM" |
341 | PRINT "YOU HAD TO STOP AND USE SUPPLIES TO MAKE A SLING" |
371 | PRINT "YOU HAD TO STOP AND USE SUPPLIES TO MAKE A SLING" |
342 | M=M-5-4*RND(0) |
372 | M=M-5-4*RND(-1) |
343 | M1=M1-2-3*RND(0) |
373 | M1=M1-2-3*RND(-1) |
344 | GOTO 3100 |
374 | GOTO 4710 |
345 | L2615: PRINT "OX WANDERS OFF---SPEND TIME LOOKING FOR IT" |
375 | L3790: PRINT "OX WANDERS OFF---SPEND TIME LOOKING FOR IT" |
346 | M=M-17 |
376 | M=M-17 |
347 | GOTO 3100 |
377 | GOTO 4710 |
348 | L2630: PRINT "YOUR SON GETS LOST---SPEND HALF THE DAY LOOKING FOR HIM" |
378 | L3820: PRINT "YOUR SON GETS LOST---SPEND HALF THE DAY LOOKING FOR HIM" |
349 | M=M-10 |
379 | M=M-10 |
350 | GOTO 3100 |
380 | GOTO 4710 |
351 | L2645: PRINT "UNSAFE WATER--LOSE TIME LOOKING FOR CLEAN SPRING" |
381 | L3850: PRINT "UNSAFE WATER--LOSE TIME LOOKING FOR CLEAN SPRING" |
352 | LET M=M-10*RND(0)-2 |
382 | LET M=M-10*RND(-1)*-2 |
353 | GOTO 3100 |
383 | GOTO 4710 |
354 | L2660: IF M>950 THEN 2935 |
384 | L3880: IF M>950 THEN 4490 |
355 | PRINT "HEAVY RAINS---TIME AND SUPPLIES LOST" |
385 | PRINT "HEAVY RAINS---TIME AND SUPPLIES LOST" |
356 | F=F-10 |
386 | F=F-10 |
357 | B=B-500 |
387 | B=B-500 |
358 | M1=M1-15 |
388 | M1=M1-15 |
359 | M=M-10*RND(0)-5 |
389 | M=M-10*RND(-1)-5 |
360 | GOTO 3100 |
390 | GOTO 4710 |
361 | L2690: PRINT "BANDITS ATTACK" |
391 | L3960: PRINT "BANDITS ATTACK" |
362 | GOSUB 4500 |
392 | GOSUB 6140 |
363 | B=B-20*B1 |
393 | B=B-20*B1 |
364 | IF B >= 0 THEN 2735 |
394 | IF B>= 0- THEN 4030 |
365 | PRINT "YOU RAN OUT OF BULLETS---THEY GET LOTS OF CASH" |
395 | PRINT "YOU RAN OUT OF BULLETS---THEY GET LOTS OF CASH" |
366 | T=T/3 |
396 | T=T/3 |
367 | GOTO 2740 |
397 | GOTO 4040 |
368 | L2735: IF B1 <= 1 THEN 2770 |
398 | L4030: IF B1 <= 1 THEN 4100 |
369 | L2740: PRINT "YOU GOT SHOT IN THE LEG AND THEY TOOK ONE OF YOUR OXEN" |
399 | L4040: PRINT "YOU GOT SHOT IN THE LEG AND THEY TOOK ONE OF YOUR OXEN" |
370 | K8=1 |
400 | K8=1 |
371 | PRINT "BETTER HAVE A DOC LOOK AT YOUR WOUND" |
401 | PRINT "BETTER HAVE A DOC LOOK AT YOUR WOUND" |
372 | M1=M1-5 |
402 | M1=M1-5 |
373 | A=A-20 |
403 | A=A-20 |
374 | GOTO 3100 |
404 | GOTO 4710 |
375 | L2770: PRINT "QUICKEST DRAW OUTSIDE OF DODGE CITY!!!" |
405 | L4100: PRINT "QUICKEST DRAW OUTSIDE OF DODGE CITY!!!" |
376 | PRINT "YOU GOT 'EM!" |
406 | PRINT "YOU GOT 'EM!" |
377 | GOTO 3100 |
407 | GOTO 4710 |
378 | L2785: PRINT "THERE WAS A FIRE IN YOUR WAGON--FOOD AND SUPPLIES DAMAGED" |
408 | L4130: PRINT "THERE WAS A FIRE IN YOUR WAGON--FOOD AND SUPPLIES DAMAGE!" |
379 | F=F-40 |
409 | F=F-40 |
380 | B=B-400 |
410 | B=B-400 |
381 | LET M1=M1-RND(0)*8-3 |
411 | LET M1=M1-RND(-1)*68-3 |
382 | M=M-15 |
412 | M=M-15 |
383 | GOTO 3100 |
413 | GOTO 4710 |
384 | L2810: PRINT "LOSE YOUR WAY IN HEAVY FOG---TIME IS LOST" |
414 | L4190: PRINT "LOSE YOUR WAY IN HEAVY FOG---TIME IS LOST" |
385 | M=M-10-5*RND(0) |
415 | L4190: PRINT "LOSE YOUR WAY IN HEAVY FOG---TIME IS LOST" |
386 | GOTO 3100 |
416 | M=M-10-5*RND(-1) |
387 | L2825: PRINT "YOU KILLED A POISONOUS SNAKE AFTER IT BIT YOU" |
417 | M=M-10-5*RND(-1) |
| |
418 | GOTO 4710 |
| |
419 | GOTO 4710 |
| |
420 | L4220: PRINT "YOU KILLED A POISONOUS SNAKE AFTER IT BIT YOU" |
388 | B=B-10 |
421 | B=B-10 |
389 | M1=M1-5 |
422 | M1=M1-5 |
390 | IF M1 >= 0 THEN 2855 |
423 | IF M1 >= 0 THEN 4280 |
391 | PRINT "YOU DIE OF SNAKEBITE SINCE YOU HAVE NO MEDICINE" |
424 | PRINT "YOU DIE OF SNAKEBITE SINCE YOU HAVE NO MEDICINE" |
392 | GOTO 3600 |
425 | GOTO 5170 |
393 | L2855: GOTO 3100 |
426 | L4280: GOTO 4710 |
394 | L2860: PRINT "WAGON GETS SWAMPED FORDING RIVER--LOSE FOOD AND CLOTHES" |
427 | L4290: PRINT "YOUR WAGON GETS SWAMPED FORDING RIVER--LOSE FOOD AND CLOTHES" |
395 | F=F-30 |
428 | F=F-30 |
396 | C=C-20 |
429 | C=C-20 |
397 | M=M-20-20*RND(0) |
430 | M=M-20-20*RND(-1) |
398 | GOTO 3100 |
431 | GOTO 4710 |
399 | L2885: PRINT "WILD ANIMALS ATTACK!" |
432 | L4340: PRINT "WILD ANIMALS ATTACK!" |
400 | GOSUB 4500 |
433 | GOSUB 6140 |
401 | IF B>39 THEN 2895 |
434 | IF B>39 THEN 4410 |
402 | PRINT "YOU WERE TOO LOW ON BULLETS--" |
435 | PRINT "YOU WERE TOO LOW ON BULLETS--" |
403 | PRINT "THE WOLVES OVERPOWERED YOU" |
436 | PRINT "THE WOLVES OVERPOWERED YOU" |
404 | K8=1 |
437 | K8=1 |
405 | GOTO 3555 |
438 | GOTO 5120 |
406 | L2895: IF B1>2 THEN 2910 |
439 | L4410: IF B1>2 THEN 4440 |
407 | PRINT "NICE SHOOTIN' PARDNER---THEY DIDN'T GET MUCH" |
440 | PRINT "NICE SHOOTIN' PARDNER---THEY DIDN'T GET MUCH" |
408 | GOTO 2915 |
441 | GOTO 4450 |
409 | L2910: PRINT "SLOW ON THE DRAW---THEY GOT AT YOUR FOOD AND CLOTHES" |
442 | L4440: PRINT "SLOW ON THE DRAW---THEY GOT AT YOUR FOOD AND CLOTHES" |
410 | L2915: B=B-20*B1 |
443 | L4450: B=B-20*B1 |
411 | C=C-B1*4 |
444 | C=C-B1*4 |
412 | F=F-B1*8 |
445 | F=F-B1*8 |
413 | GOTO 3100 |
446 | BOTO 4710 |
414 | L2935: PRINT "COLD WEATHER---BRRRRRRR!---YOU "; |
447 | L4490: PRINT "COLD WEATHER---BRRRRRRR!---YOU "; |
415 | IF C>22+4*RND(0) THEN 2955 |
448 | IF C>22+4*RND(-1) THEN 4530 |
416 | PRINT "DON'T "; |
449 | PRINT "DON'T "; |
417 | C1=1 |
450 | C1=1 |
418 | L2955: PRINT "HAVE ENOUGH CLOTHING TO KEEP YOU WARM" |
451 | L4530: PRINT "HAVE ENOUGH CLOTHING TO KEEP WARM" |
419 | IF C1=0 THEN 3100 |
452 | IF C1=0 THEN 4710 |
420 | GOTO 4700 |
453 | GOTO 6300 |
421 | L2970: PRINT "HAIL STORM---SUPPLIES DAMAGED" |
454 | L4560: PRINT "HAIL STORM---SUPPLIES DAMAGED" |
422 | M=M-5-RND(0)*10 |
455 | M=M-5-RND(-1)*10 |
423 | B=B-200 |
456 | B=B-200 |
424 | M1=M1-4-RND(0)*3 |
457 | M1=M1-4-RND(-1)*3 |
425 | GOTO 3100 |
458 | GOTO 4710 |
426 | L2990: IF E=1 THEN 4700 |
459 | L4610: IF E=1 THEN 6300 |
427 | IF E=3 THEN 3010 |
460 | IF E=3 THEN 4650 |
428 | IF RND(0)>.25 THEN 4700 |
461 | IF RND(-1)>.25 THEN 6300 |
429 | GOTO 3100 |
462 | GOTO 4710 |
430 | L3010: IF RND(0)<.5 THEN 4700 |
463 | L4650: IF RND(-1)<.5 THEN 6300 |
431 | GOTO 3100 |
464 | GOTO 4710 |
432 | L3020: PRINT "HELPFUL INDIANS SHOW YOU WHERE TO FIND MORE FOOD" |
465 | L4670: PRINT "HELPFUL INDIANS SHOW YOU WHERE TO FIND MORE FOOD" |
433 | F=F+14 |
466 | F=F+14 |
434 | GOTO 3100 |
467 | GOTO 4710 |
435 | REM ***MOUNTAINS*** |
468 | REM ***MOUNTAINS*** |
436 | L3100: IF M <= 950 THEN 700 |
469 | L4710: IF M <= 950 THEN 1230 |
437 | IF RND(0)*10>9-((M/100-15)^2+72)/((M/100-15)^2+12) THEN 3175 |
470 | IF RND(-1)*10>9-((M/100-15)**2+72)/((M/100-15)**2+12) THEN 4560 |
438 | PRINT "RUGGED MOUNTAINS" |
471 | PRINT "RUGGED MOUNTAINS" |
439 | IF RND(0)>.1 THEN 3135 |
472 | IF RND(-1)>.1 THEN 4780 |
440 | PRINT "YOU GOT LOST---LOSE VALUABLE TIME TRYING TO FIND TRAIL!" |
473 | PRINT "YOU GOT LOST---LOSE VALUABLE TIME TRYING TO FIND TRAIL!" |
441 | M=M-60 |
474 | M=M-60 |
442 | GOTO 3175 |
475 | GOTO 4560 |
443 | L3135: IF RND(0)>.11 THEN 3160 |
476 | L4780: IF RND(-1)>.11 THEN 4840 |
444 | PRINT "WAGON DAMAGED!---LOSE TIME AND SUPPLIES" |
477 | PRINT "WAGON DAMAGED!---LOSE TIME AND SUPPLIES" |
445 | M1=M1-5 |
478 | M1=M1-5 |
446 | B=B-200 |
479 | B=B-200 |
447 | M=M-20-30*RND(0) |
480 | M=M-20-30*RND(-1) |
448 | GOTO 3175 |
481 | GOTO 4860 |
449 | L3160: PRINT "THE GOING GETS SLOW" |
482 | L4840: PRINT "THE GOING GETS SLOW" |
450 | M=M-45-RND(0)/.02 |
483 | M=M-45-RND(-1)/.02 |
451 | L3175: IF F1=1 THEN 3195 |
484 | L4860: IF F1=1 THEN 4900 |
452 | F1=1 |
485 | F1=1 |
453 | IF RND(0)<.8 THEN 3300 |
486 | IF RND(-1)<.8 THEN 4970 |
454 | PRINT "YOU MADE IT SAFELY THROUGH SOUTH PASS--NO SNOW" |
487 | PRINT "YOU MADE IT SAFELY THROUGH SOUTH PASS--NO SNOW" |
455 | L3195: IF M<1700 THEN 3215 |
488 | L4900: IF M<1700 THEN 4940 |
456 | IF F2=1 THEN 3215 |
489 | IF F2=1 THEN 4940 |
457 | F2=1 |
490 | F2=1 |
458 | IF RND(0)<.7 THEN 3300 |
491 | IF RND(-1)<.7 THEN 4970 |
459 | L3215: IF M>950 THEN 700 |
492 | L4940: IF M>950 THEN 1230 |
460 | M9=1 |
493 | M9=1 |
461 | GOTO 700 |
494 | GOTO 1230 |
462 | L3300: PRINT "BLIZZARD IN MOUNTAIN PASS--TIME AND SUPPLIES LOST" |
495 | L4970: PRINT "BLIZZARD IN MOUNTAIN PASS--TIME AND SUPPLIES LOST" |
463 | L1=1 |
496 | L1=1 |
464 | F=F-25 |
497 | F=F-25 |
465 | M1=M1-10 |
498 | M1=M1-10 |
466 | B=B-300 |
499 | B=B-300 |
467 | M=M-30-40*RND(0) |
500 | M=M-30-40*RND(-1) |
468 | IF C<18+2*RND(0) THEN 4700 |
501 | IF C<18+2*RND(-1) THEN 6300 |
469 | GOTO 3215 |
502 | GOTO 4940 |
470 | REM ***DYING*** |
503 | REM ***DYING*** |
471 | L3500: PRINT "YOU RAN OUT OF FOOD AND STARVED TO DEATH" |
504 | L5060: PRINT "YOU RAN OUT OF FOOD AND STARVED TO DEATH" |
472 | GOTO 3600 |
505 | GOTO 5170 |
473 | L3520: LET T=0 |
506 | L5080: LET T=0 |
474 | PRINT "YOU CAN'T AFFORD A DOCTOR" |
507 | PRINT "YOU CAN'T AFFORD A DOCTOR" |
475 | GOTO 3555 |
508 | GOTO 5120 |
476 | L3550: PRINT "YOU RAN OUT MEDICAL SUPPLIES" |
509 | L5110: PRINT "YOU RAN OUT OF MEDICAL SUPPLIES" |
477 | L3555: PRINT "YOU DIED OF "; |
510 | L5120: PRINT "YOU DIED OF "; |
478 | IF K8=1 THEN 3575 |
511 | IF K8=1 THEN 5160 |
479 | PRINT "PNEUMONIA" |
512 | PRINT "PNEUMONIA" |
480 | GOTO 3600 |
513 | GOTO 5170 |
481 | L3575: PRINT "INJURIES" |
514 | L5160: PRINT "INJURIES" |
482 | L3600: PRINT |
515 | L5170: PRINT |
483 | PRINT "DO TO YOUR UNFORTUNATE SITUATION, THERE ARE A FEW" |
516 | PRINT "DUE TO YOUR UNFORTUNATE SITUATION, THERE ARE A FEW" |
484 | PRINT "FORMALITIES WE MUST GO THROUGH" |
517 | PRINT "FORMALITIES WE MUST GO THROUGH" |
485 | PRINT |
518 | PRINT |
486 | PRINT "WOULD YOU LIKE A MINISTER?" |
519 | PRINT "WOULD YOU LIKE A MINISTER?" |
487 | INPUT C$ |
520 | INPUT C$ |
488 | PRINT "WOULD YOU LIKE A FANCY FUNERAL?" |
521 | PRINT "WOULD YOU LIKE A FANCY FUNERAL?" |
489 | INPUT C$ |
522 | INPUT C$ |
490 | PRINT "WOULD YOU LIKE US TO INFORM YOUR NEXT OF KIN?" |
523 | PRINT "WOULD YOU LIKE US TO INFORM YOUR NEXT OF KIN?" |
491 | INPUT C$ |
524 | INPUT C$ |
492 | IF C$="YES" THEN 3670 |
525 | IF C$="YES" THEN 5310 |
493 | PRINT "YOUR AUNT NELLIE IN ST. LOUIS IS ANXIOUS TO HEAR" |
526 | PRINT "BUT YOUR AUNT SADIE IN ST. LOUIS IS REALLY WORRIED ABOUT YOU |
494 | PRINT |
527 | PRINT |
495 | L3670: PRINT "WE THANK YOU FOR THIS INFORMATION AND WE ARE SORRY YOU" |
528 | GOTO 5330 |
| |
529 | L5310: PRINT "THAT WILL BE $4.50 FOR THE TELEGRAPH CHARGE." |
| |
530 | PRINT |
| |
531 | L5330: PRINT "WE THANK YOU FOR THIS INFORMATION AND WE ARE SORRY YOU" |
496 | PRINT "DIDN'T MAKE IT TO THE GREAT TERRITORY OF OREGON" |
532 | PRINT "DIDN'T MAKE IT TO THE GREAT TERRITORY OF OREGON" |
497 | PRINT "BETTER LUCK NEXT TIME" |
533 | PRINT "BETTER LUCK NEXT TIME" |
498 | PRINT |
534 | PRINT |
499 | PRINT |
535 | PRINT |
500 | PRINT TAB(30);"SINCERELY" |
536 | PRINT TAB(30);"SINCERELY" |
501 | PRINT |
537 | PRINT |
502 | PRINT TAB(17);"THE OREGON CITY CHAMBER OF COMMERCE" |
538 | PRINT TAB(17);"THE OREGON CITY CHAMBER OF COMMERCE" |
503 | STOP |
539 | STOP |
504 | REM ***FINAL TURN*** |
540 | REM ***FINAL TURN*** |
505 | L4000: F9=(2040-M2)/(M-M2) |
541 | L5430: F9=(2040-M2)/(M-M2) |
506 | F=F+(1-F9)*(8+5*E) |
542 | F=F+(1-F9)*(8+5*E) |
507 | PRINT |
543 | PRINT |
508 | REM *BELLS IN LINES 4015, 4020* |
544 | REM **BELLS IN LINES 5470,5480** |
509 | PRINT "YOU"'7" FINALLY ARRI"'7"VED AT ORE"'7"GON CITY"'7 |
545 | PRINT "YOU FINALLY ARRIVED AT OREGON CITY" |
510 | PRINT "AFTER"'7" 2040 LONG MILES"'7"---HOORAY!!"'7"!!!" |
546 | PRINT "AFTER 2040 LONG MILES---HOORAY!!!!!" |
| |
547 | PRINT "A REAL PIONEER!" |
511 | PRINT |
548 | PRINT |
512 | F9=INT(F9*14) |
549 | F9=INT(F9*14) |
513 | D3=D3*14+F9 |
550 | D3=D3*14+F9 |
514 | F9=F9+1 |
551 | F9=F9+1 |
515 | IF F9<8 THEN 4055 |
552 | IF F9<5 THEN 5560 |
516 | F9=F9-7 |
553 | F9=F9-7 |
517 | L4055: GOTO F9 OF 4060,4070,4080,4090,4100,4110,4120 |
554 | L5560: ON F9 GOTO 5570,5590,5610,5630,5650,5670,5690 |
518 | L4060: PRINT "MONDAY "; |
555 | L5570: PRINT "MONDAY "; |
519 | GOTO 4125 |
556 | GOTO 5700 |
520 | L4070: PRINT "TUESDAY "; |
557 | L5590: PRINT "TUESDAY "; |
521 | GOTO 4125 |
558 | GOTO 5700 |
522 | L4080: PRINT "WEDNESDAY "; |
559 | L5610: PRINT "WEDNESDAY "; |
523 | GOTO 4125 |
560 | GOTO 5700 |
524 | L4090: PRINT "THURSDAY "; |
561 | L5630: PRINT "THURSDAY "; |
525 | GOTO 4125 |
562 | GOTO 5700 |
526 | L4100: PRINT "FRIDAY "; |
563 | L5650: PRINT "FRIDAY "; |
527 | GOTO 4125 |
564 | GOTO 5700 |
528 | L4110: PRINT "SATURDAY "; |
565 | L5670: PRINT "SATURDAY "; |
529 | GOTO 4125 |
566 | GOTO 5700 |
530 | L4120: PRINT "SUNDAY "; |
567 | L5690: PRINT "SUNDAY "; |
531 | L4125: IF D3>124 THEN 4145 |
568 | L5700: IF D3>124 THEN 5740 |
532 | D3=D3-93 |
569 | D3=D3-93 |
533 | PRINT "JULY ";D3;" 1847" |
570 | PRINT "JULY ";D3;" 1847" |
534 | GOTO 4215 |
571 | GOTO 5920 |
535 | L4145: IF D3>155 THEN 4165 |
572 | L5740: IF D3>155 THEN 5780 |
536 | D3=D3-124 |
573 | D3=D3-124 |
537 | PRINT "AUGUST ";D3;" 1847" |
574 | PRINT "AUGUST ";D3;" 1847" |
538 | GOTO 4215 |
575 | GOTO 5920 |
539 | L4165: IF D3>185 THEN 4185 |
576 | L5780: IF D3>165 THEN 5820 |
540 | D3=D3-155 |
577 | D3=D3-155 |
541 | PRINT "SEPTEMBER ";D3;" 1847" |
578 | PRINT "SEPTEMBER ";D3;" 1847" |
542 | GOTO 4215 |
579 | GOTO 5920 |
543 | L4185: IF D3>216 THEN 4205 |
580 | L5820: IF D3>216 THEN 5860 |
544 | D3=D3-185 |
581 | D3=D3-185 |
545 | PRINT "OCTOBER ";D3;" 1847" |
582 | PRINT "OCTOBER ";D3;" 1847" |
546 | GOTO 4215 |
583 | GOTO 5920 |
547 | L4205: D3=D3-216 |
584 | L5860: IF D3>246 THEN 5900 |
| |
585 | D3=D3-216 |
548 | PRINT "NOVEMBER ";D3;" 1847" |
586 | PRINT "NOVEMBER ";D3;" 1847" |
549 | L4215: PRINT |
587 | GOTO 5920 |
| |
588 | L5900: D3=D3-246 |
| |
589 | PRINT "DECEMBER ";D3;"1847" |
| |
590 | L5920: PRINT |
550 | PRINT "FOOD","BULLETS","CLOTHING","MISC. SUPP.","CASH" |
591 | PRINT "FOOD","BULLETS","CLOTHING","MISC. SUPP.","CASH" |
551 | IF B>0 THEN 4240 |
592 | IF B>0 THEN 5960 |
552 | LET B=0 |
593 | L5950: LET B=0 |
553 | L4240: IF C>0 THEN 4250 |
594 | L5960: IF C>0 THEN 5950 |
554 | LET C=0 |
595 | LET C=0 |
555 | L4250: IF M1>0 THEN 4260 |
596 | IF M1>0 THEN 6000 |
556 | LET M1=0 |
597 | LET M1=0 |
557 | L4260: IF T>0 THEN 4270 |
598 | L6000: IF T>0 THEN 6020 |
558 | LET T=0 |
599 | LET T=0 |
559 | L4270: IF F>0 THEN 4285 |
600 | L6020: IF F>0 THEN 6040 |
560 | LET F=0 |
601 | LET F=0 |
561 | L4285: PRINT INT(F),INT(B),INT(C),INT(M1),INT(T) |
602 | L6040: PRINT INT(F),INT(B),INT(C),INT(M1),INT(T) |
562 | PRINT |
603 | PRINT |
563 | PRINT "PRESIDENT JAMES K. POLK SENDS YOU HIS" |
604 | PRINT TAB(11); "PRESIDENT JAMES K. POLK SENDS YOU HIS" |
564 | PRINT " HEARTIEST CONGRATULATIONS" |
605 | PRINT TAB(17); "HEARTIEST CONGRATULATIONS" |
565 | PRINT |
606 | PRINT |
566 | PRINT TAB(11);"AND WISHES YOU A PROSPEROUS LIFE AHEAD" |
607 | PRINT TAB(11);"AND WISHES YOU A PROSERPOUS LIFE AHEAD" |
567 | PRINT |
608 | PRINT |
568 | PRINT TAB(22);"AT YOUR NEW HOME" |
609 | PRINT TAB(22);"AT YOUR NEW HOME" |
569 | STOP |
610 | STOP |
570 | REM ***SHOOTING SUB-ROUTINE*** |
611 | REM ***SHOOTING SUB-ROUTINE*** |
571 | L4500: PRINT "TYPE BANG"; |
612 | REM THE METHOD OF TIMING THE SHOOTING (LINES 6210-6240) |
572 | B2=7 |
613 | REM WILL VARY FROM SYSTEM TO SYSTEM. FOR EXAMPLE, H-P |
573 | C$="" |
614 | REM USERS WILL PROBABLY PREFER TO USE THE 'ENTER' STATEMENT. |
574 | ENTER #P,B2,B1,C$ |
615 | REM IF TIMING ON THE USER'S SYSTEM IS HIGHLY SUCEPTIBLE |
575 | PRINT |
616 | REM TO SYSTEM RESPONSE TIME, THE FORMULA IN LINE 6240 CAN |
576 | IF C$="BANG" THEN 4535 |
617 | REM BE TAILORED TO ACOMMODATE THIS BY EITHER INCREASING |
577 | B1=7 |
618 | REM OR DECREASING THE 'SHOOTING' TIME RECORDED BY THE SYSTEM. |
578 | L4535: RETURN |
619 | L6140: DIM S$(5) |
| |
620 | S$(1)="BANG" |
| |
621 | S$(2)="BLAM" |
| |
622 | S$(3)="POW" |
| |
623 | S$(4)="WHAM" |
| |
624 | S6=INT(RND(-1)*4+1) |
| |
625 | PRINT "TYPE "; S$(56) |
| |
626 | B3 = CLK(0) |
| |
627 | INPUT C$ |
| |
628 | B1 = CLK(0) |
| |
629 | B1=((B1-B3)*3600)-(D9-1) |
| |
630 | PRINT |
| |
631 | IF B1>0 THEN 6260 |
| |
632 | B1=0 |
| |
633 | L6260: IF C$=S$(56) THEN 6280 |
| |
634 | B1=0 |
| |
635 | L6280: RETURN |
579 | REM ***ILLNESS SUB-ROUTINE*** |
636 | REM ***ILLNESS SUB-ROUTINE*** |
580 | L4700: IF 100*RND(0)<10+35*(E-1) THEN 4740 |
637 | L6300: IF 100*RND(-1)<10+35(E-1) THEN 6370 |
581 | IF 100*RND(0)<100-(40/4^(E-1)) THEN 4760 |
638 | IF 100*RND(-1)<100-(40/4**(E-1)) THEN 6410 |
582 | PRINT "SERIOUS ILLNESS---" |
639 | PRINT "SERIOUS ILLNESS---" |
583 | PRINT "YOU MUST STOP FOR MEDICAL ATTENTION" |
640 | PRINT "YOU MUST STOP FOR MEDICAL ATTENTION" |
584 | M1=M1-10 |
641 | M1=M1-10 |
585 | S4=1 |
642 | S4=1 |
586 | GOTO 4780 |
643 | GOTO 6440 |
587 | L4740: PRINT "MILD ILLNESS---MEDICINE USED" |
644 | L6370: PRINT "MILD ILLNESS---MEDICINE USED" |
588 | M=M-5 |
645 | M=M-5 |
589 | M1=M1-2 |
646 | M1=M1-2 |
590 | GOTO 4780 |
647 | GOTO 6440 |
591 | L4760: PRINT "BAD ILLNESS---MEDICINE USED" |
648 | L6410: PRINT "BAD ILLNESS---MEDICINE USED" |
592 | M=M-5 |
649 | M=M-5 |
593 | M1=M1-5 |
650 | M1=M1-5 |
594 | L4780: IF M1<0 THEN 3550 |
651 | L6440: IF M1<0 THEN 5110 |
595 | IF L1=1 THEN 3215 |
652 | IF L1=1 THEN 4940 |
596 | GOTO 3100 |
653 | GOTO 4710 |
597 | REM ***IDENDIFICATION OF VARIABLES IN THE PROGRAM*** |
654 | REM ***IDENTIFICATION OF VARIABLES IN THE PROGRAM*** |
598 | REM A = AMOUNT SPENT ON ANIMALS |
655 | REM A = AMOUNT SPENT ON ANIMALS |
599 | REM B = AMOUNT SPENT ON AMMUNITION |
656 | REM B = AMOUNT SPENT ON AMMUNITION |
600 | REM B1 = ACTUAL RESPONSE TIME FOR INPUTING 'BANG' |
657 | REM B1 = ACTUAL RESPONSE TIME FOR INPUTTING "BANG" |
601 | REM B2 = MAXIMUM RESPONSE TIME FOR INPUTING 'BANG' |
658 | REM B3 = CLOCK TIME START OF INPUTTING "BANG" |
602 | REM C = AMOUNT SPENT ON CLOTHING |
659 | REM C = AMOUNT SPENT ON CLOTHING |
603 | REM C1 = FLAG FOR INSUFFICIENT CLOTHING IN COLD WEATHER |
660 | REM C1 = FLAG FOR INSUFFICIENT CLOTHING IN COLD WEATHER |
604 | REM C$ = YES/NO RESPONSE TO QUESTIONS |
661 | REM C$ = YES/NO RESPONSE TO QUESTIONS |
605 | REM D1 = COUNTER IN GENERATING EVENTS |
662 | REM D1 = COUNTER IN GENERATING EVENTS |
606 | REM D3 = TURN NUMBER FOR SETTING DATE |
663 | REM D3 = TURN NUMBER FOR SETTING DATE |
607 | REM D4 = CURRENT DATE |
664 | REM D4 = CURRENT DATE |
| |
665 | REM D9 = CHOICE OF SHOOTING EXPERTISE LEVEL |
608 | REM E = CHOICE OF EATING |
666 | REM E = CHOICE OF EATING |
609 | REM F = AMOUNT SPENT ON FOOD |
667 | REM F = AMOUNT SPENT ON FOOD |
610 | REM F1 = FLAG FOR CLEARING SOUTH PASS |
668 | REM F1 = FLAG FOR CLEARING SOUTH PASS |
611 | REM F2 = FLAG FOR CLEARING BLUE MOUNTAINS |
669 | REM F2 = FLAG FOR CLEARING BLUE MOUNTAINS |
612 | REM F9 = FRACTION OF 2 WEEKS TRAVELED ON FINAL TURN |
670 | REM F9 = FRACTION OF 2 WEEKS TRAVELED ON FINAL TURN |
613 | REM K8 = FLAG FOR INJURY |
671 | REM X5 = FLAG FOR INJURY |
614 | REM L1 = FLAG FOR BLIZZARD |
672 | REM L1 = FLAG FOR BLIZZARD |
615 | REM M = TOTAL MILEAGE WHOLE TRIP |
673 | REM M = TOTAL MILEAGE WHOLE TRIP |
616 | REM M1 = AMOUNT SPENT ON MISCELLANEOUS SUPPLIES |
674 | REM M1 = AMOUNT SPENT ON MISCELLANEOUS SUPPLIES |
617 | REM M2 = TOTAL MILEAGE UP THROUGH PREVIOUS TURN |
675 | REM M2 = MILEAGE UP THROUGH PREVIOUS TURN |
618 | REM M9 = FLAG FOR CLEARING SOUTH PASS IN SETTING MILEAGE |
676 | REM M9 = FLAG FOR CLEARING SOUTH PASS IN SETTING MILEAGE |
619 | REM P = AMOUNT SPENT ON ITEMS AT FORT |
677 | REM P = AMOUNT SPENT ON ITEMS AT FORT |
620 | REM R1 = RANDOM NUMBER IN CHOOSING EVENTS |
678 | REM R1 = RANDOM NUMBER IN CHOOSING EVENTS |
621 | REM S4 = FLAG FOR ILLNESS |
679 | REM S4 = FLAG FOR ILLNESS |
622 | REM S5 = 'HOSTILITY OF RIDERS' FACTOR |
680 | REM S5 = ""HOSTILITY OF RIDERS"" FACTOR |
| |
681 | REM S6 = SHOOTING WORD SELECTOR |
| |
682 | REM S$ = VARIATIONS OF SHOOTING WORD |
623 | REM T = CASH LEFT OVER AFTER INITIAL PURCHASES |
683 | REM T = CASH LEFT OVER AFTER INITIAL PURCHASES |
624 | REM T1 = CHOICE OF TACTICS WHEN ATTACKED |
684 | REM T1 = CHOICE OF TACTICS WHEN ATTACKED |
625 | REM X = CHOICE OF ACTION FOR EACH TURN |
685 | REM X = CHOICE OF ACTION FOR EACH TURN |
626 | REM X1 = FLAG FOR FORT OPTION |
686 | REM X1 = FLAG FOR FORT OPTION |
627 | END |
| |
628 | REM https://www.filfre.net/2011/04/on-the-trail-of-the-oregon-trail-part-4/ |
| |
629 | |
687 | |