SOFTP5.INC 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. { Softporn Adventure, include file 5 }
  2. press : { push }
  3. {========}
  4. begin
  5. if noun=_button then
  6. begin
  7. if your_place=b_bar then
  8. begin
  9. writeln;
  10. write('A voice says ''What''s the password?'' (one word) ');
  11. readln(password);
  12. for i:=1 to length(password) do
  13. password[i] := upcase(password[i]);
  14. if copy(password,1,6)='BELLYB' then
  15. begin
  16. write_message('The curtain pulls back!!');
  17. path[b_bar,east] := b_backrm;
  18. end
  19. else
  20. write_message('Wrong!!');
  21. end
  22. else if your_place in [ c_htdesk, p_pntfoy ] then
  23. begin
  24. if is_here(_blonde) then
  25. write_message('The blonde says ''You can''t go there!''')
  26. else
  27. begin
  28. write_long_message( 37 );
  29. if your_place=c_htdesk then
  30. your_place := p_pntfoy
  31. else
  32. your_place := c_htdesk;
  33. end;
  34. end
  35. else
  36. not_yet_but_maybe_later
  37. end {press/push button}
  38. else
  39. write_message('Pushy chump, eh???');
  40. end; {press}
  41. enter :
  42. {========}
  43. begin
  44. if not is_here(noun) then
  45. find_me_one
  46. else if noun=_bushes then
  47. your_place := p_garden
  48. else if noun=_window then
  49. begin
  50. if window_broken then
  51. your_place := b_inroom
  52. else
  53. not_yet_but_maybe_later;
  54. end
  55. else if noun=_door_west then
  56. begin
  57. if door_W_open then
  58. your_place := d_disco
  59. else
  60. write_message('The door is closed')
  61. end
  62. else if noun=_elevator then
  63. write_message('Push the button to enter the elevator')
  64. else
  65. I_cant_do_that
  66. end; {enter}
  67. eat :
  68. {========}
  69. begin
  70. if (not is_here(noun)) and (not is_carried(noun)) then
  71. find_me_one
  72. else if noun in [ _blonde, _waitress, _hooker, _girl ] then
  73. begin
  74. write_long_message( 38 );
  75. purgatory;
  76. end
  77. else if noun=_mushroom then
  78. begin
  79. write_long_message( 64 );
  80. your_place := places( random(3) );
  81. delay(600);
  82. write_long_message( integer(your_place)+1 );
  83. end
  84. else if noun in [ _garbage, _apple_core ] then
  85. write_message('Too moldy!')
  86. else if noun=_apple then
  87. write_message('Sorry ... not hungry!')
  88. else if noun=_pills then
  89. begin
  90. write_long_message( 56 );
  91. purgatory;
  92. end
  93. else
  94. write_message('Tastes awful!');
  95. end; {eat}
  96. drink :
  97. {========}
  98. begin
  99. if not is_carried(noun) then
  100. I_dont_have_it
  101. else
  102. begin
  103. case noun of
  104. _whiskey: write_message
  105. ('This stuff is rot-gut! Give it to someone ... I don''t want it.');
  106. _beer: write_message('Heh...heh...hey!!!! This stuff''s OK!');
  107. _wine: write_message('Sour grapes....');
  108. _water: write_message('Thanks!');
  109. else write_message('Get your head examined!!!!');
  110. end;
  111. if noun in [_beer,_water] then
  112. begin
  113. object_place[noun] := nowhere;
  114. objects_carried := objects_carried - 1;
  115. end;
  116. end;
  117. end;
  118. buy : { order }
  119. {========}
  120. begin
  121. if (money<1) or (not is_carried(_wallet)) then
  122. sorry_no_money
  123. else
  124. case noun of
  125. _whiskey,_beer:
  126. begin
  127. if (your_place<>b_bar) then
  128. not_yet_but_maybe_later
  129. else
  130. begin
  131. if object_place[noun]<>nowhere then
  132. write_message('Sorry ... all out!')
  133. else
  134. begin
  135. write_message ('I give the bartender $100 and ' +
  136. 'he places it on the bar.');
  137. money := money - 1;
  138. object_place[noun] := your_place;
  139. end;
  140. end
  141. end;
  142. _wine:
  143. begin
  144. if (your_place<>d_disco) then
  145. not_yet_but_maybe_later
  146. else
  147. begin
  148. if object_place[noun]<>nowhere then
  149. write_message('All out!')
  150. else
  151. begin
  152. write_message
  153. ('The waitress takes $100 and says she''ll return');
  154. delay(3000);
  155. write_message('Poor service!!!');
  156. delay(2000);
  157. money := money - 1;
  158. object_place[noun] := your_place;
  159. end;
  160. end
  161. end;
  162. _rubber,_magazine:
  163. begin
  164. if (your_place<>d_phrmcy) then
  165. not_yet_but_maybe_later
  166. else
  167. begin
  168. if is_here(noun) then
  169. begin
  170. if noun=_rubber then
  171. buy_rubber
  172. else
  173. write_message('He takes $100 and gives me the magazine');
  174. money := money - 1;
  175. object_place[noun] := youhavit;
  176. end
  177. else
  178. write_message('Sorry!!! --- sold out!');
  179. end
  180. end;
  181. _hooker:
  182. begin
  183. if is_here(_hooker) then
  184. write_message('You''ve already paid the pimp, stupid!!!!')
  185. else
  186. find_me_one;
  187. end;
  188. else
  189. write_message('Money can''t buy everything!!!!');
  190. end; {case}
  191. end; {buy}
  192. climb :
  193. {========}
  194. begin
  195. if noun=_stool then
  196. begin
  197. if is_here(_stool) then
  198. begin
  199. OK;
  200. stool_climbed := true;
  201. end
  202. else
  203. write_message('It''s not on the floor here!');
  204. end
  205. else if is_here(noun) or is_carried(noun) then
  206. I_cant_do_that
  207. else
  208. find_me_one;
  209. end; {climb}
  210. water :
  211. {========}
  212. begin
  213. if noun in [_on,_off] then
  214. begin
  215. if not is_here(_sink) then
  216. write_message('Find a working sink!')
  217. else
  218. begin
  219. water_on := noun=_on;
  220. if water_on then
  221. begin
  222. write_message('Water is running in the sink');
  223. object_place[_water] := your_place;
  224. end
  225. else if not pitcher_full then
  226. begin
  227. OK;
  228. object_place[_water] := nowhere;
  229. end;
  230. end;
  231. end
  232. else if not is_carried(_water) then
  233. write_message('I have no water!')
  234. else if not is_here(noun) then
  235. find_me_one
  236. else if noun=_seeds then
  237. begin
  238. object_place[_water] := nowhere;
  239. pitcher_full := false;
  240. if your_place=p_garden then
  241. begin
  242. write_message('A tree sprouts!!');
  243. object_place[_tree] := your_place;
  244. object_place[_seeds] := nowhere;
  245. end
  246. else
  247. write_message('The seeds need better soil to grow.');
  248. end
  249. else
  250. begin
  251. write_message('It pours into the ground.');
  252. object_place[_water] := nowhere;
  253. pitcher_full := false;
  254. end;
  255. end; {water}
  256. fill :
  257. {========}
  258. begin
  259. if not (noun=_pitcher) then
  260. I_cant_do_that
  261. else if not is_carried(_pitcher) then
  262. write_message('I don''t have it!')
  263. else if not is_here(_sink) then
  264. write_message('Find a working sink!!')
  265. else if not water_on then
  266. write_message('No water!!')
  267. else if pitcher_full then
  268. write_message('The pithcer is already full!')
  269. else
  270. begin
  271. OK;
  272. pitcher_full := true;
  273. end
  274. end; {fill}
  275. pour :
  276. {========}
  277. begin
  278. if not (noun=_water) then
  279. I_cant_do_that
  280. else if not is_carried(_pitcher) then
  281. write_message('You have nothing to pour it with!')
  282. else if not pitcher_full then
  283. write_message('The pitcher is empty.')
  284. else if (your_place<>p_garden) or (not is_here(_seeds)) then
  285. write_message('It pours into the ground.')
  286. else
  287. begin
  288. write_message('A tree sprouts!!');
  289. object_place[_tree] := your_place;
  290. end
  291. end; {pour}
  292. listen :
  293. {========}
  294. begin
  295. if (not is_here(noun)) and (not is_carried(noun)) then
  296. find_me_one
  297. else if noun=_radio then
  298. begin
  299. if is_carried(_radio) then
  300. begin
  301. if radio_listened then
  302. write_message('Punk rock!!!!!')
  303. else
  304. begin
  305. write_message('An advertisement says ' +
  306. '''Call 555-0987 for all your liquor needs!!!!''');
  307. radio_listened := true;
  308. end;
  309. end
  310. else
  311. write_message('Take it and put it next to my ear!');
  312. end
  313. else
  314. write_message('Quiet as a mouse in heat!');
  315. end; {listen}
  316. close :
  317. {========}
  318. begin
  319. if not is_here(noun) then
  320. find_me_one
  321. else case noun of
  322. _desk:
  323. begin
  324. _close(drawer_open);
  325. if is_here(_newspaper) then
  326. object_place[_newspaper] := nowhere;
  327. end;
  328. _closet:
  329. begin
  330. _close(closet_open);
  331. if is_here(_doll) then
  332. object_place[_doll] := nowhere;
  333. end;
  334. _cabinet:
  335. if stool_climbed then
  336. begin
  337. _close(cabinet_open);
  338. if is_here(_pitcher) then
  339. object_place[_pitcher] := nowhere;
  340. end
  341. else
  342. write_message('I can''t reach it!');
  343. _door_west:
  344. begin
  345. _close(door_W_open);
  346. path[d_entrnc,west] := nowhere;
  347. end;
  348. else
  349. I_cant_do_that;
  350. end;
  351. end; {close}
  352. jump :
  353. {========}
  354. begin
  355. if your_place in [ b_balcny, b_wledge ] then
  356. falling_down
  357. else
  358. write_message('Whoooopeeeee!!!');
  359. end; {jump}
  360.