home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.B.po / GAMES:BASIC.2 / HIDE.bas < prev    next >
BASIC Source File  |  2010-05-14  |  24KB  |  286 lines

  1. 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 
  2. 20  DIM N(43),S(43),E(43),W(43),RD(43): REM  DIMENSIONS VARIABLES
  3. 30  FOR A = 1 TO 43: REM  LOADS ROOM VARIABLES
  4. 40  READ N(A),S(A),E(A),W(A)
  5. 50  NEXT 
  6. 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
  7. 70 OB(1) = 28:OB(4) = 21:OB(6) = 19:OB(7) = 13:C1 = 12:C2 = 14:C3 = 2:C4 = 38: REM   PLACES OBJECTS IN ROOMS
  8. 80  PRINT : PRINT "DO YOU WANT TO LOAD PREVIOUSLY SAVED    GAME (TYPE YES OR NO)?  ";: INPUT "";A$: HOME : IF A$ = "YES"  THEN  GOTO 5000:
  9. 90 R = 1: GOSUB 2500: GOSUB 580: REM   SETS UP FIRST ROOM
  10. 100  REM  PARSER
  11. 110  PRINT :V1$ = "":N1$ = "": PRINT "WHAT NOW? ";: INPUT "";A$
  12. 120  FOR A = 1 TO  LEN(A$): IF  MID$ (A$,A,1) = " "  THEN X = A -1:A = 0: GOTO 150
  13. 130  NEXT A
  14. 140 V1$ = A$: GOTO 200
  15. 150 V1$ =  LEFT$(A$,X)
  16. 160  IF  RIGHT$(A$, LEN(A$) -X) = " "  THEN N1$ = "": GOTO 200
  17. 170 N1$ =  RIGHT$(A$, LEN(A$) -(X +1)):X = 0
  18. 200  REM    VERB HANDLING ROUTINE
  19. 202  IF V1$ = "SAVE"  THEN  GOTO 4500
  20. 204  IF V1$ = "QUIT"  THEN  GOTO 4000
  21. 210  IF Q1 = 1  THEN Q1 = 0: GOTO 1620: REM  Q1 IS BULL ROUTINE FLAG
  22. 220  IF Q3 = 1  THEN  GOTO 2100: REM   TRAIN IS STOPPED AND CLOCK IS TICKING
  23. 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
  24. 240  IF V1$ = E0$  THEN WO = 1: PRINT : PRINT "O.K., LONG DESCRIPTIONS COMING UP.": GOTO 100
  25. 250  IF V1$ = E1$  THEN WO = 0: PRINT : PRINT "O.K., BACK TO SHORT DESCRIPTIONS.": GOTO 100
  26. 260  IF Q2 = 1  THEN Q2 = 0: GOTO 1870: REM  Q2 IS YUCKO SAM PAYOFF ROUTINE FLAG
  27. 270  IF V1$ = B1$  OR V1$ = B2$  OR V1$ = B3$  THEN X = 44: PRINT : PRINT "YOU ARE CARRYING: ": PRINT : GOTO 600: REM    INVENTORY ROUTINE
  28. 280  IF V1$ = A0$  OR V1$ = A1$  THEN  GOTO 800: REM  GET ROUTINE
  29. 290  IF V1$ = A3$  THEN  GOTO 1100: REM   DROP ROUTINE
  30. 300  IF V1$ = B6$  THEN  GOTO 1400: REM    DIG ROUTINE
  31. 310  IF V1$ = D5$  AND OB(5) = 45  AND OB(7) = R  AND OB(4) = 44  THEN  GOTO 1670: REM    ROPE
  32. 320  IF N1$ = D5$  AND OB(5) = 45  AND OB(7) = R  AND OB(4) = 44  THEN  GOTO 1670: REM    ROPE
  33. 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
  34. 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 
  35. 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
  36. 360  IF V1$ = B8$  AND R = 34  THEN  GOTO 2000: REM  WAITING FOR TRAIN
  37. 370  IF V1$ = B8$  THEN  PRINT : PRINT "HMMMM.....HMMMMM......HMMMMM....": GOTO 100: REM  GENERAL WAITING ROUTINE
  38. 380  IF R = 34  AND TR >0  AND N1$ = D1$  THEN  GOTO 2030: REM  BOARDING TRAIN
  39. 390  PRINT : PRINT "I DON'T KNOW WHAT YOU MEAN!": GOTO 100
  40. 400  REM   MOVING AROUND ROUTINE AND SPECIAL CONDITIONS
  41. 410  IF R = 8  OR R = 9  THEN  GOTO 1800: REM  YUCKO SAM GENERAL ROUTINES
  42. 420 X = R
  43. 430  IF V1$ = "NORTH"  OR V1$ = "N"  THEN R = N(R)
  44. 440  IF V1$ = "SOUTH"  OR V1$ = "S"  THEN R = S(R)
  45. 450  IF V1$ = "EAST"  OR V1$ = "E"  THEN R = E(R)
  46. 460  IF V1$ = "WEST"  OR V1$ = "W"  THEN R = W(R)
  47. 470  IF R >0  THEN X = R: HOME : GOTO 490
  48. 480  IF R = 0  THEN  PRINT : PRINT "YOU CAN'T MOVE THAT WAY AT THIS TIME.":R = X:X = 0: GOTO 100
  49. 490  IF WO = 1  THEN RD(R) = 0: REM  RESET LONG DESCRIPTION
  50. 500  IF R >25  THEN  GOTO 530
  51. 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
  52. 520  GOTO 540
  53. 530  ON R -25 GOSUB 3000,3020,3040,3060,3080,3100,3120,3140,3160,3180,3200,3220,3240,3270,3290,3310,3350,3390
  54. 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
  55. 550  IF OB(7) = R  THEN  PRINT : PRINT "THERE IS A BULL HERE!"
  56. 560  IF OB(7) = 44  THEN  PRINT : PRINT "YOU ARE LEADING A BULL BY THE NOSE."
  57. 570  IF OB(7) = 44  AND CW >0  THEN  PRINT : PRINT "THE BULL IS FOLLOWED BY ";CW;" COWS."
  58. 580  PRINT : PRINT "OBJECTS HERE ARE:": PRINT 
  59. 590 X = R
  60. 600  REM   LISTING OF OBJECTS ROUTINE
  61. 610  IF X = OB(1)  THEN  PRINT "AN INDIAN BEAD":Y = 1
  62. 620  IF X = OB(2)  THEN  PRINT "GOLD":Y = 1
  63. 630  IF X = OB(3)  THEN  PRINT "A CASHIER'S CHECK":Y = 1
  64. 640  IF X = OB(4)  THEN  PRINT "A ROPE":Y = 1
  65. 650  IF X = OB(5)  THEN  PRINT "AN INDIAN RING":Y = 1
  66. 660  IF X = OB(6)  THEN  PRINT "A MINER'S PICK":Y = 1
  67. 670  IF X = OB(8)  THEN  PRINT "A TRAIN TICKET":Y = 1
  68. 680  IF X = OB(9)  THEN  PRINT "DEAD CATTLE":Y = 1
  69. 690  IF Y = 0  THEN  PRINT "NOTHING"
  70. 700 Y = 0:X = 0: GOTO 100
  71. 800  REM  GET ROUTINE
  72. 810 X = 0: IF N1$ = ""  THEN  PRINT : PRINT "HEY, I NEED A NOUN!": GOTO 900
  73. 820  GOSUB 1200: REM  CHECKING NOUN VALIDITY
  74. 830  IF OB(X) = R  OR OB(X) = 44  THEN  GOTO 880
  75. 840  IF OB(7) = 23  THEN  GOTO 870: REM  BULL IS TIED UP
  76. 850  IF N1$ = C9$  THEN  GOTO 1590: REM  GETTING BULL
  77. 860  IF OB(5) = 45  AND OB(7) = R  THEN  GOTO 1660: REM  PART OF BULL PUZZLE SOLVED
  78. 870  PRINT : PRINT "YOU CAN'T, AT THE MOMENT.": GOTO 900
  79. 880 OB(X) = 44: REM  YOU ARE ROOM 44; I.E., YOU'VE GOT OBJECT
  80. 890  PRINT : PRINT "O.K. YOU'VE GOT THE ";N1$;"."
  81. 900 X = 0: GOTO 100
  82. 1100  REM  DROP ROUTINE
  83. 1110 X = 0: IF N1$ = ""  THEN  PRINT : PRINT "HEY, I NEED A NOUN!": GOTO 1160
  84. 1120  GOSUB 1200: REM  CHECKING NOUN VALIDITY
  85. 1130  IF OB(X) = 44  THEN  GOTO 1150
  86. 1140  PRINT : PRINT "YOU'RE NOT CARRYING THE ";N1$;".": GOTO 1160
  87. 1150 OB(X) = R: PRINT : PRINT "O.K., DROPPED THE ";N1$;"."
  88. 1160 X = 0: GOTO 100
  89. 1200  REM  SUBROUTINE TO CHECK NOUNS
  90. 1210  IF N1$ = C8$  THEN X = 1
  91. 1220  IF N1$ = D0$  THEN X = 2
  92. 1230  IF N1$ = D3$  THEN X = 3
  93. 1240  IF N1$ = D5$  THEN X = 4
  94. 1250  IF N1$ = D4$  THEN X = 5
  95. 1260  IF N1$ = D9$  THEN X = 6
  96. 1270  IF N1$ = C5$  THEN X = 9
  97. 1280  RETURN 
  98. 1300  REM  SETTING BULL ROUTINE
  99. 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 
  100. 1320  IF IC = 1  THEN  PRINT : PRINT "THE OLD CHIEF IS GETTING ANGRY, 'PLEASE LEAVE, YOU'RE MUDDYING UP THE    TENT!'":IC = 2: RETURN 
  101. 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
  102. 1400  REM   DIG ROUTINE
  103. 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
  104. 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
  105. 1430  PRINT : PRINT "YOU'VE NOTHING TO DIG IT WITH!": GOTO 1440
  106. 1440  GOTO 100
  107. 1500  REM  COW AND BULL SUBROUTINE
  108. 1510  IF C1 = R  AND OB(7) = 44  THEN C1 = 0:CW = CW +1: GOTO 1560
  109. 1520  IF C2 = R  AND OB(7) = 44  THEN C2 = 0:CW = CW +1: GOTO 1560
  110. 1530  IF C3 = R  AND OB(7) = 44  THEN C3 = 0:CW = CW +1: GOTO 1560
  111. 1540  IF C4 = R  AND OB(7) = 44  THEN C4 = 0:CW = CW +1: GOTO 1560
  112. 1550  GOTO 1570
  113. 1560  PRINT "THE COW BLUSHES MODESTLY, SMILES AND    FOLLOWS THE BULL."
  114. 1570  RETURN 
  115. 1580  IF OB(7) = 44  THEN  PRINT : PRINT "YOU'VE GOT THE BULL!": RETURN 
  116. 1590  IF OB(7) = R  THEN  GOTO 1610: REM  THE BULL IS HERE
  117. 1600  PRINT : PRINT "HE ISN'T HERE, YET.": RETURN 
  118. 1610 Q1 = 1: PRINT : PRINT "O.K. BUT WITH WHAT OR HOW?": GOTO 900: REM  Q1 FLAG SAYS BULL ROUTINE IN PROGRESS
  119. 1620  IF OB(5) = 45  THEN  GOTO 1670: REM  FIRST PART OF BULL PUZZLE SOLVED
  120. 1630  IF N1$ = D4$  AND OB(5) = 44  THEN OB(5) = 45: GOTO 1660
  121. 1640  IF V1$ = D4$  AND OB(5) = 44  THEN OB(5) = 45: GOTO 1660
  122. 1650  PRINT : PRINT "THAT WON'T WORK. TRY RINGING THE BULL'S CHIMES.": GOTO 100
  123. 1660  PRINT : PRINT "THE BULL ADMIRES THE LOVELY RING AND    ALLOWS YOU FASTEN IT TO HIS NOSE.": GOTO 100
  124. 1670  IF N1$ = D5$  AND OB(4) = 44  THEN OB(4) = 45: GOTO 1700
  125. 1680  IF V1$ = D5$  AND OB(4) = 44  THEN OB(4) = 45: GOTO 1700
  126. 1690  PRINT : PRINT "A GOOD TRY, BUT TO WIN THE BATTLE WITH  THE CATTLE YOU'VE GOT NO HOPE WITHOUT A ROPE.": GOTO 100
  127. 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
  128. 1800  REM  YUCKO SAM
  129. 1810  IF YS = 1  THEN  GOTO 420
  130. 1820  IF V1$ = "S"  OR V1$ = "SOUTH"  THEN  GOTO 1840
  131. 1830  GOTO 420
  132. 1840  IF R = 8  AND OB(7) = 44  THEN  GOTO 1860: REM  TRYING TO CROSS WITH BULL
  133. 1850  IF R = 9  AND OB(7) < >44  THEN  GOTO 420: REM  TRYING TO CROSS TOLL
  134. 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
  135. 1870  IF OB(2) = 44  THEN  GOTO 1890
  136. 1880  IF V1$ = D0$  OR N1$ = D0$  THEN  PRINT : PRINT "YOU DON'T HAVE IT, YET.": GOTO 100
  137. 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
  138. 1900  PRINT : PRINT "YUCKO SEZ, DON'T GIMME NO GUFF. WHAT I  CRAVES IS GOLD.": GOTO 100
  139. 2000  REM  TRAIN ROUTINE
  140. 2010  IF TR >2  THEN  PRINT : PRINT "CHOO CHUG": GOTO 100: REM    STUCK FOREVER
  141. 2020  PRINT : PRINT "A SMOKY, PUFFING OLD TRAIN PULLS INTO   THE STATION.":TR = TR +1: GOTO 100: REM  TRAIN COUNTER RUNNING
  142. 2030  IF OB(8) = 44  THEN  HOME : PRINT "YOU BOARD THE TRAIN AND THE CONDUCTOR   TAKES YOUR TICKET.":OB(8) = 0: GOTO 2050
  143. 2040  PRINT : PRINT "NO TICKEE, NO TRAINEE.": GOTO 100
  144. 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
  145. 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
  146. 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
  147. 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
  148. 2090 R = 35: GOTO 530
  149. 2100  REM  TRAIN STOP
  150. 2110 CL = CL +1: REM  CLOCK IS RUNNING
  151. 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
  152. 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
  153. 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
  154. 2150  GOTO 230
  155. 2200  REM  STOCKYARD ROUTINE
  156. 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 
  157. 2220 MO = 100 +(CW *100): REM  AMOUNT OF MONEY CALCULATION
  158. 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 
  159. 2500  REM  ROOM DESCRIPTION SUBROUTINES
  160. 2510  PRINT "YOU'RE ON THE BUY-A PENINSULA": IF RD(R) = 1  THEN  RETURN 
  161. 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 
  162. 2530  PRINT "YOU'RE HOME ON THE RANGE": IF RD(R) = 1  THEN  RETURN 
  163. 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 
  164. 2550  PRINT "YOU'RE IN AN ADOBE HACIENDA": IF RD(R) = 1  THEN  RETURN :
  165. 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 
  166. 2570  PRINT "YOU'RE IN THE HACIENDA'S CORRAL": IF RD(R) = 1  THEN  RETURN 
  167. 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 
  168. 2590  PRINT "YOU'RE ON A HIGH BLUFF": IF RD(R) = 1  THEN  RETURN 
  169. 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 
  170. 2610  PRINT "YOU'RE ON A LOW BLUFF": IF RD(R) = 1  THEN  RETURN 
  171. 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 
  172. 2630  PRINT "YOU'RE IN POOR BOX CANYON": IF RD(R) = 1  THEN  RETURN 
  173. 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 
  174. 2650  PRINT "YOU'RE AT A FORD": IF RD(R) = 1  THEN  RETURN 
  175. 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 
  176. 2670  PRINT "YOU'RE AT A SHALLOW FORD": IF RD(R) = 1  THEN  RETURN 
  177. 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 
  178. 2690  PRINT "YOU'RE IN THE ROLLING HILLS": RETURN 
  179. 2700  PRINT "YOU'RE IN THE DARK HILLS": IF RD(R) = 1  THEN  RETURN 
  180. 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."
  181. 2720 RD(R) = 1: RETURN 
  182. 2730  PRINT "YOU'RE IN AN ARROYA": IF RD(R) = 1  THEN  RETURN 
  183. 2740  PRINT : PRINT "THERE IS VERY TASTY, MUNCHY GRASS       GROWING HERE.":RD(R) = 1: RETURN 
  184. 2750  PRINT "YOU'RE IN THE PLAZA DE TOROS": IF RD(R) = 1  THEN  RETURN 
  185. 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 
  186. 2770  PRINT "YOU'RE IN A ARROYA": IF RD(R) = 1  THEN  RETURN 
  187. 2780  PRINT : PRINT "THERE IS LOCO WEED GROWING HERE.":RD(R) = 1: RETURN 
  188. 2790  PRINT "YOU'RE AT THE MINE ENTRANCE": IF RD(R) = 1  THEN  RETURN 
  189. 2800  PRINT : PRINT "THIS IS THE LOST SCOTCHMAN MINE. HIS    NAME WAS MAC...SOMETHING OR MC...SOME-  THING.":RD(R) = 1: RETURN 
  190. 2810  PRINT "YOU'RE IN THE BADLANDS": RETURN 
  191. 2820  PRINT "YOU'RE IN THE BADLANDS": IF RD(R) = 1  THEN  RETURN 
  192. 2830  PRINT : PRINT "A WELL WORN ROAD TO THE SOUTH LEADS TO  THE RAILHEAD AT ABILENE.":RD(R) = 1: RETURN 
  193. 2840  PRINT "YOU'RE IN THE BADLANDS": IF RD(R) = 1  THEN  RETURN 
  194. 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 
  195. 2860  PRINT "YOU'RE IN THE BADLANDS": IF RD(R) = 1  THEN  RETURN 
  196. 2870  PRINT : PRINT "THE SUN BEATS DOWN ON YOUR HEAD AS YOU  EXPLORE THIS WILD FORSAKEN LAND.":RD(R) = 1: RETURN 
  197. 2880  PRINT "YOU'RE IN THE BADLANDS"
  198. 2890  PRINT : PRINT "THE WIND HOWLS AND A WILD STORM RAGES   AROUND YOU.  YET, YOU STRUGGLE ON...": RETURN 
  199. 2900  PRINT "YOU'RE IN THE GOODLANDS": IF RD(R) = 1  THEN  RETURN 
  200. 2910  PRINT : PRINT "THIS IS A SPOT RIFE WITH GREEN GRASS ANDLOVELY WEATHER.": PRINT : PRINT "THERE IS A WATERHOLE HERE.":RD(R) = 1: RETURN 
  201. 2920  PRINT "YOU ARE IN THE LOST SCOTCHMAN MINE": IF RD(R) = 1  THEN  RETURN 
  202. 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 
  203. 2940  PRINT "YOU'RE AT THE RAILHEAD IN ABILENE.      THERE'S A HITCHING POST HERE. ": IF RD(R) = 1  THEN  RETURN 
  204. 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 
  205. 2960  PRINT "YOU ARE IN THE BADLANDS": RETURN 
  206. 2970  REM 
  207. 2980  PRINT "YOU ARE IN THE BADLANDS": IF RD(R) = 1  THEN  RETURN :
  208. 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
  209. 3000  PRINT "YOU'RE IN SITTING BULL'S TEPEE": GOSUB 1300
  210. 3010  RETURN 
  211. 3020  PRINT "YOU'RE IN AN INDIAN VILLAGE": RETURN 
  212. 3030  REM    
  213. 3040  PRINT "YOU'RE IN AN INDIAN VILLAGE": IF RD(R) = 1  THEN  RETURN 
  214. 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 
  215. 3060  PRINT "YOU'RE AT THE ENTRANCE OF A TEPEE": RETURN 
  216. 3070  REM 
  217. 3080  PRINT "YOU'RE IN AN INDIAN VILLAGE": IF RD(R) = 1  THEN  RETURN 
  218. 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 
  219. 3100  PRINT "YOU'RE IN A SMALL DESERT": IF RD(R) = 1  THEN  RETURN 
  220. 3110  PRINT : PRINT "IT IS VERY HOT AND DRY HERE.":RD(R) = 1: RETURN 
  221. 3120  PRINT "YOU'RE IN A SMALL DESERT": IF RD(R) = 1  THEN  RETURN 
  222. 3130  PRINT : PRINT "IT IS VERY HOT AND DRY HERE.":RD(R) = 1: RETURN 
  223. 3140  PRINT "YOU'RE IN THE TRAIN STATION": IF OB(7) = 44  THEN  GOTO 3710
  224. 3150  PRINT : PRINT "A SIGN HERE READS: ": PRINT "'TICKETS TO ST.LOUIS,$1.00'": PRINT "'NO SMOKING. NO CATTLE ALLOWED IN        STATION.'": RETURN 
  225. 3160  PRINT "YOU'RE ON THE TRAIN PLATFORM"
  226. 3170  PRINT : PRINT "A SIGN SAYS: ": PRINT "'WAIT HERE FOR TRAINS.'": RETURN 
  227. 3180  PRINT "YOU'RE AT A TRAIN STOP":Q3 = 1: REM  Q3 FLAG STARTS TRAIN STOP ROUTINE
  228. 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 
  229. 3200  PRINT "YOU'RE IN A DRY STREAM BED": RETURN 
  230. 3210  REM 
  231. 3220  PRINT "YOU'RE IN A DRY STREAM BED": RETURN 
  232. 3230  REM 
  233. 3240  PRINT "YOU'RE AT A MUD HOLE": IF RD(R) = 1  THEN  RETURN 
  234. 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
  235. 3260 RD(R) = 1: RETURN 
  236. 3270  PRINT "YOU'RE IN OLD ST. LOUIS": IF RD(R) = 1  THEN  RETURN 
  237. 3280  PRINT : PRINT "YOU'VE MADE IT TO ST. LOUIS, CATTLE     CENTER OF THE COUNTRY.":RD(R) = 1: RETURN 
  238. 3290  PRINT "YOU'RE ON MAIN STREET": IF RD(R) = 1  THEN  RETURN 
  239. 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 
  240. 3310  PRINT "YOU'RE AT THE STOCKYARDS"
  241. 3320 : PRINT : PRINT "A SIGN HERE SAYS, 'WE BUYSES COWSES.'": IF OB(7) = 44  THEN  GOSUB 2200: REM  COW SELLING ROUTINE
  242. 3330  IF OB(9) = 44  THEN  GOSUB 2200: REM  TRYING TO SELL DEAD COWS
  243. 3340  RETURN 
  244. 3350  PRINT "YOU'RE IN A BANK"
  245. 3360  IF OB(3) = 44  THEN  POP : GOTO 3730
  246. 3370  PRINT : PRINT "A SIGN HERE READS: ": PRINT : PRINT "'NO CATTLE ALLOWED.'": IF OB(7) = 44  OR OB(9) = 44  THEN  POP : GOTO 3710
  247. 3380  RETURN 
  248. 3390  PRINT "YOU'RE IN A DANCE HALL"
  249. 3400  PRINT : PRINT "A SIGN HERE READS: ": PRINT : PRINT "'NO CATTLE ALLOWED.'": IF OB(7) = 44  OR OB(9) = 44  THEN  POP : GOTO 3710
  250. 3410  IF OB(3) = 44  THEN  POP : GOTO 3720
  251. 3420  RETURN 
  252. 3500  REM   ROOM DATA STATEMENTS
  253. 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
  254. 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
  255. 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
  256. 3600  REM  VOCABULARY
  257. 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"
  258. 3620  DATA     "MONEY","CHECK","RING","ROPE","WATER","POISON","PIZEN","PICK","WORDY","TERSE","UNTIE","TICKET"
  259. 3700  REM   END OF GAME ROUTINES
  260. 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
  261. 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
  262. 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
  263. 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 
  264. 3750  PRINT : PRINT "DO YOU WANT TO PLAY AGAIN? ";: INPUT "";A$: IF A$ = "YES"  THEN  CLEAR : GOTO 20
  265. 3760  GOTO 4020
  266. 4000  REM  ROUTINE TO QUIT
  267. 4010  PRINT : PRINT "DO YOU WANT TO SAVE THIS GAME?";: INPUT "";A$: IF A$ = "YES"  THEN SG = 1: GOTO 4500
  268. 4020  HOME : VTAB 10: PRINT "YUCKO SAM SEZ, 'SO LONG PARD'."
  269. 4030  VTAB 23: HTAB 9: PRINT "PRESS ANY KEY TO QUIT.";: GET PT$: PRINT PT$: PRINT : PRINT  CHR$(4)"RUN STARTUP"
  270. 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.
  271. 4510 D$ =  CHR$(4): REM   FOR APPLE USE
  272. 4520  PRINT D$;"OPEN HIDEFILE"
  273. 4530  PRINT D$;"WRITE HIDEFILE"
  274. 4540  PRINT C1: PRINT C2: PRINT C3: PRINT C4: PRINT CL: PRINT CW: PRINT IC: PRINT MO: PRINT OB(1): PRINT OB(2): PRINT OB(3): PRINT OB(4): PRINT OB(5): PRINT OB(6): PRINT OB(7): PRINT OB(8): PRINT OB(9): PRINT Q1: PRINT Q2: PRINT Q3: PRINT R: PRINT TR: PRINT WC: PRINT WO: PRINT YS
  275. 4550  PRINT D$;"CLOSE"
  276. 4560  REM  LINE 4540 CONTAINS THE VARIABLE TO BE RELOADED
  277. 4570  PRINT D$: IF SG = 1  THEN  GOTO 4020
  278. 4580  GOTO 100
  279. 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.
  280. 5010 D$ =  CHR$(4): REM  FOR APPLE USE
  281. 5020  PRINT D$;"OPEN HIDEFILE"
  282. 5030  PRINT D$;"READ HIDEFILE"
  283. 5040  INPUT C1,C2,C3,C4,CL,CW,IC,MO,OB(1),OB(2),OB(3),OB(4),OB(5),OB(6),OB(7),OB(8),OB(9),Q1,Q2,Q3,R,TR,WC,WO,YS
  284. 5050  PRINT D$;"CLOSE"
  285. 5060  REM  LINE 5040 CONTAINS THE VARIABLES TO BE RELOADED
  286. 5070  PRINT D$: GOTO 400