10 HOME : VTAB 10: PRINT TAB( 5)"HIDE, HIDE, THE COW'S OUTSIDE!!!": PRINT : PRINT : PRINT : PRINT : PRINT : PRINT TAB( 19)"BY": PRINT : PRINT : PRINT TAB( 16)"KEN ROSE": FOR A = 1 TO 5000: NEXT A: HOME
20 DIM N(43),S(43),E(43),W(43),RD(43): REM DIMENSIONS VARIABLES
30 FOR A = 1 TO 43: REM LOADS ROOM VARIABLES
40 READ N(A),S(A),E(A),W(A)
50 NEXT
60 READ A0$,A1$,A2$,A3$,A4$,A5$,A6$,A7$,A8$,A9$,B0$,B1$,B2$,B3$,B4$,B5$,B6$,B7$,B8$,B9$,C0$,C1$,C2$,C3$,C4$,C5$,C6$,C7$,C8$,C9$,D0$,D1$,D2$,D3$,D4$,D5$,D6$,D7$,D8$,D9$,E0$,E1$,E2$,E3$: REM LOADS WORD VARIABLES
120 FOR A = 1 TO LEN(A$): IF MID$ (A$,A,1) = " " THEN X = A -1:A = 0: GOTO 150
130 NEXT A
140 V1$ = A$: GOTO 200
150 V1$ = LEFT$(A$,X)
160 IF RIGHT$(A$, LEN(A$) -X) = " " THEN N1$ = "": GOTO 200
170 N1$ = RIGHT$(A$, LEN(A$) -(X +1)):X = 0
200 REM VERB HANDLING ROUTINE
202 IF V1$ = "SAVE" THEN GOTO 4500
204 IF V1$ = "QUIT" THEN GOTO 4000
210 IF Q1 = 1 THEN Q1 = 0: GOTO 1620: REM Q1 IS BULL ROUTINE FLAG
220 IF Q3 = 1 THEN GOTO 2100: REM TRAIN IS STOPPED AND CLOCK IS TICKING
230 IF V1$ = "NORTH" OR V1$ = "N" OR V1$ = "SOUTH" OR V1$ = "S" OR V1$ = "EAST" OR V1$ = "E" OR V1$ = "WEST" OR V1$ = "W" THEN Q2 = 0: GOTO 400
240 IF V1$ = E0$ THEN WO = 1: PRINT : PRINT "O.K., LONG DESCRIPTIONS COMING UP.": GOTO 100
250 IF V1$ = E1$ THEN WO = 0: PRINT : PRINT "O.K., BACK TO SHORT DESCRIPTIONS.": GOTO 100
260 IF Q2 = 1 THEN Q2 = 0: GOTO 1870: REM Q2 IS YUCKO SAM PAYOFF ROUTINE FLAG
270 IF V1$ = B1$ OR V1$ = B2$ OR V1$ = B3$ THEN X = 44: PRINT : PRINT "YOU ARE CARRYING: ": PRINT : GOTO 600: REM INVENTORY ROUTINE
280 IF V1$ = A0$ OR V1$ = A1$ THEN GOTO 800: REM GET ROUTINE
290 IF V1$ = A3$ THEN GOTO 1100: REM DROP ROUTINE
300 IF V1$ = B6$ THEN GOTO 1400: REM DIG ROUTINE
310 IF V1$ = D5$ AND OB(5) = 45 AND OB(7) = R AND OB(4) = 44 THEN GOTO 1670: REM ROPE
320 IF N1$ = D5$ AND OB(5) = 45 AND OB(7) = R AND OB(4) = 44 THEN GOTO 1670: REM ROPE
330 IF V1$ = A4$ AND OB(7) = 44 AND R = 23 THEN OB(7) = 23: PRINT : PRINT "THE BULL IS TIED TO THE HITCHING POST.": GOTO 100: REM TIE
340 IF V1$ = E2$ AND OB(7) = 23 THEN PRINT : PRINT "O.K. YOU'RE LEADING THE BULL AGAIN.":OB(7) = 44: GOTO 100: REM UNTIE
350 IF N1$ = E3$ AND OB(1) = 44 THEN OB(1) = 0:OB(8) = 44: PRINT : PRINT "THE STATION MASTER TAKES YOUR BEAD AND SAYS, 'THAT WAMPUM'S WORTH ABOUT $1.' HE GIVES YOU A TICKET.": GOTO 100
360 IF V1$ = B8$ AND R = 34 THEN GOTO 2000: REM WAITING FOR TRAIN
370 IF V1$ = B8$ THEN PRINT : PRINT "HMMMM.....HMMMMM......HMMMMM....": GOTO 100: REM GENERAL WAITING ROUTINE
380 IF R = 34 AND TR >0 AND N1$ = D1$ THEN GOTO 2030: REM BOARDING TRAIN
390 PRINT : PRINT "I DON'T KNOW WHAT YOU MEAN!": GOTO 100
400 REM MOVING AROUND ROUTINE AND SPECIAL CONDITIONS
410 IF R = 8 OR R = 9 THEN GOTO 1800: REM YUCKO SAM GENERAL ROUTINES
420 X = R
430 IF V1$ = "NORTH" OR V1$ = "N" THEN R = N(R)
440 IF V1$ = "SOUTH" OR V1$ = "S" THEN R = S(R)
450 IF V1$ = "EAST" OR V1$ = "E" THEN R = E(R)
460 IF V1$ = "WEST" OR V1$ = "W" THEN R = W(R)
470 IF R >0 THEN X = R: HOME : GOTO 490
480 IF R = 0 THEN PRINT : PRINT "YOU CAN'T MOVE THAT WAY AT THIS TIME.":R = X:X = 0: GOTO 100
490 IF WO = 1 THEN RD(R) = 0: REM RESET LONG DESCRIPTION
500 IF R >25 THEN GOTO 530
510 ON R GOSUB 2510,2530,2550,2570,2590,2610,2630,2650,2670,2690,2700,2730,2750,2770,2790,2810,2820,2840,2860,2880,2900,2920,2940,2960,2980
520 GOTO 540
530 ON R -25 GOSUB 3000,3020,3040,3060,3080,3100,3120,3140,3160,3180,3200,3220,3240,3270,3290,3310,3350,3390
540 IF C1 = R OR C2 = R OR C3 = R OR C4 = R THEN PRINT : PRINT "THERE IS A COW HERE!": GOSUB 1500: REM GATHER UP COWS
550 IF OB(7) = R THEN PRINT : PRINT "THERE IS A BULL HERE!"
560 IF OB(7) = 44 THEN PRINT : PRINT "YOU ARE LEADING A BULL BY THE NOSE."
570 IF OB(7) = 44 AND CW >0 THEN PRINT : PRINT "THE BULL IS FOLLOWED BY ";CW;" COWS."
580 PRINT : PRINT "OBJECTS HERE ARE:": PRINT
590 X = R
600 REM LISTING OF OBJECTS ROUTINE
610 IF X = OB(1) THEN PRINT "AN INDIAN BEAD":Y = 1
620 IF X = OB(2) THEN PRINT "GOLD":Y = 1
630 IF X = OB(3) THEN PRINT "A CASHIER'S CHECK":Y = 1
640 IF X = OB(4) THEN PRINT "A ROPE":Y = 1
650 IF X = OB(5) THEN PRINT "AN INDIAN RING":Y = 1
660 IF X = OB(6) THEN PRINT "A MINER'S PICK":Y = 1
670 IF X = OB(8) THEN PRINT "A TRAIN TICKET":Y = 1
680 IF X = OB(9) THEN PRINT "DEAD CATTLE":Y = 1
690 IF Y = 0 THEN PRINT "NOTHING"
700 Y = 0:X = 0: GOTO 100
800 REM GET ROUTINE
810 X = 0: IF N1$ = "" THEN PRINT : PRINT "HEY, I NEED A NOUN!": GOTO 900
820 GOSUB 1200: REM CHECKING NOUN VALIDITY
830 IF OB(X) = R OR OB(X) = 44 THEN GOTO 880
840 IF OB(7) = 23 THEN GOTO 870: REM BULL IS TIED UP
850 IF N1$ = C9$ THEN GOTO 1590: REM GETTING BULL
860 IF OB(5) = 45 AND OB(7) = R THEN GOTO 1660: REM PART OF BULL PUZZLE SOLVED
870 PRINT : PRINT "YOU CAN'T, AT THE MOMENT.": GOTO 900
880 OB(X) = 44: REM YOU ARE ROOM 44; I.E., YOU'VE GOT OBJECT
890 PRINT : PRINT "O.K. YOU'VE GOT THE ";N1$;"."
900 X = 0: GOTO 100
1100 REM DROP ROUTINE
1110 X = 0: IF N1$ = "" THEN PRINT : PRINT "HEY, I NEED A NOUN!": GOTO 1160
1120 GOSUB 1200: REM CHECKING NOUN VALIDITY
1130 IF OB(X) = 44 THEN GOTO 1150
1140 PRINT : PRINT "YOU'RE NOT CARRYING THE ";N1$;".": GOTO 1160
1310 IF IC = 0 THEN PRINT : PRINT "THE OLD CHIEF IS GLAD TO SEE YOU AND GIVES YOU A BEAUTIFUL NOSE RING.":OB(5) = 44:IC = 1: RETURN
1320 IF IC = 1 THEN PRINT : PRINT "THE OLD CHIEF IS GETTING ANGRY, 'PLEASE LEAVE, YOU'RE MUDDYING UP THE TENT!'":IC = 2: RETURN
1330 IF IC = 2 THEN PRINT : PRINT "OH NO. THE OLD CHIEF HAS TURNED SURLY...HIS HAIR IS STANDING UP...HE IS SURLY WITH A FRINGE ON TOP. HE HAS YOU FED TO THE CAMP KATZ.": GOTO 3750
1400 REM DIG ROUTINE
1410 IF N1$ = D0$ AND OB(6) = 44 AND R = 22 THEN PRINT : PRINT "YOU'VE FOUND THE FABULOUS MCDONALD NUGGET. YOU ARE LUCKY INDEED. SADLY, THOUGH, YOU'VE DROPPED THE PICK DOWN A BOTTOMLESS SHAFT.":OB(6) = 0:OB(2) = 44: GOTO 1440
1420 IF OB(6) = 44 THEN PRINT : PRINT "YOU LOAD 16 TONS AND WHAT DO YOU GET, ANOTHER DAY OLDER AND COVERED WITH SWEAT": GOTO 1440
1430 PRINT : PRINT "YOU'VE NOTHING TO DIG IT WITH!": GOTO 1440
1440 GOTO 100
1500 REM COW AND BULL SUBROUTINE
1510 IF C1 = R AND OB(7) = 44 THEN C1 = 0:CW = CW +1: GOTO 1560
1520 IF C2 = R AND OB(7) = 44 THEN C2 = 0:CW = CW +1: GOTO 1560
1530 IF C3 = R AND OB(7) = 44 THEN C3 = 0:CW = CW +1: GOTO 1560
1540 IF C4 = R AND OB(7) = 44 THEN C4 = 0:CW = CW +1: GOTO 1560
1550 GOTO 1570
1560 PRINT "THE COW BLUSHES MODESTLY, SMILES AND FOLLOWS THE BULL."
1570 RETURN
1580 IF OB(7) = 44 THEN PRINT : PRINT "YOU'VE GOT THE BULL!": RETURN
1590 IF OB(7) = R THEN GOTO 1610: REM THE BULL IS HERE
1600 PRINT : PRINT "HE ISN'T HERE, YET.": RETURN
1610 Q1 = 1: PRINT : PRINT "O.K. BUT WITH WHAT OR HOW?": GOTO 900: REM Q1 FLAG SAYS BULL ROUTINE IN PROGRESS
1620 IF OB(5) = 45 THEN GOTO 1670: REM FIRST PART OF BULL PUZZLE SOLVED
1630 IF N1$ = D4$ AND OB(5) = 44 THEN OB(5) = 45: GOTO 1660
1640 IF V1$ = D4$ AND OB(5) = 44 THEN OB(5) = 45: GOTO 1660
1660 PRINT : PRINT "THE BULL ADMIRES THE LOVELY RING AND ALLOWS YOU FASTEN IT TO HIS NOSE.": GOTO 100
1670 IF N1$ = D5$ AND OB(4) = 44 THEN OB(4) = 45: GOTO 1700
1680 IF V1$ = D5$ AND OB(4) = 44 THEN OB(4) = 45: GOTO 1700
1690 PRINT : PRINT "A GOOD TRY, BUT TO WIN THE BATTLE WITH THE CATTLE YOU'VE GOT NO HOPE WITHOUT A ROPE.": GOTO 100
1700 PRINT : PRINT "YOU TIE THE ROPE TO THE BULL'S NOSE RINGAND HE ALLOWS HIMSELF TO BE LED AROUND BY THE NOSE.":OB(7) = 44: GOTO 100
1800 REM YUCKO SAM
1810 IF YS = 1 THEN GOTO 420
1820 IF V1$ = "S" OR V1$ = "SOUTH" THEN GOTO 1840
1830 GOTO 420
1840 IF R = 8 AND OB(7) = 44 THEN GOTO 1860: REM TRYING TO CROSS WITH BULL
1850 IF R = 9 AND OB(7) < >44 THEN GOTO 420: REM TRYING TO CROSS TOLL
1860 PRINT : PRINT "ROOTIN' TOOTIN' YUCKO SAM APPEARS AND SAYS: 'PARD, THAT'LL COST YOU SOME DINERO TO CROSS.'":Q2 = 1: GOTO 100: REM Q2 IS PAYOFF ROUTINE FLAG
1870 IF OB(2) = 44 THEN GOTO 1890
1880 IF V1$ = D0$ OR N1$ = D0$ THEN PRINT : PRINT "YOU DON'T HAVE IT, YET.": GOTO 100
1890 IF V1$ = D0$ OR N1$ = D0$ THEN PRINT : PRINT "YUCKO SAM STEPS ASIDE AND DOFFS HIS SOMBRERO TO LET YOU PASS.":OB(2) = 0:YS = 1: GOTO 100
1900 PRINT : PRINT "YUCKO SEZ, DON'T GIMME NO GUFF. WHAT I CRAVES IS GOLD.": GOTO 100
2000 REM TRAIN ROUTINE
2010 IF TR >2 THEN PRINT : PRINT "CHOO CHUG": GOTO 100: REM STUCK FOREVER
2020 PRINT : PRINT "A SMOKY, PUFFING OLD TRAIN PULLS INTO THE STATION.":TR = TR +1: GOTO 100: REM TRAIN COUNTER RUNNING
2030 IF OB(8) = 44 THEN HOME : PRINT "YOU BOARD THE TRAIN AND THE CONDUCTOR TAKES YOUR TICKET.":OB(8) = 0: GOTO 2050
2040 PRINT : PRINT "NO TICKEE, NO TRAINEE.": GOTO 100
2050 IF TR = 1 AND OB(7) = 44 THEN OB(7) = 0:CW = 0: PRINT : PRINT "THE TRAIN PULLS OUT OF THE STATION AND AS YOU LOOK OUT THE WINDOW YOU SEE YOUR HERD WAVING GOODBYE FROM THE PLATFORM.":R = 39: GOTO 100
2060 IF OB(7) < >44 AND TR = 1 THEN PRINT : PRINT "THE TRAIN PULLS OUT OF THE STATION AND YOU ARE IN ST. LOUIS IN A JIFFY.":R = 39: GOTO 100
2070 IF TR = 2 AND OB(7) = 44 THEN OB(7) = 0:CW = 0: PRINT : PRINT "YOU MOMENTARILY STEP OFF THE TRAIN TO BUY A PAPER, AND AS YOU LOOK BACK YOU SEE YOUR COWS WAVING BYE BYE FROM THE CATTLE CAR PULLING OUT.": GOTO 100
2080 IF OB(7) < >44 THEN PRINT : PRINT "YOU MOMENTARILY STEP OFF THE TRAIN TO BUY A PAPER, AND AS YOU LOOK BACK YOU SEE THE TRAIN PULLING OUT WITHOUT YOU.": GOTO 100
2090 R = 35: GOTO 530
2100 REM TRAIN STOP
2110 CL = CL +1: REM CLOCK IS RUNNING
2120 IF CL = 8 AND R = 35 AND WC = 1 THEN Q3 = 0: PRINT : PRINT "YOU ARRIVE IN ST. LOUIS WITH A HAPPY HERD OF CATTLE.":R = 39: GOTO 530
2130 IF CL = 8 AND R = 35 THEN Q3 = 0: PRINT : PRINT "YOU ARRIVE IN ST. LOUIS BUT YOUR HERD HAS PERISHED FROM THIRST.":R = 39:OB(7) = 0:CW = 0:OB(9) = 44: GOTO 530
2140 IF CL = 8 THEN S(36) = 0:Q3 = 0: PRINT : PRINT "OH NO---THE TRAIN HAS LEFT WITHOUT YOU AND THAT WAS THE VERY LAST TRAIN...EVER TO STOP AT YUCKO FLATS!!!": GOTO 100
2150 GOTO 230
2200 REM STOCKYARD ROUTINE
2210 IF OB(9) = 44 THEN PRINT : PRINT "OL YUCKO SAM APPEARS AND PUNCHES YOU IN THE EYE. 'GET THEM VARMINTS OUTTA HYAR AFORE I VENTILATES YA!!!": RETURN
2220 MO = 100 +(CW *100): REM AMOUNT OF MONEY CALCULATION
2230 PRINT : PRINT "OL YUCKO SAM APPEARS AND INSPECTS YOUR HERD. 'THEM THAR'S MIGHTY FINE BEEVES. HYARS A CHECK FOR ";MO;" BUCKS, PARD.THANKEE KINDLEE.' HE LEADS YOUR HERD AWAY.":OB(7) = 0:CW = 0:OB(3) = 44: RETURN
2500 REM ROOM DESCRIPTION SUBROUTINES
2510 PRINT "YOU'RE ON THE BUY-A PENINSULA": IF RD(R) = 1 THEN RETURN
2520 PRINT : PRINT "IT IS THE YEAR 1887 AND YOU ARE AN OLD COWHAND MAKING A MEAGER LIVING PUNCHING CATTLE. THIS IS THE ANNUAL ROUND UP IN OLD MEXICO TO CAPTURE A WILD HERD FOR SALE IN OLD ST. LOUIS.":RD(R) = 1: RETURN
2530 PRINT "YOU'RE HOME ON THE RANGE": IF RD(R) = 1 THEN RETURN
2540 PRINT : PRINT "HOME HOME ON THE RANGE,": PRINT "WHERE THE DEER AND THE ANTELOPE PLAY,": PRINT "WHERE SELDOM IS HEARD, A DISCOURAGING WORD,": PRINT "FOR WHAT CAN AN ANTELOPE SAY?":RD(R) = 1: RETURN
2550 PRINT "YOU'RE IN AN ADOBE HACIENDA": IF RD(R) = 1 THEN RETURN :
2560 PRINT : PRINT "YOU HAVE JUST ENTERED THE WEST ENTRANCE OF MY ADOBE HACIENDA. THERE IS AN ENTRANCE (OR EXIT) TO THE EAST.":RD(R) = 1: RETURN
2570 PRINT "YOU'RE IN THE HACIENDA'S CORRAL": IF RD(R) = 1 THEN RETURN
2580 PRINT : PRINT "PLEASE WATCH WHERE YOU STEP HERE. IF NOT, THERE IS A STRONG POSSIBILITY OF YOU TRACKING UP THE REST OF THE GAME.":RD(R) = 1: RETURN
2590 PRINT "YOU'RE ON A HIGH BLUFF": IF RD(R) = 1 THEN RETURN
2600 PRINT : PRINT "TO THE EAST IS AN IMPASSABLE RANGE OF MOUNTAINS, THE SIERRA PADRES. FAR BELOW IS THE RIO YUCKO, SLOWLY MEANDERING ON IT'S ENDLESS QUEST FOR THE SEA (POETIC, EH?).":RD(R) = 1: RETURN
2610 PRINT "YOU'RE ON A LOW BLUFF": IF RD(R) = 1 THEN RETURN
2620 PRINT : PRINT "TO THE EAST IS A HIGH BLUFF. TO THE WEST IS A NARROW FISSURE WITH THE FIGUREOF A KING CARVED NEXT TO IT ALONG WITH THE WORDS, 'BOBBY WAS HERE'.":RD(R) = 1: RETURN
2630 PRINT "YOU'RE IN POOR BOX CANYON": IF RD(R) = 1 THEN RETURN
2640 PRINT : PRINT "THIS IS A VERY POOR BOX CANYON AS IT HASSEVERAL EXITS...A FISSURE TO EAST, AN ENTRANCE TO THE WEST AND ANOTHER EXIT TO THE NORTH. YOU MAY WANT TO MAKE A SMALL DONATION TO SAVE THE CANYON.":RD(R) = 1: RETURN
2650 PRINT "YOU'RE AT A FORD": IF RD(R) = 1 THEN RETURN
2660 PRINT : PRINT "TO THE SOUTH IS THE RIO YUCKO RIVER. THERE IS A RESTROOM HERE... THIS IS A JOHN FORD.": PRINT "A CRUDELY LETTER SIGN READS: 'CATTLE ARE FREE FOR PEEPLE A FEE.'":RD(R) = 1: RETURN
2670 PRINT "YOU'RE AT A SHALLOW FORD": IF RD(R) = 1 THEN RETURN
2680 PRINT : PRINT "TO THE SOUTH IS THE RIO YUCKO RIVER. A CRUDELY SCRAWLED SIGN HERE READS: 'PEEPLE ARE FREE FOR CATTLE A FEE.'":RD(R) = 1: RETURN
2690 PRINT "YOU'RE IN THE ROLLING HILLS": RETURN
2700 PRINT "YOU'RE IN THE DARK HILLS": IF RD(R) = 1 THEN RETURN
2710 PRINT : PRINT "TO THE WEST IS A GLOOMY, DARK ENCHANTED LAND WHERE THE FORCES OF EVIL ARE GATHERING TO DESTROY CIVILIZATION. ONLY YOU CAN SAVE THE WORLD, BUT THAT HAS NOTHING TO DO WITH THIS ADVENTURE AS YOU CAN'T GO WEST."
2720 RD(R) = 1: RETURN
2730 PRINT "YOU'RE IN AN ARROYA": IF RD(R) = 1 THEN RETURN
2740 PRINT : PRINT "THERE IS VERY TASTY, MUNCHY GRASS GROWING HERE.":RD(R) = 1: RETURN
2750 PRINT "YOU'RE IN THE PLAZA DE TOROS": IF RD(R) = 1 THEN RETURN
2760 PRINT : PRINT "THIS BULLFIGHTING ARENA IS OVERGROWN WITH WEEDS AND HAS BEEN LONG ABANDONED. THE BRIGHT COLORS OF THE WOODEN SEATS HAVE FADED.":RD(R) = 1: RETURN
2770 PRINT "YOU'RE IN A ARROYA": IF RD(R) = 1 THEN RETURN
2780 PRINT : PRINT "THERE IS LOCO WEED GROWING HERE.":RD(R) = 1: RETURN
2790 PRINT "YOU'RE AT THE MINE ENTRANCE": IF RD(R) = 1 THEN RETURN
2800 PRINT : PRINT "THIS IS THE LOST SCOTCHMAN MINE. HIS NAME WAS MAC...SOMETHING OR MC...SOME- THING.":RD(R) = 1: RETURN
2810 PRINT "YOU'RE IN THE BADLANDS": RETURN
2820 PRINT "YOU'RE IN THE BADLANDS": IF RD(R) = 1 THEN RETURN
2830 PRINT : PRINT "A WELL WORN ROAD TO THE SOUTH LEADS TO THE RAILHEAD AT ABILENE.":RD(R) = 1: RETURN
2840 PRINT "YOU'RE IN THE BADLANDS": IF RD(R) = 1 THEN RETURN
2850 PRINT : PRINT "A WELL WORN ROAD TO THE SOUTH LEADS TO THE RAILHEAD AT ABILENE. BE CAREFUL, AS THERE IS LOCO WEED GROWING HERE.":RD(R) = 1: RETURN
2860 PRINT "YOU'RE IN THE BADLANDS": IF RD(R) = 1 THEN RETURN
2870 PRINT : PRINT "THE SUN BEATS DOWN ON YOUR HEAD AS YOU EXPLORE THIS WILD FORSAKEN LAND.":RD(R) = 1: RETURN
2880 PRINT "YOU'RE IN THE BADLANDS"
2890 PRINT : PRINT "THE WIND HOWLS AND A WILD STORM RAGES AROUND YOU. YET, YOU STRUGGLE ON...": RETURN
2900 PRINT "YOU'RE IN THE GOODLANDS": IF RD(R) = 1 THEN RETURN
2910 PRINT : PRINT "THIS IS A SPOT RIFE WITH GREEN GRASS ANDLOVELY WEATHER.": PRINT : PRINT "THERE IS A WATERHOLE HERE.":RD(R) = 1: RETURN
2920 PRINT "YOU ARE IN THE LOST SCOTCHMAN MINE": IF RD(R) = 1 THEN RETURN
2930 PRINT : PRINT "THIS IS A SMALL MINE AND IS LIT BY LIGHTSTREAMING IN THROUGH THE ENTRANCE. THE LIGHT GLINTS OFF PARTICLES OF FOOL'S GOLD EMBEDDED IN THE WALLS.":RD(R) = 1: RETURN
2940 PRINT "YOU'RE AT THE RAILHEAD IN ABILENE. THERE'S A HITCHING POST HERE. ": IF RD(R) = 1 THEN RETURN
2950 PRINT : PRINT "ABILENE HAS NOTHING TO OFFER EXCEPT A TRAIN STATION WHERE THE TRAINS TO ST. LOUIS COME THROUGH SEVERAL TIMES A DAY.":RD(R) = 1: RETURN
2960 PRINT "YOU ARE IN THE BADLANDS": RETURN
2970 REM
2980 PRINT "YOU ARE IN THE BADLANDS": IF RD(R) = 1 THEN RETURN :
2990 PRINT : PRINT "THERE IS A WATERHOLE HERE. SOMEONE HAS SCRAWLED ON A SIGN": PRINT : PRINT "'DANGER...THIS HERE WATERHOLE'S PIZEN!'":RD(R) = 1: RETURN : REM IT REALLY ISN'T BUT YOU COULD PUT ONE HERE
3000 PRINT "YOU'RE IN SITTING BULL'S TEPEE": GOSUB 1300
3010 RETURN
3020 PRINT "YOU'RE IN AN INDIAN VILLAGE": RETURN
3030 REM
3040 PRINT "YOU'RE IN AN INDIAN VILLAGE": IF RD(R) = 1 THEN RETURN
3050 PRINT : PRINT "SEVERAL INDIANS ARE DISCUSSING STARTING A TRADING POST. THEY IGNORE YOU AS THEYARE WORKING UP A PRO FORMA USING A VISI-CALC MODEL.":RD(R) = 1: RETURN
3060 PRINT "YOU'RE AT THE ENTRANCE OF A TEPEE": RETURN
3070 REM
3080 PRINT "YOU'RE IN AN INDIAN VILLAGE": IF RD(R) = 1 THEN RETURN
3090 PRINT : PRINT "SEVERAL INDIANS ARE ARGUING OVER THE RELATIVE MERITS OF THE FLIGHT CHARACTER-ISTICS OF ARROWS FEATHERED WITH THE AFRICAN SWALLOW'S VS. EUROPEAN SWALLOW'SFEATHERS. THEY IGNORE YOU.":RD(R) = 1: RETURN
3100 PRINT "YOU'RE IN A SMALL DESERT": IF RD(R) = 1 THEN RETURN
3110 PRINT : PRINT "IT IS VERY HOT AND DRY HERE.":RD(R) = 1: RETURN
3120 PRINT "YOU'RE IN A SMALL DESERT": IF RD(R) = 1 THEN RETURN
3130 PRINT : PRINT "IT IS VERY HOT AND DRY HERE.":RD(R) = 1: RETURN
3140 PRINT "YOU'RE IN THE TRAIN STATION": IF OB(7) = 44 THEN GOTO 3710
3150 PRINT : PRINT "A SIGN HERE READS: ": PRINT "'TICKETS TO ST.LOUIS,$1.00'": PRINT "'NO SMOKING. NO CATTLE ALLOWED IN STATION.'": RETURN
3160 PRINT "YOU'RE ON THE TRAIN PLATFORM"
3170 PRINT : PRINT "A SIGN SAYS: ": PRINT "'WAIT HERE FOR TRAINS.'": RETURN
3180 PRINT "YOU'RE AT A TRAIN STOP":Q3 = 1: REM Q3 FLAG STARTS TRAIN STOP ROUTINE
3190 PRINT : PRINT "THE CONDUCTOR SAYS:": PRINT : PRINT "'THERE'LL BE A BRIEF STOP. IF YOU LEAVE THE TRAIN, BE SURE TO BE BACK IN EIGHT MINUTES. OTHERWISE, JUST WAIT.'": RETURN
3200 PRINT "YOU'RE IN A DRY STREAM BED": RETURN
3210 REM
3220 PRINT "YOU'RE IN A DRY STREAM BED": RETURN
3230 REM
3240 PRINT "YOU'RE AT A MUD HOLE": IF RD(R) = 1 THEN RETURN
3250 PRINT : PRINT "THERE IS A LITTLE WATER AT THE BOTTOM OFTHE MUD HOLE, BUT YOU CAN SEE THE BONES OF CATTLE WHO HAVE BEEN MIRED HERE AND UNABLE TO GET OUT.": IF WC = 0 AND OB(7) = 44 THEN PRINT "YOUR CATTLE SLURP UP SOME WATER":WC = 1
3260 RD(R) = 1: RETURN
3270 PRINT "YOU'RE IN OLD ST. LOUIS": IF RD(R) = 1 THEN RETURN
3280 PRINT : PRINT "YOU'VE MADE IT TO ST. LOUIS, CATTLE CENTER OF THE COUNTRY.":RD(R) = 1: RETURN
3290 PRINT "YOU'RE ON MAIN STREET": IF RD(R) = 1 THEN RETURN
3300 PRINT : PRINT "OLD ST. LOUIS IS A TOWN OF MONEY, CATTLEAND LOOSE WOMEN, NOT NECESSARILY IN THATORDER. REMEMBER WHAT YOU PROMISED YOUR DEAR OLD MOM.":RD(R) = 1: RETURN
3310 PRINT "YOU'RE AT THE STOCKYARDS"
3320 : PRINT : PRINT "A SIGN HERE SAYS, 'WE BUYSES COWSES.'": IF OB(7) = 44 THEN GOSUB 2200: REM COW SELLING ROUTINE
3330 IF OB(9) = 44 THEN GOSUB 2200: REM TRYING TO SELL DEAD COWS
3340 RETURN
3350 PRINT "YOU'RE IN A BANK"
3360 IF OB(3) = 44 THEN POP : GOTO 3730
3370 PRINT : PRINT "A SIGN HERE READS: ": PRINT : PRINT "'NO CATTLE ALLOWED.'": IF OB(7) = 44 OR OB(9) = 44 THEN POP : GOTO 3710
3380 RETURN
3390 PRINT "YOU'RE IN A DANCE HALL"
3400 PRINT : PRINT "A SIGN HERE READS: ": PRINT : PRINT "'NO CATTLE ALLOWED.'": IF OB(7) = 44 OR OB(9) = 44 THEN POP : GOTO 3710
3410 IF OB(3) = 44 THEN POP : GOTO 3720
3420 RETURN
3500 REM ROOM DATA STATEMENTS
3510 DATA 0,8,2,14,0,7,3,1,0,6,4,2,0,5,0,3,4,0,0,6,3,0,5,7,2,0,6,8,1,18,7,9,14,17,8,10,0,0,9,11,12,0,10,0,0,11,13,0,0,0,14,12,0,9,1,13,0,22,16,0,0,0,17,15
3520 DATA 9,23,18,16,8,23,19,17,7,24,20,18,0,0,21,19,0,0,0,20,15,0,0,0,18,33,0,17,19,34,25,0,0,0,0,24,0,29,0,0,0,30,28,0,0,31,0,27,26,0,30,0,27,0,31,29,28,0,32,30
3530 DATA 0,0,33,31,23,34,0,32,33,0,0,0,36,0,0,0,0,35,37,0,0,0,38,36,0,0,0,37,0,40,0,0,43,42,39,41,0,0,40,0,40,0,0,0,0,40,0,0
3600 REM VOCABULARY
3610 DATA "GET","TAKE","CATCH","DROP","TIE","PUNCH","HIT","EAT","DRINK","GIVE","PAY","INVENTORY","I","INV","DANCE","KILL","DIG","MINE","WAIT","QUIT","SAVE","JUMP","RIDE","CASH","COW","CATTLE","HERD","INDIAN","BEAD","BULL","GOLD","TRAIN"
3620 DATA "MONEY","CHECK","RING","ROPE","WATER","POISON","PIZEN","PICK","WORDY","TERSE","UNTIE","TICKET"
3700 REM END OF GAME ROUTINES
3710 PRINT : PRINT "THE TOWNSFOLK ARE INCENSED THAT YOUR CATTLE MUDDIED UP THE PLACE AND AFTER TARRING AND FEATHERING YOU, HANG YOU UP TO DRY ON A TREE...BY THE NECK!!!": GOTO 3750
3720 PRINT : PRINT "THE DANCE HALL PATRONS ARE GLAD TO SEE YOU. AFTER SEVERAL HOURS OF DRINKING ANDGAMBLING, ETC., YOU NOTICE YOU HAVE BEENTHROWN OUT ON THE STREET AND OUT OF THE GAME": GOTO 3750
3730 IF MO = 500 THEN PRINT : PRINT "HOORAY. YOU'VE GOT ENOUGH MONEY TO PAY OFF THE MORTGAGE, MARRY YOUR SWEETHEART,BUY A MERCEDES AND SEND YOUR KIDS TO COMPUTER SCHOOL. YOU'VE WON.": GOTO 3760
3740 PRINT : PRINT "OL YUCKO SAM TAKES YOUR CHECK AND SEZ, 'IT AIN'T QUITE ENUF, SO I'SE GONNA FORECLOSE YOUR MORTGAGE, MARRY YOUR SWEETHEART, BUY A MERCEDES AND SEND MYSELF TO COMPUTER SCHOOL.'": PRINT
3750 PRINT : PRINT "DO YOU WANT TO PLAY AGAIN? ";: INPUT "";A$: IF A$ = "YES" THEN CLEAR : GOTO 20
3760 GOTO 4020
4000 REM ROUTINE TO QUIT
4010 PRINT : PRINT "DO YOU WANT TO SAVE THIS GAME?";: INPUT "";A$: IF A$ = "YES" THEN SG = 1: GOTO 4500
4020 HOME : VTAB 10: PRINT "YUCKO SAM SEZ, 'SO LONG PARD'."
4030 VTAB 23: HTAB 9: PRINT "PRESS ANY KEY TO QUIT.";: GET PT$: PRINT PT$: PRINT : PRINT CHR$(4)"RUN STARTUP"
4500 REM ROUTINE TO SAVE GAME. THE IMPORTANT THING IS FOR YOU TO LOAD THE VARIABLES SHOWN BELOW. THE TECHNIQUE IS FOR THE APPLE COMPUTER AND WILL BE DIFFERENT FOR EACH COMPUTER.
4560 REM LINE 4540 CONTAINS THE VARIABLE TO BE RELOADED
4570 PRINT D$: IF SG = 1 THEN GOTO 4020
4580 GOTO 100
5000 REM ROUTINE TO LOAD SAVED GAME. THE IMPORTANT THING IS FOR YOU TO LOAD THE VARIABLES SHOWN BELOW. THE TECHNIQUE IS FOR THE APPLE COMPUTER AND WILL BE DIFFERENT FOR EACH COMPUTER.