123456789012345678901234567890123456789012345678901234567890 10 REM *** OREGON 1976 *** 15 REM *** ORIGINAL PROGRAMMING BY BILL HEINEMANN - 1971 *** 20 REM *** SUPPORT AND RESEARCH MATERIAL BY DON RAWITSCH *** 25 REM *** UPDATED FOR SUPER BASIC ON THE RETRO ELF AND *** 30 REM *** VT100 BY DAVE RUNKLE - 2019 *** 35 DEFINT Z 40 LET A=0:LET B=0:LET B1=0:LET B3=0:LET C=0:C1=0:LET D1=0:LET D3=0 44 LET D4=0:LET D9=0:LET E=0:LET F=0:LET F1=0:LET F2=0:LET F9=0 50 LET K8=0:LET L1=0:LET M=0:LET M1=0:LET M2=0:LET M9=0:LET P=0 55 LET R1=0:LET S4=0:LET S5=0:LET S6=0:LET T=0:LET T1=0:LET X=0 100 PRINT TAB(9);"O R E G O N T R A I L 76" 105 WAIT (200) 110 INPUT "DO YOU NEED INSTRUCTIONS (YES/NO)? "C$ 115 IF MID$(C$,1,1)="N" GOTO 500 120 PRINT 200 REM *** INSTRUCTIONS *** 205 PRINT "THIS PROGRAM SIMULATES A TRIP OVER THE OREGON TRAIL FROM" 210 PRINT "INDEPENDENCE, MISSOURI TO OREGON CITY, OREGON IN 1847. YOUR" 215 PRINT "FAMILY OF FIVE WILL COVER THE 2040 MILE OREGON TRAIL IN 5-6" 220 PRINT "MONTHS --- IF YOU MAKE IT ALIVE." 225 PRINT 230 INPUT "HIT ENTER TO CONTINUE: "I$ 235 PRINT "YOU HAD SAVED $900 TO SPEND FOR THE TRIP, AND YOU'VE JUST" 240 PRINT "PAID $200 FOR A WAGON. YOU WILL NEED TO SPEND THE REST OF" 245 PRINT "YOUR MONEY ON THE FOLLOWING ITEMS:" 250 PRINT 255 PRINT TAB(4);"OXEN - YOU CAN SPEND $200-$300 ON" 260 PRINT TAB(8);"YOUR TEAM. THE MORE YOU SPEND" 265 PRINT TAB(8);"THE FASTER YOU'LL GO BECAUSE" 270 PRINT TAB(8);"YOU'LL HAVE BETTER ANIMALS" 275 PRINT TAB(4);"FOOD - THE MORE YOU HAVE THE LESS" 280 PRINT TAB(8);"CHANCE THERE IS OF GETTING SICK" 285 PRINT TAB(4);"AMMUNITION - $1 BUYS A BELT OF 50" 290 PRINT TAB(8);"BULLETS" 295 PRINT TAB(4);"CLOTHING - THIS IS VERY IMPORTANT" 300 PRINT TAB(8);"FOR THE COLD YOU WILL ENCOUNTER" 305 PRINT TAB(8);"IN THE MOUNTAINS" 310 PRINT TAB(4);"MISCELLANEOUS SUPPLIES - THIS COVERS" 315 PRINT TAB(8);"ALL THE THINGS YOU WILL NEED FOR" 320 PRINT TAB(8);"SICKNESS AND EMERGENCY REPAIRS" 325 PRINT 330 INPUT "HIT ENTR TO CONTINUE: "I$ 335 PRINT "YOU CAN SPEND ALL YOUR MONEY BEFORE YOU START OR SAVE SOME" 340 PRINT "TO SPEND AT FORTS ALONG THE WAY. HOWEVER, COSTS ARE HIGHER" 345 PRINT "AT THE FORTS." 350 PRINT 420 PRINT "YOU CAN USE YOUR RIFLE TO HUNT FOOD ALONG THE WAY. WHENEVER" 425 PRINT "YOU HAVE TO USE YOUR TRUSTY RIFLE ALONG THE WAY, YOU WILL" 430 PRINT "BE TOLD TO TYPE IN A WORD (ONE THAT SOUNDS LIKE A GUN" 435 PRINT "SHOT). THE FASTER YOU TYPE IN THAT WORD AND HIT THE" 440 PRINT "'RETURN' KEY, THE BETTER LUCK YOU WILL HAVE WITH YOUR GUN." 445 PRINT 450 PRINT "AT EACH TURN, ALL ITEMS SHOWN ARE IN DOLLAR AMOUNTS EXCEPT" 455 PRINT "BULLETS. WHEN ASKED TO ENTER DOLLAR AMOUNTS, DON'T USE A" 460 PRINT "'$'." 465 PRINT 470 PRINT TAB(13);"GOOD LUCK!!" 475 PRINT 480 INPUT "HIT ENTER TO BEGIN THE GAME: "I$ 500 REM *** FIND RIFLE SKILLS *** 505 PRINT "HOW GOOD A SHOT ARE YOU WITH YOUR RIFLE?" 510 PRINT 515 PRINT " 1) ACE MARKSMAN" 520 PRINT " 2) GOOD SHOT" 525 PRINT " 3) FAIR TO MIDDLIN'" 530 PRINT " 4) NEED MORE PRACTICE" 535 PRINT " 5) SHAKY KNEES" 540 PRINT 545 PRINT "ENTER ONE OF THE ABOVE -- THE BETTER YOU CLAIM YOU ARE THE" 550 PRINT "FASTER YOU'LL HAVE TO BE WITH YOUR GUN TO SUCCEED." 555 INPUT D9 560 IF D9>5 THEN LET D9=0 600 REM *** INITIAL PURCHASES *** 610 LET X1=-1:LET K8=0:LET S4=0:LET F1=0:LET F2=0:LET M=0 615 LET M9=0:LET D3=0 620 PRINT 625 INPUT "HOW MUCH DO YOU WANT TO SPEND ON YOUR OXEN TEAM"A 630 IF A>=200 GOTO 645 635 PRINT "NOT ENOUGH" 640 GOTO 620 645 IF A<=300 GOTO 660 650 PRINT "TOO MUCH" 655 GOTO 620 660 PRINT 665 INPUT "HOW MUCH DO YOU WANT TO SPEND ON FOOD"F 670 IF F>=0 GOTO 690 675 PRINT 680 PRINT "IMPOSSIBLE" 685 GOTO 660 690 PRINT 695 INPUT "HOW MUCH DO YOU WANT TO SPEND ON AMMUNITION"B 700 IF B>=0 GOTO 735 705 FOR I=1 TO 169 STEP 1 710 LET T(I)=0 715 NEXT I 720 PRINT 725 PRINT "IMPOSSIBLE" 730 GOTO 690 735 PRINT 740 INPUT "HOW MUCH DO YOU WANT TO SPEND ON CLOTHING"C 745 IF C>=0 GOTO 765 750 PRINT 755 PRINT "IMPOSSIBLE" 760 GOTO 735 765 PRINT 770 INPUT "HOW MUCH DO YOU WANT DO SPEND ON MISCELLANEOUS SUPPLIES"M1 775 IF M1>=0 GOTO 795 780 PRINT 785 PRINT "IMPOSSIBLE" 790 GOTO 765 795 LET T=700-A-F-B-C-M1 800 IF T>=0 GOTO 830 805 PRINT 810 PRINT "YOU OVERSPENT -- YOU ONLY HAD $700 TO SPEND. BUY AGAIN." 815 WAIT (200) 820 GOTO 620 830 LET B=50*B 835 PRINT 840 PRINT "AFTER ALL YOUR PURCHASES, YOU NOW HAVE $";T;" LEFT." 845 WAIT (200) 1000 PRINT "MONDAY MARCH 29 1847" 1005 PRINT "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" 1010 PRINT 1015 GOTO 1740 1230 IF M>=2040 GOTO 5430 1240 REM *** STARTING DATE *** 1245 INPUT "HIT ENTR TO CONTINUE "C$ 1250 LET D3=D3+1 1260 GOTO D3*10+1260 1270 PRINT "APRIL 12 1847" 1275 GOTO 1740 1280 PRINT "APRIL 26 1847" 1285 GOTO 1740 1290 PRINT "MAY 10 1847" 1295 GOTO 1740 1300 PRINT "MAY 24 1847" 1305 GOTO 1740 1310 PRINT "JUNE 7 1847" 1315 GOTO 1740 1320 PRINT "JUNE 21 1847" 1325 GOTO 1740 1330 PRINT "JULY 5 1847" 1335 GOTO 1740 1340 PRINT "JULY 19 1847" 1345 GOTO 1740 1350 PRINT "AUGUST 2 1847" 1355 GOTO 1740 1360 PRINT "AUGUST 16 1847" 1365 GOTO 1740 1370 PRINT "AUGUST 31 1847" 1375 GOTO 1740 1380 PRINT "SEPTEMBER 13 1847" 1385 GOTO 1740 1390 PRINT "SEPTEMBER 27 1847" 1395 GOTO 1740 1400 PRINT "OCTOBER 11 1847" 1405 GOTO 1740 1410 PRINT "OCTOBER 25 1847" 1415 GOTO 1740 1420 PRINT "NOVEMBER 8 1847" 1425 GOTO 1740 1430 PRINT "NOVEMBER 22 1847" 1435 GOTO 1740 1440 PRINT "DECEMBER 6 1847" 1445 GOTO 1740 1450 PRINT "DECEMBER 20 1847" 1455 GOTO 1740 1460 PRINT "YOU HAVE BEEN ON THE TRAIL TOO LONG" 1470 PRINT "YOU HAVE BEEN ON THE TRAIL TOO LONG ---" 1480 PRINT "YOUR FAMILY DIES IN THE FIRST BLIZZARD OF WINTER" 1500 GOTO 5170 1740 REM *** BEGINNING EACH TURN *** 1750 IF F>=0 GOTO 1770 1760 LET F=0 1770 IF B>=0 GOTO 1790 1780 LET B=0 1790 IF C>=0 GOTO 1810 1800 LET C=0 1810 IF M1>=0 GOTO 1830 1820 LET M1=0 1830 IF F>=13 GOTO 1850 1840 PRINT "YOU'D BETTER DO SOME HUNTING OR BUY" 1845 PRINT:PRINT "FOOD AND SOON!!!" 1850 LET M2=M 1920 IF S4=1 GOTO 1950 1930 IF K8=1 GOTO 1950 1940 GOTO 1990 1950 LET T=T-20 1960 IF T<0 GOTO 5080 1970 PRINT:PRINT "DOCTOR'S BILL IS $20" 1980 LET K8=0 1985 LET S4=0 1990 IF M9=1 THEN LET M=950 2000 GOSUB 7100 2005 INPUT "TYPE 'GO' TO CONTINUE "C$ 2030 LET M9=0 2060 IF X1=-1 GOTO 2170 2070 LET X1=X1*(-1) 2080 PRINT "DO YOU WANT TO:" 2085 PRINT TAB(5);"1 - STOP AT THE NEXT FORT" 2090 PRINT TAB(5);"2 - HUNT FOR FOOD" 2095 PRINT TAB(5);"3 - CONTINUE" 2100 INPUT X 2110 IF X<1 THEN LET X=3 2115 IF X>2 THEN LET X=3 2120 GOTO 2270 2170 PRINT "DO YOU WANT TO:" 2175 PRINT TAB(5);"1 - HUNT FOR FOOD" 2180 PRINT TAB(5);"2 - CONTINUE" 2185 INPUT X 2190 IF X=1 GOTO 2210 2200 LET X=2 2210 LET X=X+1 2220 IF X=3 GOTO 2260 2230 IF B>39 GOTO 2260 2240 PRINT "TOUGH LUCK - - - YOU NEED MORE BULLETS TO GO HUNTING." 2250 GOTO 2170 2260 LET X1=X1*(-1) 2270 IF X=1 GOTO 2290 2275 IF X=2 GOTO 2540 2280 IF X=3 GOTO 2720 2285 REM *** STOPPING AT FORT *** 2290 PRINT "HOW MUCH DO YOU WANT TO SPEND ON THE FOLLOWING?" 2300 PRINT:PRINT "FOOD "; 2310 GOSUB 7200 2410 LET F=F+2/3*P 2415 GOSUB 7110 2420 PRINT "AMMUNITION"; 2430 GOSUB 7200 2440 LET B=B+(2*50*P)/3 2445 GOSUB 7120 2450 PRINT "CLOTHING"; 2460 GOSUB 7200 2470 LET C=C+2*P/3 2475 GOSUB 7120 2480 PRINT "MISCELLANEOUS SUPPLIES "; 2490 GOSUB 7200 2500 LET M1=M1+2*P/3 2510 LET M=M-45 2515 GOSUB 7120 2520 GOTO 2722 2530 REM *** HUNTING *** 2540 IF B>39 GOTO 2570 2550 PRINT "TOUGH -- YOU DON'T HAVE ENOUGH AMMO" 2560 GOTO 2080 2570 LET M=M-45 2580 GOSUB 6140 2590 IF B1<=1 GOTO 2660 2600 IF RND (100)<13*B1 GOTO 2710 2610 LET F=F+48-2*B1 2620 PRINT "NICE SHOT -- GOOD EATIN' TONIGHT!!" 2630 LET B=B-10-3*B1 2640 GOTO 2720 2650 REM *** BELLS IN LINE 2660 *** 2660 PRINT "RIGHT BETWEEN THE EYES - IT'S A BIG ONE" 2670 PRINT "FULL BELLIES TONIGHT!!" 2680 LET F=F+52+INT(RND*6) 2690 LET B=B-10-INT(RND*4) 2700 GOTO 2720 2710 PRINT "YOU MISSED -- AND DINNER GOT AWAY---" 2715 PRINT 2720 INPUT "TYPE 'GO' TO CONTINUE: "C$ 2722 REM 2725 IF F>=13 GOTO 2750 2730 GOTO 5060 2740 REM *** EATING *** 2750 GOSUB 7100 2755 PRINT "DO YOU WANT TO EAT:" 2760 PRINT TAB(5);"1 - POORLY" 2765 PRINT TAB(5);"2 - MODERATELY" 2770 PRINT TAB(5);"3 - WELL" 2775 INPUT E 2780 IF E>3 GOTO 2755 2790 IF E<1 GOTO 2755 2810 LET F=F-8-5*E 2820 IF F>=0 GOTO 2860 2830 LET F=F+8+5*E 2840 PRINT:PRINT "YOU CAN'T EAT THAT WELL" 2850 GOTO 2755 2860 LET M=M+200+(A-220)/5+INT(RND*10) 2870 LET L1=0 2875 LET C1=0 2880 REM *** RIDERS ATTACK *** 2890 IF INT(RND*10)>((M/100-4)^2+72)/((M/100-4)^2+12)-1 GOTO 3550 2900 PRINT:PRINT "RIDERS AHEAD. THEY "; 2910 LET S5=0 2920 IF INT(RND*10)<8 GOTO 2950 2930 PRINT "DON'T "; 2940 LET S5=1 2950 PRINT "LOOK HOSTILE" 2955 PRINT 2960 PRINT "TACTICS:" 2965 PRINT "1 - RUN" 2970 PRINT "2 - ATTACK" 2975 PRINT "3 - CONTINUE" 2980 PRINT "4 - CIRCLE THE WAGONS" 2985 IF RND (10)>2 GOTO 3000 2990 LET S5=1-S5 3000 INPUT T1 3010 IF T1<1 GOTO 2970 3020 IF T1>4 GOTO 2970 3040 IF S5=1 GOTO 3330 3050 IF T1>1 GOTO 3110 3060 LET M=M+20 3070 LET M1=M1-15 3080 LET B=B-150 3090 LET A=A-40 3100 GOTO 3470 3110 IF T1>2 GOTO 3240 3120 GOSUB 6140 3130 LET B=B-B1*40-80 3140 IF B1>1 GOTO 3170 3150 PRINT "NICE SHOOTING -- YOU DROVE THEM OFF" 3160 GOTO 3470 3170 IF B1<=4 GOTO 3220 3180 PRINT : PRINT "LOUSY SHOT -- YOU GOT KNIFED" 3190 LET K8=1 3200 PRINT "YOU HAVE TO SEE OL' DOC BLANCHARD" 3210 GOTO 3470 3220 PRINT "KINDA SLOW WITH YOUR COLT" 3230 GOTO 3470 3240 IF T1>3 GOTO 3290 3250 IF RND (10)>7 GOTO 3450 3260 LET B=B-150 3270 LET M1=M1-15 3280 GOTO 3470 3290 GOSUB 6140 3300 LET B=B-B1*30-80 3310 LET M=M-25 3320 GOTO 3140 3330 IF T1>1 GOTO 3370 3340 LET M=M+15 3350 LET A=A-10 3360 GOTO 3470 3370 IF T1>2 GOTO 3410 3380 LET M=M-5 3390 LET B=B-100 3400 GOTO 3470 3410 IF T1>3 GOTO 3430 3420 GOTO 3470 3430 LET M=M-20 3440 GOTO 3470 3450 PRINT:PRINT "THEY DID NOT ATTACK" 3460 GOTO 3550 3470 IF S5=0 GOTO 3500 3480 PRINT:PRINT "THE RIDERS WERE FRIENDLY, BUT YOU SHOULD CHECK FOR LOSSES" 3490 GOTO 3550 3500 PRINT:PRINT "THE RIDERS WERE HOSTILE -- CHECK FOR LOSSES" 3510 IF B>=0 GOTO 3550 3520 PRINT:PRINT "YOU RAN OUT OF BULLETS AND GOT MASSACRED BY THE RIDERS" 3530 GOTO 5170 3540 REM *** SELECTION OF EVENTS *** 3550 LET D1=0 3555 INPUT "TYPE 'GO' TO CONTINUE "C$ 3560 GOSUB 7100 3570 LET R1=INT(RND*100)+1 3576 IF R1>6 GOTO 3578 3577 GOTO 3660 3578 IF R1>11 GOTO 3580 3579 GOTO 3700 3580 IF R1>13 GOTO 3582 3581 GOTO 3740 3582 IF R1>15 GOTO 3584 3583 GOTO 3790 3584 IF R1>17 GOTO 3586 3585 GOTO 3820 3586 IF R1>22 GOTO 3588 3587 GOTO 3850 3588 IF R1>32 GOTO 3590 3589 GOTO 3880 3590 IF R1>35 GOTO 3592 3591 GOTO 3960 3592 IF R1>37 GOTO 3594 3593 GOTO 4130 3594 IF R1>42 GOTO 3596 3595 GOTO 4190 3596 IF R1>44 GOTO 3598 3597 GOTO 4220 3598 IF R1>54 GOTO 3600 3599 GOTO 4290 3600 IF R1>64 GOTO 3602 3601 GOTO 4340 3602 IF R1>69 GOTO 3604 3603 GOTO 4560 3604 IF R1>95 GOTO 4670 3605 GOTO 4610 3660 PRINT: PRINT "WAGON BREAKS DOWN -- LOSE TIME AND SUPPLIES FIXING IT" 3670 LET M=M-15-INT(RND*5) 3680 LET M1=M1-8 3690 GOTO 4710 3700 PRINT:PRINT "OX INJURES LEG -- SLOWS YOU DOWN FOR THE REST OF THE TRIP" 3710 M=M-25 3720 A=A-20 3730 GOTO 4710 3740 PRINT:PRINT "BAD LUCK -- YOUR DAUGHTER BROKE HER ARM YOU HAD TO" 3745 PRINT "STOP AND USE SUPPLIES TO MAKE A SLING" 3760 LET M=M-5-INT(RND*4) 3770 LET M1=M1-2-INT(RND*3) 3780 GOTO 4710 3790 PRINT:PRINT "OX WANDERS OFF -- LOSE TIME SEARCHING" 3800 LET M=M-17 3810 GOTO 4710 3820 PRINT:PRINT "YOUR SON GETS LOST -- IT TAKES HALF THE DAY TO FIND HIM" 3830 LET M=M-10 3840 GOTO 4710 3850 PRINT:PRINT "UNSAFE WATER -- LOSE TIME HUNTING FOR A CLEAN SPRING" 3860 LET M=M-2-INT(RND*10) 3870 GOTO 4710 3880 IF M>950 GOTO 4490 3890 PRINT:PRINT "HEAVY RAINS -- TIME AND SUPPLIES LOST" 3910 LET F=F-10 3920 LET B=B-500 3930 LET M1=M1-15 3940 LET M=M-5-INT(RND*10) 3950 GOTO 4710 3960 PRINT:PRINT "BANDITS ATTACK" 3970 GOSUB 6140 3980 LET B=B-20*B1 3990 IF B>=0 GOTO 4030 4000 PRINT:PRINT "YOU RAN OUT OF AMMO -- THEY ROBBED YOU" 4010 LET T=T/3 4020 GOTO 4040 4030 IF B1<=1 GOTO 4100 4040 PRINT:PRINT "YOU GOT SHOT IN THE LEG AND THEY TOOK ONE OF YOUR OXEN." 4050 PRINT "BETTER HAVE A DOC LOOK AT YOUR WOUND." 4060 LET K8=1 4070 LET M1=M1-5 4080 LET A=A-20 4090 GOTO 4710 4100 PRINT:PRINT "QUICKEST DRAW OUTSIDE OF DODGE CITY" 4110 PRINT:PRINT "YOU GOT 'EM" 4120 GOTO 4710 4130 PRINT:PRINT "THERE WAS A FIRE IN YOUR WAGON -- FOOD AND SUPPLIES DAMAGED" 4140 LET F=F-40 4150 LET B=B-400 4160 LET M1=M1-3-INT(RND*8) 4170 LET M=M-15 4180 GOTO 4710 4190 PRINT:PRINT "LOSE YOUR WAY IN HEAVY FOG -- TIME LOST" 4200 LET M=M-10-INT(RND*5) 4210 GOTO 4710 4220 PRINT:PRINT "YOU KILLED A POISONOUS SNAKE -- BUT ONLY AFTER IT BIT YOU" 4230 LET B=B-10 4240 LET M1=M1-5 4250 IF M1>=0 GOTO 4710 4260 PRINT:PRINT "YOU DIE OF THE SNAKEBITE SINCE YOU HAVE NO MEDICINE" 4270 GOTO 5170 4290 PRINT:PRINT "WAGON SWAMPED AT RIVER FORD -- YOU LOSE FOOD AND CLOTHING" 4300 LET F=F-30 4310 LET C=C-20 4320 M=M-20-INT(RND*20) 4330 GOTO 4710 4340 PRINT:PRINT "WILD ANIMALS ATTACK" 4350 GOSUB 6140 4360 IF B>39 GOTO 4410 4370 PRINT:PRINT "YOU WERE TOO LOW ON BULLETS -- THE WOLVES OVERPOWERED YOU" 4390 LET K8=1 4400 GOTO 5120 4410 IF B1>2 GOTO 4440 4420 PRINT:PRINT "NICE SHOOTING -- THEY DIDN'T GET MUCH" 4430 GOTO 4450 4440 PRINT:PRINT "SLOW ON THE DRAW -- THEY GOT AT YOUR FOOD AND CLOTHES" 4450 LET B=B-20*B1 4460 LET C=C-4*B1 4470 LET F=F-8*B1 4480 GOTO 4710 4490 PRINT:PRINT "COLD WEATHER -- BRRRRRR! -- YOU" 4495 PRINT 4500 IF C>22+INT(RND*4) GOTO 4530 4510 PRINT "DON'T "; 4520 LET C1=1 4530 PRINT:PRINT "HAVE ENOUGH CLOTHING TO KEEP WARM" 4540 IF C1=0 GOTO 4710 4550 GOTO 6300 4560 PRINT:PRINT "HAIL STORM -- SUPPLIES DAMAGED" 4570 LET M=M-5-INT(RND*10) 4580 LET B=B-200 4590 M1=M1-4-INT(RND*3) 4600 GOTO 4710 4610 IF E=1 GOTO 6300 4620 IF E=3 GOTO 4650 4630 IF INT(RND*100)>25 GOTO 6300 4640 GOTO 4710 4650 IF INT(RND*10)<5 GOTO 6300 4660 GOTO 4710 4670 PRINT:PRINT "HELPFUL INDIANS SHOW YOU WHERE TO FIND MORE FOOD" 4680 LET F=F+14 4690 GOTO 4710 4700 REM *** MOUNTAINS *** 4710 IF M<=950 GOTO 1230 4720 IF RND (10)>9-((M/100-15)^2+72)/((M/100-15)^2+12) GOTO 4860 4730 PRINT:PRINT "RUGGED MOUNTAINS" 4740 IF RND (10)>1 GOTO 4780 4750 PRINT:PRINT "YOU GOT LOST -- LOSE VALUABLE TIME TRYING TO FIND THE TRAIL!" 4760 M=M-60 4770 GOTO 4860 4780 IF INT(RND*100)>11 GOTO 4840 4790 PRINT:PRINT "WAGON DAMAGED -- LOSE TIME AND SUPPLIES" 4800 LET M1=M1-5 4810 LET B=B-200 4820 LET M=M-20-INT(RND*30) 4830 GOTO 4860 4840 PRINT:PRINT "THE GOING GETS SLOW" 4850 LET M=M-45-INT(RND*50) 4860 IF F1=1 GOTO 4900 4870 LET F1=1 4880 IF RND (10)<8 GOTO 4970 4890 PRINT:PRINT "YOU MADE IT SAFELY THROUGH SOUTH PASS -- NO SNOW" 4900 IF M<1700 GOTO 4940 4910 IF F2=1 GOTO 4940 4920 LET F2=1 4930 IF RND (10)<7 GOTO 4970 4940 IF M>950 GOTO 1230 4950 LET M9=1 4960 GOTO 1230 4970 PRINT:PRINT "BLIZZARD IN MOUNTAIN PASS -- TIME AND SUPPLIES LOST" 4980 LET L1=1 4990 LET F=F-25 5000 LET M1=M1-10 5010 LET B=B-300 5020 LET M=M-30-INT(RND*40) 5030 IF C<18+INT(RND*2) GOTO 6330 5040 GOTO 4940 5050 REM *** DYING *** 5060 PRINT:PRINT "YOU RAN OUT OF FOOD" 5062 GOSUB 7120 5065 PRINT:PRINT "AND STARVED TO DEATH" 5070 GOTO 5170 5080 LET T=0 5090 PRINT:PRINT "YOU CAN'T AFFORD A DOCTOR" 5100 GOTO 5120 5110 PRINT:PRINT "YOU RAN OUT OF MEDICAL SUPPLIES" 5115 GOSUB 7120 5120 PRINT:PRINT "YOU DIED OF "; 5130 IF K8=1 GOTO 5160 5140 PRINT "PNEUMONIA" 5150 GOTO 5170 5160 PRINT "YOUR INJURIES" 5170 WAIT (400) 5180 PRINT "DUE TO YOUR UNFORTUNATE SITUATION, THERE ARE A FEW" 5185 PRINT "FORMALITIES WE MUST GO THROUGH" 5200 PRINT 5210 PRINT "WOULD YOU LIKE A MINISTER? " 5220 INPUT C$ 5230 PRINT "WOULD YOU LIKE A FANCY FUNERAL? " 5240 INPUT C$ 5250 PRINT "WOULD YOU LIKE US TO INFORM YOUR NEXT OF KIN?" 5260 INPUT C$ 5270 IF C$="YES" GOTO 5310 5280 PRINT "BUT YOUR AUNT SADIE IN ST.LOUIS IS REALLY WORRIED ABOUT YOU." 5300 GOTO 5320 5310 PRINT "THAT WILL BE $4.50 FOR THE TELEGRAPH FEE" 5320 PRINT:PRINT 5325 WAIT (200) 5328 PRINT 5330 PRINT "WE THANK YOU FOR THIS INFORMATION AND WE ARE SORRY YOU" 5335 PRINT "DIDN'T MAKE IT TO THE GREAT TERRITORY OF OREGON. BETTER LUCK" 5340 PRINT "NEXT TIME." 5370 PRINT 5380 PRINT TAB(20);"SINCERELY" 5382 PRINT 5385 PRINT TAB(20);"THE OREGON CITY CHAMBER OF COMMERCE" 5395 PRINT 5400 END 5420 REM *** FINAL TURN *** 5430 LET F9=(2040-M2)/(M-M2) 5440 LET F=F+(1-F9)*(8+5*E) 5460 REM 5470 PRINT "YOU FINALLY ARRIVED AT OREGON CITY AFTER 2040 LONG MILES." 5475 PRINT "HOORAY!!!" 5480 PRINT 5485 PRINT "A REAL PIONEER" 5490 PRINT 5510 LET F9=F9*14 5520 LET D3=D3*14+F9 5530 LET F9=F9+1 5540 IF F9<8 GOTO 5560 5550 LET F9=F9-7 5560 IF F9=1 THEN D$="MONDAY" 5570 IF F9=2 THEN D$="TUESDAY" 5580 IF F9=3 THEN D$="WEDNESDAY" 5590 IF F9=4 THEN D$="THURSDAY" 5600 IF F9=5 THEN D$="FRIDAY" 5610 IF F9=6 THEN D$="SATURDAY" 5620 IF F9=7 THEN D$="SUNDAY" 5630 IF D3>124 GOTO 5740 5710 LET D3=D3-93 5720 PRINT D$;" JULY ";D3;" 1847" 5730 GOTO 5920 5740 IF D3>155 GOTO 5780 5750 LET D3=D3-124 5760 PRINT D$;" AUGUST ";D3;" 1847" 5770 GOTO 5920 5780 IF D3>185 GOTO 5820 5790 LET D3=D3-155 5800 PRINT D$;" SEPTEMBER ";D3;" 1847" 5810 GOTO 5920 5820 IF D3>216 GOTO 5860 5830 LET D3=D3-185 5840 PRINT D$;" OCTOBER ";D3;" 1847" 5850 GOTO 5920 5860 IF D3>246 GOTO 5900 5870 LET D3=D3-216 5880 PRINT D$;" NOVEMBER ";D3;" 1847" 5890 GOTO 5920 5900 LET D3=D3-246 5910 PRINT D$;" DECEMBER ";D3;" 1847" 5920 PRINT 6050 WAIT (200) 6060 PRINT 6080 PRINT TAB(5);"PRESIDENT JAMES K.POLK SENDS YOU HIS HEARTIEST" 6090 PRINT TAB(5);"CONGRATULATIONS AND WISHES YOU A PROSPEROUS LIFE" 6100 PRINT TAB(5);"AT YOUR NEW HOME." 6110 PRINT 6125 END 6130 REM *** SHOOTING SUBROUTINE *** 6140 LET S6=INT(RND*10) 6150 PRINT "TYPE ";S6 6160 LET I=1 6170 REM FOR I=1 TO 5000 6190 REM IF PEEK (-16384)>147 GOTO 6210 6200 REM NEXT I 6210 INPUT S 6220 LET B1=(I/10)-D9-5 6230 PRINT 6240 IF B1>0 GOTO 6260 6250 LET B1=0 6260 IF S=S6 GOTO 6280 6270 LET B1=9 6280 RETURN 6290 REM *** ILLNESS SUBROUTINE *** 6300 IF RND (100)<10+35*(E-1) GOTO 6370 6310 IF RND (100)<100-40/(4^(E-1)) GOTO 6410 6320 PRINT : PRINT "SERIOUS ILLNESS -- " 6330 PRINT : PRINT "YOU MUST STOP FOR MEDICAL ATTENTION" 6340 LET M1=M1-10 6350 LET S4=1 6360 GOTO 6440 6370 PRINT:PRINT "MILD ILLNESS -- MEDICINE USED" 6380 LET M=M-5 6390 LET M1=M1-2 6400 GOTO 6440 6410 PRINT:PRINT "BAD ILLNESS -- MEDICINE USED" 6420 LET M=M-5 6430 LET M1=M1-5 6440 IF M1<0 GOTO 5110 6450 IF L1=1 GOTO 4940 6460 GOTO 4710 7100 REM *** UPDATE *** 7110 PRINT "MILES:";M;" FOOD:";F;" AMMO:";B;" CLOTHING:";C;" MISC.:";M1;" CASH: $";T 7120 RETURN 7200 REM *** CHECK PURCHASES *** 7210 INPUT P 7220 IF P<0 GOTO 7290 7230 LET T=T-P 7240 IF T>=0 GOTO 7290 7250 PRINT "YOU DON'T HAVE THAT MUCH -- KEEP YOUR" 7260 PRINT "SPENDING DOWN. YOU MISS YOUR CHANCE" 7270 PRINT "TO SPEND ON THAT ITEM." 7280 LET T=T+P 7285 LET P=0 7290 RETURN