home *** CD-ROM | disk | FTP | other *** search
/ Between Heaven & Hell 2 / BetweenHeavenHell.cdr / 300 / 263 / fifi.bas < prev   
BASIC Source File  |  1987-06-09  |  9KB  |  183 lines

  1. 10 KEY OFF:COLOR 6,1,1:CLS
  2. 20 PRINT,"Welcome to MADAM FIFI'S WHORE-HOUSE Adventure":PRINT:PRINT
  3. 30 INPUT "Do you need the instructions";A$:A$=LEFT$(A$+" ",1)
  4. 40 IF A$="y" OR A$= "Y" THEN GOSUB 1660 ELSE PRINT
  5. 50 DIM D$(19),O$(31),L(25),P(19,6):L=1
  6. 60 FOR X=1 TO 19:READ D$(X):NEXT
  7. 70 DATA Front Room,Waiting Room,Bathroom,Office,Balcony
  8. 80 DATA Alley,Bar,Brick Fireplace
  9. 90 DATA Hidden Corridor,Secret Passage
  10. 100 DATA Turkish Bath Chamber,Raft,Massage Room
  11. 110 DATA Storeroom,Loft,Sauna,Fifi's Apartment,Sitting Room
  12. 120 DATA S&M Chamber
  13. 130 FOR X=1 TO 31:READ O$(X):IF X>6 THEN READ L(X-6)
  14. 140 NEXT:T2=8:R=11:WS$="Money"
  15. 150 DATA North,South,East,West,"Up ",Down,Sledge Hammer,5
  16. 160 DATA Watch,1,Leather Whip,9,Dirty Magazine,3,Switchblade,4,Oar,6,Key,99
  17. 170 DATA Beer,7,Body Oil,13,Suitcase,14,Bucket,14
  18. 180 DATA Torch,8,Nails,15,Curtain,16,Raft,11,Rusty Gate,17
  19. 190 DATA Bedroom Door,18,Fire in the Fireplace,2
  20. 200 DATA Toilet,3,Sign,1,Railing,5,Brick Fireplace,2
  21. 210 DATA Rat,19,Wine,2,Cheddar Cheese,2
  22. 220 FOR Y=1 TO 19:FOR X=1 TO 6:READ P(Y,X):NEXT X,Y
  23. 230 DATA ,,3,2,,,,,1,,,,,,4,1,,,,,5,3,,,,,,4,,,,7,,,5,,6,,,,4,
  24. 240 DATA ,2,,,,,13,,,,3,,11,8,,19,,,,10,,,,,,11,,,,,14,9,,,,
  25. 250 DATA ,13,,,2,,,,,,,16,,,,,,,,16,,,,,,17,,,,,,,10,13,,
  26. 260 W$="GO GETLOODROHITOPETIEPUSPAYOILROWCLITAKREATHRCUT"
  27. 270 N$="N  01S  02E  03W  04U  05D  06HAM07MAG10SWI11BEE14OIL15GAT22DOO23FIF23FIR28"
  28. 280 O$="NORSOUEASWESUP DOWSLEWATWHIRAISWIOARKEYBEEK-YSUIBUCTORNAICURRAFRUSBEDFIRTOISIGDIRBRIRATWINCHE"
  29. 290 COLOR 6,1:PRINT "You are in the ";D$(L):Y=0:L2=L
  30. 300 IF L(12)= 0 OR L< 10 OR (L> 12 AND L< > 18)THEN 320
  31. 310 PRINT "It's Dark! you can't see":GOTO 360
  32. 320 PRINT "You see ";:FOR X=1 TO 25:IF L(X)=L2 THEN PRINT O$(X+ 6);", ";:Y=Y+1
  33. 330 NEXT:IF Y=0 THEN PRINT "nothing interesting." ELSE PRINT CHR$(29)CHR$(29)" "
  34. 340 PRINT "Obvious exits are: ";:FOR X=1 TO 6:IF P(L,X)>0 THEN PRINT O$(X);" ";
  35. 350 NEXT:PRINT
  36. 360 S=0:F=0:COLOR 6,1:PRINT:INPUT "What do you want to do";A$:PRINT:COLOR 6
  37. 370 AA$=A$:B$="   ":FOR X=1 TO LEN(A$)
  38. 380 IF MID$(A$,X,1)=" " THEN B$=MID$(A$+"   ",X+1,3)
  39. 390 NEXT:IF LEN(A$)=1 THEN B$=A$+"  ":A$="GO "
  40. 400 GOSUB 1580:L2=L:T1=T1+1:IF T1=60 THEN T1=0:T2=T2+1
  41. 410 IF T2=12 THEN COLOR 6,1:PRINT " It's midnight! The Whore-House is closed and the Pimp throws you out!";:GOTO 1540
  42. 420 IF A$="SWI" AND L=11 THEN COLOR 6,1:PRINT " You have been Scalded to Death in the Hot Turkish Baths! ";:GOTO 1540
  43. 430 X=INSTR(N$,B$):IF X MOD 5 = 1 THEN S=VAL(MID$(N$,X+3,2)):GOTO 450
  44. 440 X=INSTR(O$,B$):IF X MOD 3 = 1 THEN S=(X+2)/3
  45. 450 X=INSTR(W$,A$):IF X MOD 3 = 1 THEN F=(X+2)/3
  46. 460 IF F>11 THEN F=F-11
  47. 470 IF A$<>"INV" THEN 520
  48. 480 PRINT "You are carrying: ";:A=0:FOR X=1 TO 25
  49. 490 IF L(X)=0 THEN PRINT O$(X+6)", ";:A=A+1
  50. 500 NEXT:IF A=0 THEN PRINT "nothing";
  51. 510 PRINT:GOTO 360
  52. 520 ON F GOTO 560,730,920,1050,1110,1190,1280,1350,1400,1470,1510
  53. 530 PRINT "I don't know how to do that":GOTO 360
  54. 540 PRINT "I don't know that word":GOTO 360
  55. 550 REM  -GO-
  56. 560 IF S<1 OR S>6 THEN 600
  57. 570 IF P(L,S)>0 THEN L=P(L,S):GOTO 290
  58. 580 PRINT "You can't go that way":GOTO 360
  59. 590 PRINT "You see nothing special":GOTO 360
  60. 600 IF S<>28 OR L<>2 THEN 630
  61. 610 IF FI=0 THEN COLOR 1,6:PRINT " You have Burned to Death! ";:GOTO 1540
  62. 620 L=8:GOTO 290
  63. 630 IF S<>27 OR L<>5 THEN 660
  64. 640 IF LEFT$(O$(27),1)="W" THEN L=6:PRINT "Climbed down Whip":PRINT:GOTO 290
  65. 650 COLOR 1,6:PRINT " You fell and Died ";:GOTO 1540
  66. 660 IF S=21 AND L(15)=L THEN L=12:GOTO 290
  67. 670 IF L=16 AND B$="LOF" THEN 700
  68. 680 IF S<1 THEN 540
  69. 690 PRINT "You can't go there":GOTO 360
  70. 700 IF L(10)=L AND O$(16)="Suitcase" THEN L=15:GOTO 290
  71. 710 PRINT "It's a little too high":GOTO 360
  72. 720 REM  -GET-
  73. 730 IF S<7 THEN GOTO 540
  74. 740 IF C>6 THEN PRINT "You can't carry any more":GOTO 360
  75. 750 IF L(S-6)<>L THEN 890
  76. 760 IF S<>14 THEN 790
  77. 770 V$="In":GOSUB 1630:IF A$="BUC" AND L(11)=0 THEN 900
  78. 780 PRINT "You can't do that":GOTO 360
  79. 790 IF S<>20 THEN 820
  80. 800 IF TA=0 THEN PRINT "It's nailed to the loft":GOTO 360
  81. 810 P(16,1)=17:PRINT "AHA! - A hole in the wall":PRINT:GOTO 900
  82. 820 IF S<>19 THEN 850
  83. 830 IF L(1)<>0 THEN PRINT "You have no hammer":GOTO 360
  84. 840 IF L(13)=15 THEN TA=1:PRINT "The Curtain is loose":GOTO 900
  85. 850 IF S<>13 THEN 880
  86. 860 L(23)=L:IF L(25)=L THEN 900
  87. 870 PRINT "The Rat has it":GOTO 360
  88. 880 IF S>20 AND S<30 THEN PRINT "You can't get it":GOTO 360 ELSE 900
  89. 890 PRINT "I don't see any "O$(S):GOTO 360
  90. 900 C=C+1:L(S-6)=0:PRINT "You got the "O$(S):GOTO 360
  91. 910 REM  -LOOK-
  92. 920 IF S<7 THEN 290
  93. 930 IF S=26 AND L=1 THEN PRINT "'The WHORE-HOUSE closes at Midnight'":GOTO 360
  94. 940 IF S<>29 THEN 970
  95. 950 IF L(23)<>L THEN 890
  96. 960 PRINT "A Key is in it's mouth!":L(7)=L:GOTO 360
  97. 970 IF S<>10 THEN 1010
  98. 980 IF L(4)=0 THEN 1000
  99. 990 PRINT "You don't have it":GOTO 360
  100. 1000 PRINT "The Dirty Magazine reads:  'Not all exits are obvious.'":GOTO 360
  101. 1010 IF S<>8 THEN 590
  102. 1020 IF L(2)<>0 THEN 990
  103. 1030 PRINT USING "The time is now ##:##";T2,T1:GOTO 360
  104. 1040 REM  -DROP-
  105. 1050 IF S<7 THEN GOTO 540
  106. 1060 IF L(S-6)<>0 THEN 990
  107. 1070 IF S<>14 OR L<>2 THEN 1090
  108. 1080 O$(24)="Smoldering Ashes":FI=1:L(8)=99:C=C-1:GOTO 290
  109. 1090 PRINT "Okay, the "O$(S)" is on the "D$(L)" floor":L(S-6)=L:C=C-1:GOTO 360
  110. 1100 REM  -HIT-
  111. 1110 IF S<7 THEN 540
  112. 1120 IF L(S-6)<>L AND (L<>8 OR S<>28) THEN 890
  113. 1130 V$="WITH":GOSUB 1630:IF A$<>"SWI" OR S<>16 OR L(5)<>0 THEN 1150
  114. 1140 O$(16)=WS$:N$=N$+"MON16":GOTO 290
  115. 1150 IF (A$<>"SLE" AND A$<>"HAM") OR S<>28 OR L(1)<>0 THEN 1170
  116. 1160 O$(28)="Broken Fireplace":P(8,1)=10:D$(8)=O$(28):GOTO 290
  117. 1170 PRINT "Nothing happened":GOTO 360
  118. 1180 REM  -OPEN-
  119. 1190 IF S<7 THEN 540
  120. 1200 IF L(S-6)<> L THEN 890
  121. 1210 IF S<>23 THEN 1240
  122. 1220 IF L(7)<>0 THEN PRINT "The Bedroom Door is locked ... ";:GOTO 1170
  123. 1230 O$(23)="Fifi in her Bed":GOTO 290
  124. 1240 IF S<>22 THEN 1170
  125. 1250 IF OI=0 THEN PRINT "Too much rust ... ";:GOTO 1170
  126. 1260 O$(22)="Open Gate":P(17,1)=18:GOTO 290
  127. 1270 REM  -TIE-
  128. 1280 IF S<7 THEN 540
  129. 1290 IF L(S-6)<>0 THEN 990
  130. 1300 IF S<>9 THEN 780
  131. 1310 V$="To":GOSUB 1630:IF A$<>"RAI" THEN 780
  132. 1320 L(3)=99:C=C-1:O$(27)="Whip tied to the Railing":N$=N$+"WHI27"
  133. 1330 PRINT O$(27);"!":GOTO 360
  134. 1340 REM  -PUSH-
  135. 1350 IF S<7 THEN 540
  136. 1360 IF L(S-6)<>L THEN 890
  137. 1370 IF S<>25 THEN 1170
  138. 1380 PRINT "Aha! - You have revealed a Doorway":PRINT:P(L,6)=9:GOTO 290
  139. 1390 REM -PAY-
  140. 1400 IF S<7 THEN 540
  141. 1410 IF S<>23 OR LEFT$(O$(23),1)<>"F" THEN 780
  142. 1420 V$="With":GOSUB 1630
  143. 1430 IF (A$="MON") AND L(10)=0 AND O$(16)=WS$ THEN 1450
  144. 1440 COLOR 1,6:PRINT " You Failed!  Fifi leaves and you lose your Hard-On! ";:GOTO 1540
  145. 1450 COLOR 26:PRINT "Congratulations!  You just got screwed by Fifi!!":GOTO 154
  146. 1460 REM  -OIL-
  147. 1470 IF L(9)<>0 OR L<>17 OR S<>22 THEN 780
  148. 1480 PRINT "The Gate squeaks Open":PRINT
  149. 1490 OI=1:O$(22)="Open Gate":P(17,1)=18:GOTO 290
  150. 1500 REM  -ROW-
  151. 1510 IF L<>12 OR L(6)<>0 THEN 780
  152. 1520 R=27-R:L=R:PRINT "You have rowed to the ";D$(L)
  153. 1530 PRINT:L(15)=L:GOTO 290
  154. 1540 COLOR 10,1:PRINT:PRINT:INPUT "Would you like to try again";A$:GOSUB 1580
  155. 1550 IF LEFT$(A$,1)="Y" THEN RUN 10
  156. 1560 IF LEFT$(A$,1)="R" THEN T1=T1-2:GOTO 360
  157. 1570 KEY ON:END
  158. 1580 REM  - MAKE INPUT U/C -
  159. 1590 A$=LEFT$(A$+"   ",3):FOR I=1 TO 3
  160. 1600 CH=ASC(MID$(A$,I,1)):IF CH>96 THEN MID$(A$,I,1)=CHR$(CH-32)
  161. 1610 CH=ASC(MID$(B$,I,1)):IF CH>96 THEN MID$(B$,I,1)=CHR$(CH-32)
  162. 1620 NEXT:RETURN
  163. 1630 REM - GET "WHAT" -
  164. 1640 COLOR 12,1:PRINT TAB(40);CHR$(30);CHR$(30);:PRINT "-- "V$" what";:INPUT A$
  165. 1650 COLOR 6,1:PRINT:GOSUB 1580:RETURN
  166. 1660 PRINT:PRINT:COLOR 6,1
  167. 1670 PRINT "Whore-House has a concealed goal. You learn what the goal is"
  168. 1680 PRINT "by exploring your surroundings.  The computer will act as your eyes"
  169. 1690 PRINT "and hands.  It will accepts short phrases as commands and assumes"
  170. 1700 PRINT "that the first word is a verb and the last word is the object."
  171. 1710 PRINT "For example: READ THE SIGN.  The computer has a vocabulary of about"
  172. 1720 PRINT "70 words.  Some of the more important words you should know before"
  173. 1730 PRINT "you start playing are: GET <object>, DROP <object>, LOOK <object>"
  174. 1740 PRINT "or just LOOK, GO <direction> or <place>, and INVENTORY (tells what"
  175. 1750 PRINT "you are carrying).  The computer knows the abbreviations: E, W, N,"
  176. 1760 PRINT "S, U and D for GO EAST, GO WEST, etc."
  177. 1770 PRINT "The computer's vocabulary is good, but limited.  If you are having"
  178. 1780 PRINT "trouble doing something, try re-phrasing the command or you may"
  179. 1790 PRINT "need some object to accomplish the task.  By the way, the computer"
  180. 1800 PRINT "only looks at the first 3 letters of each word.":PRINT
  181. 1810 COLOR 14:PRINT TAB(25)"--- GOOD LUCK! ---":PRINT:RETURN
  182. 1820 'Last Line of FIFI.BAS ... UL 021784 WJM 70007,1656
  183.