home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume17 / dinkum3 / part07 < prev    next >
Encoding:
Internet Message Format  |  1993-03-20  |  43.5 KB

  1. Path: uunet!paladin.american.edu!howland.reston.ans.net!spool.mu.edu!uwm.edu!ogicse!news.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v17i012:  dinkum3 - australian text adventure game, V2.12, Part07/07
  5. Message-ID: <4523@master.CNA.TEK.COM>
  6. Date: 9 Feb 93 20:03:01 GMT
  7. Article-I.D.: master.4523
  8. Sender: news@master.CNA.TEK.COM
  9. Lines: 1051
  10. Approved: billr@saab.CNA.TEK.COM
  11. Xref: uunet comp.sources.games:1691
  12.  
  13. Submitted-by: Gary Allen <gary@sun.mech.uq.oz.au>
  14. Posting-number: Volume 17, Issue 12
  15. Archive-name: dinkum3/Part07
  16. Supersedes: dinkum2: Volume 15, Issue 36-43
  17. Environment: Unix, DOS
  18.  
  19.  
  20.  
  21. #! /bin/sh
  22. # This is a shell archive.  Remove anything before this line, then unpack
  23. # it by saving it into a file and typing "sh file".  To overwrite existing
  24. # files, type "sh file -c".  You can also feed this as standard input via
  25. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  26. # will see the following message at the end:
  27. #        "End of archive 7 (of 7)."
  28. # Contents:  longdsc.c objlook.c
  29. # Wrapped by billr@saab on Mon Feb  8 13:40:52 1993
  30. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  31. if test -f 'longdsc.c' -a "${1}" != "-c" ; then 
  32.   echo shar: Will not clobber existing file \"'longdsc.c'\"
  33. else
  34. echo shar: Extracting \"'longdsc.c'\" \(23619 characters\)
  35. sed "s/^X//" >'longdsc.c' <<'END_OF_FILE'
  36. X#define LONG_DESCP
  37. X#include "dink_sym.h"
  38. X#include "dink_glb.h"
  39. X
  40. X#if (PROTOTYPE)
  41. Xvoid long_descp(int n)
  42. X#else
  43. Xvoid long_descp(n)
  44. Xint n ;
  45. X#endif
  46. X/*********************************************************************/
  47. X/*                                                                   */
  48. X/*               --- Long Description Subroutine ---                 */
  49. X/*                                                                   */
  50. X/* Software by Gary A. Allen, Jr. 23 December 1992  Version: Mk 2.0  */
  51. X/*            (c) Copyright 1992 by Gary A. Allen, Jr.               */
  52. X/*                                                                   */
  53. X/*********************************************************************/
  54. X{
  55. Xstatic int sw_bend = TRUE, sw_mob = TRUE ;
  56. X
  57. X#if (PROTOTYPE)
  58. Xvoid boom(void), describe(int), ender(int) ;
  59. X#endif
  60. X
  61. Xif (((Torch->Location == B_have) && Torch->Status)|| 
  62. X    (n < 186)||(n > 202)) { 
  63. X
  64. X/* See if player entered the killing passage in the end game */
  65. Xif ((n >= 218)&&(n <= 227)) {
  66. Xprintf("As you're walking down the passage you feel the slight\n") ;
  67. Xprintf("tug of a trip wire on your leg.  Out the corner of your\n");
  68. Xprintf("eye you see the trip wire is connected to an olive green\n") ;
  69. Xprintf("cylinder attached to the wall of the tunnel....\n\n") ;
  70. Xboom() ;
  71. Xprintf("\nIn case you're wondering that was a booby trap which you\n") ;
  72. Xprintf("set off!\n") ;
  73. Xender(F_died) ;
  74. X}
  75. X
  76. X/* Select individual rooms */
  77. Xswitch (n) {
  78. Xcase R_river:      /* drowing in the river description */
  79. Xprintf ("As you approach the edge of the dike, there is a small\n");
  80. Xprintf ("earth slide which pitches you into the river.  You\n");
  81. Xprintf ("flounder around in the water for a short while.  Luckily\n");
  82. Xprintf ("before you have the chance to drown, a crocodile pulls\n") ;
  83. Xprintf ("you under, bringing you to a rather quick though painful\n");
  84. Xprintf ("end. \n") ;
  85. Xreturn ;
  86. X
  87. Xcase R_bunyip:      /* getting eaten by the bunyip */
  88. Xprintf ("The slimey tentacle suddenly tightens around your leg, and\n");
  89. Xprintf ("the water in the billabong starts to churn furiously. Then\n");
  90. Xprintf ("surfaces the one thing that all Australians fear the most...");
  91. Xprintf ("\n\nBefore you stands an enormous sickly green Queensland\n") ;
  92. Xprintf ("Bunyip in all its awesome horror. It does not make a quick\n");
  93. Xprintf ("end of you....  Such is not the way of Bunyips.  First it \n");
  94. Xprintf ("peels off your skin as if you were a banana.  After much\n");
  95. Xprintf ("fearful agony, comes release as you pass into death.\n");
  96. Xreturn ;
  97. X
  98. Xcase R_road_kill_n:  /* getting run over by a road train */
  99. Xcase R_road_kill_s: 
  100. Xprintf("The distant rumble becomes a loud roar.  Suddenly a huge Mack\n") ;
  101. Xprintf("truck pulling three carriages packed with cattle leaps over the\n") ;
  102. Xprintf("low rise, filling the narrow country road.  You stand terrified\n") ;
  103. Xprintf("in the middle of the road with the metal monster bearing down\n") ;
  104. Xprintf("at 120 km/hr.  The last thing you see before being flattened\n") ;
  105. Xprintf("like a cockroach is a sign on the truck's roo bar saying:\n") ;
  106. Xprintf("                 \"CAUTION:  ROAD TRAIN\"\n\n") ;
  107. Xreturn ;
  108. X
  109. Xcase R_forest:
  110. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  111. Xprintf("You are in a forest thickly wooded with gum trees.  The forest\n") ;
  112. Xprintf("floor is covered with long thin leaves from gum trees mixed\n") ;
  113. Xprintf("with their seed pods.  There is a strong eucalytus smell in the\n") ;
  114. Xprintf("air.  Up in the forest canopy you can hear kookaburras engaged\n") ;
  115. Xprintf("in their raucous cackling.\n") ;
  116. Xreturn ;
  117. X
  118. Xcase R_bend:
  119. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  120. Xprintf("You are north of the grassy area in the bend of a great meandering\n") ;
  121. Xprintf("river.  All around you are the tall black fronds of grass trees.\n") ;
  122. Xif (sw_bend) {
  123. X    sw_bend = FALSE ;
  124. Xprintf("Off in the distance you can see a mob of emus striding out of\n") ;
  125. Xprintf("sight.\n") ;
  126. X}
  127. Xreturn ;
  128. X
  129. Xcase R_bitumen:
  130. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  131. Xprintf("You are on a narrow country road made out of potholed bitumen.\n") ;
  132. Xprintf("The road's shoulders are of soft red earth which could cause\n") ;
  133. Xprintf("a driver to lose control of his car if he took a wheel off the\n") ;
  134. Xprintf("bitumen.  ") ;
  135. Xif (sw_mob) {
  136. X    sw_mob = FALSE ;
  137. Xprintf("A few metres away is a mob of grey kangroos grazing\n") ;
  138. Xprintf("on grass by the road.  A huge buck looks up at you and doesn't\n") ;
  139. Xprintf("like what he sees.  He bounds off with the rest of the mob\n") ;
  140. Xprintf("following.  You can see the heads of joeys protruding from\n") ;
  141. Xprintf("their mother's pouches as the mob leaps off into the bush and\n") ;
  142. Xprintf("out of sight.\n") ;
  143. X}
  144. Xelse printf("\n") ;
  145. Xreturn ;
  146. X
  147. Xcase R_stream:
  148. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  149. Xprintf("You approach a billabong with a small stream flowing into it.\n") ;
  150. Xprintf("Cane toads can be heard croaking nearby and you see countless\n") ;
  151. Xprintf("numbers of their tadpoles swimming in the stream.\n") ;
  152. Xreturn ;
  153. X
  154. Xcase R_taipan:      /* getting bitten by a taipan */
  155. Xprintf("As you wander aimlessly in the grass, you accidently step\n");
  156. Xprintf("upon a taipan which is perhaps the most poisonous of Oz's \n");
  157. Xprintf("snakes. The snake strikes upwards and bites you in the\n");
  158. Xprintf("worst possible place.  You thrash around for a short while\n");
  159. Xprintf("and then the venom takes hold. Your body begins to decompose");
  160. Xprintf("\nbefore your very eyes.  Death comes only after an hour \n");
  161. Xprintf("of the worst possible agony.  \n");
  162. Xreturn ;
  163. X
  164. Xcase R_mine_head:  /* Front of ACME Mine */
  165. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  166. Xprintf ("East of you is a large iron open truss tower, topped with \n");
  167. Xprintf ("two rusting wheels holding a pair of thick steel cables.  \n");
  168. Xprintf ("This is the head gear of the once highly successful ACME \n"); 
  169. Xprintf ("Gold Mine, which now is completely mined out.  Where \n");
  170. Xprintf ("there were once rich veins of gold is now a honeycomb of \n");
  171. Xprintf ("tunnels and caverns.  There are stories about strange \n");
  172. Xprintf ("events in the old tunnels of the ACME mine and only fools \n");
  173. Xprintf ("or reckless adventurers would dare explore them. \n");
  174. Xprintf ("To the north is the old office building.  Rumor has it \n");
  175. Xprintf ("the safe in this building once had millions of dollars in \n");
  176. Xprintf ("gold processed from the rich ore of the ACME mine.  To \n");
  177. Xprintf ("the south is the mine lift, which once transported up to \n");
  178. Xprintf ("twenty miners at a time down the long mine shaft to the \n");
  179. Xprintf ("working tunnels deep under the earth below.\n");
  180. Xreturn ;
  181. X
  182. Xcase R_office_mang:  /* Manager's office */
  183. Xroom[n][M_rm_type] = T_short_descp ;   /* disable long description  */
  184. Xprintf("You are in the Manager's office of the ACME Mine.  In \n");
  185. Xprintf("former times this room saw many lively meetings between \n"); 
  186. Xprintf("the Site Manager and Shift Bosses.  Fixed to the wall are\n");
  187. Xprintf("old production schedules and organizational charts. In\n");
  188. Xprintf("the middle of the room is a beautiful silky oak desk.\n");
  189. Xprintf("Unfortunately it is too heavy to move.  Attached to\n"); 
  190. Xprintf("the far wall is a curious picture of a platypus wearing a \n");
  191. Xprintf("hat with old wine corks dangling from the hat's brim. The\n");
  192. Xprintf("only exit is to the south.\n\n") ;
  193. Xreturn ;
  194. X
  195. Xcase R_geo_w:  /* Geologist's office */
  196. Xroom[n][M_rm_type] = T_short_descp ;   /* disable long description  */
  197. Xprintf("As you entered this room, huge cockroaches scuttled off ");
  198. Xprintf("in every \n"); 
  199. Xprintf("direction. On the far wall is a rather tasteless poster ");
  200. Xprintf("depicting \n");
  201. Xprintf("an extremely well endowed (unclad) young woman holding a ");
  202. Xprintf("mining \n"); 
  203. Xprintf("drill.  This office was once occupied by the mine ");
  204. Xprintf("geologist.  One \n");
  205. Xprintf("can still see traces of the office's former occupant.  ");
  206. Xprintf("There are only \n");
  207. Xprintf("two doors to this room.  Both go to the north. You entered ");
  208. Xprintf("through \n");
  209. Xprintf("the west door.  However there is another door in ");
  210. Xprintf("the eastern section \nof the office. \n");
  211. Xreturn ;
  212. X/* lift compartment */
  213. Xcase R_lift_inside:
  214. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  215. Xprintf("You are inside the lift, which has only one ");   
  216. Xprintf("entrance doorway to the west. \n");
  217. Xprintf("To the left of the door is a panel of buttons.  Most of "); 
  218. Xprintf("the buttons are \ninoperative with tape over them.  However ");
  219. Xprintf("there are four buttons \nthat still work. Each of the four ");
  220. Xprintf("buttons have a number stamped on them.  \nThe numbers are ");
  221. Xprintf("zero, forty-nine, sixty-seven, and eighty-two. \n \n");
  222. Xreturn ;
  223. Xcase R_hideout_entr:  /* Ned Kelly's Hide Out */
  224. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  225. X
  226. Xif (monster_flag == F_no_monster) {
  227. Xprintf ("Before you is a Queensland house with large verandas. ") ;
  228. Xprintf ("The front of\nthe house is to the east. The house ") ;
  229. Xprintf ("is painted fluorescent orange.\nOn the roof of the house is ");
  230. Xprintf ("a large, bright flashing neon sign which reads: \n\n");
  231. Xprintf("___________________________________________________________\n");
  232. Xprintf("|                                                         |\n");
  233. Xprintf("|            Ned Kelly's ---SECRET--- Hide Out            |\n");
  234. Xprintf("| Policemen, troopers, law enforcement officers and all   |\n");
  235. Xprintf("| other minions of the law and public decency are advised |\n");
  236. Xprintf("| to look else where for bush rangers, thieves, and other |\n");
  237. Xprintf("| larrikins, since ***only*** honest, law abiding         |\n");
  238. Xprintf("| Australians (loyal to Queen and Country) live here.     |\n");
  239. Xprintf("|                                                         |\n");
  240. Xprintf("___________________________________________________________\n");
  241. X}
  242. Xelse describe(n) ;
  243. Xreturn ;
  244. X
  245. Xcase R_foreman:
  246. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  247. Xprintf("You have entered the office of the Level #67 Foreman. In ");
  248. Xprintf("the middle of the\nroom is the Foreman's large and immovable ");
  249. Xprintf("desk.  To one side can be seen an\nempty file cabinet and ");
  250. Xprintf("a series of pidgeon holes for holding mine worker's\nmail. ");
  251. Xprintf("The only exit is to the west.\n\n") ;
  252. Xreturn ;
  253. X
  254. Xcase R_no_treasure:
  255. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  256. Xprintf("You are in a tunnel going east and west. Crude letters have\n");
  257. Xprintf("been scratched into the wall of the tunnel.  The following\n") ;
  258. Xprintf("was written:\n\n") ;
  259. Xprintf("Dear Treasure Hunter:\n") ;
  260. Xprintf("There was lots of treasure on this level when I first\n") ;
  261. Xprintf("discovered this mine.  However I have since carted it all\n") ;
  262. Xprintf("away.  You might try looking on another level.") ;
  263. Xprintf("\n\n                            Good Luck!\n") ;
  264. Xprintf("                         Dr. I. Jones, Ph.D.\n\n") ;
  265. Xreturn ;
  266. X
  267. Xcase R_gleep_tank:
  268. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  269. Xprintf("You have walked into a room with a large plastic tank set "); 
  270. Xprintf("in the middle.\nThe tank is about two metres deep and ");
  271. Xprintf("full of dark blue liquid which\nsmells strongly of chlorine.");
  272. Xprintf(" The words \"Gleep Tank\" have been crudely\n");
  273. Xprintf("spray painted on the wall.\n") ;
  274. Xreturn ;
  275. Xcase R_ufo_e:
  276. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  277. Xprintf("You crawl under a long thin sting that projects from the ");
  278. Xprintf("front of the\nspacecraft.  It's made from a different metal ");
  279. Xprintf("(stainless steel?), and appears\nto have been retractable. ");
  280. Xprintf("This was probably a Mach probe for measuring flight\n") ;
  281. Xprintf("speed. You can go north or south.\n") ;
  282. Xreturn ;
  283. Xcase R_ufo_w:
  284. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  285. Xprintf("Before you is perhaps the real reason why the ACME Mine ");
  286. Xprintf("was closed. You see\nthe bent and twisted remains of what ");
  287. Xprintf("could only be an ancient spacecraft. It\nsits ") ;
  288. Xprintf("embedded within a gold bearing");
  289. Xprintf(" reef of conglomerate stone from the\nPrecambrain Period ");
  290. Xprintf("(hundreds of millions of years old).  The old spacecraft\n") ;
  291. Xprintf("was based on a delta wing design which the miners had ");
  292. Xprintf("chiped free from\nthe rock. You can see clearly the interior ");
  293. Xprintf("of the engine exhaust ducts.  The\nvehicle has air inlets ");
  294. Xprintf("so it must have been air breathing when it flew in\nthe ");
  295. Xprintf("atmosphere. ") ;
  296. Xprintf("The edges of the ducts appear to be made of titanium ");
  297. Xprintf("and are\nabout six centimetres thick. No wonder it could ");
  298. Xprintf("survive millions of years\nunder tons of stone. ") ;
  299. Xprintf("This spacecraft is literally built like a battleship!\nYou ") ;
  300. Xprintf("can climb over the vehicle to the north or go south.\n\n");
  301. Xreturn ;
  302. Xcase R_ufo_n:
  303. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  304. Xprintf("You're now doing a tight squeeze between the tunnel wall ");
  305. Xprintf("and the leading\nedge of the wing.  You can see the titanium");
  306. Xprintf(" surface is covered with many\nregularly placed little ");
  307. Xprintf("holes, each about half a millimetre in diameter.\nThis ");
  308. Xprintf("was probably part of the wing's cooling system for ") ;
  309. Xprintf("atmospheric entry\nfrom orbit. You can go south-east or ");
  310. Xprintf("south-west.\n\n");
  311. Xreturn ;
  312. Xcase R_ufo_s:
  313. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  314. Xprintf("You're crawling under the wing and next to the spacecraft's ");
  315. Xprintf("landing gear.\nThe landing gear strut is almost snapped ");
  316. Xprintf("off.  The tyre has long ago turned\nto dust, but the tyre ");
  317. Xprintf("rim is still in place.  The braking system used is\nquite ");
  318. Xprintf("odd.  The brake rotor is basicly a ring being gripped by ");
  319. Xprintf("a caliper with\nconcave brake pads.  You ") ;
  320. Xprintf("can go north-west or north-east.\n") ;
  321. Xreturn ;
  322. Xcase R_ufo_ne:
  323. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  324. Xprintf("You are now near the nose of the derelict spacecraft.  You ");
  325. Xprintf("see a quartz\nwindow in the side of the vehicle.  It has been");
  326. Xprintf(" so scratched by the\ncenturies that it is now opaque.  ");
  327. Xprintf("You can go north-west or south.\n") ;
  328. Xreturn ;
  329. Xcase R_ufo_nw:
  330. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  331. Xprintf("As you scrambled over the old derelict, you passed under ");
  332. Xprintf("the vertical\nstabilizer which centuries of geological ") ;
  333. Xprintf("forces had bent into what\nlooks like a sagging shark's ");
  334. Xprintf("fin. You can go south or do a tight squeeze\nto the ");
  335. Xprintf("north-east.\n\n");
  336. Xreturn ;
  337. Xcase R_ufo_se:
  338. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  339. Xprintf("You are under the forward section of the spacecraft. ");
  340. Xprintf("Above you is an\nopened access hatch which leads into the ");
  341. Xprintf("dark interior of the derelict.\n");
  342. Xprintf("You can go north, up or crawl under the wing to the ");
  343. Xprintf("south-west\n") ;
  344. Xreturn ;
  345. Xcase R_ufo_sw:
  346. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  347. Xprintf("You are hunching over as you scramble underneath the ");
  348. Xprintf("spacecraft's wing.\nNear the trailing edge of the wing ");
  349. Xprintf("you can see what is left of the\nwing flaps.  The flap ");
  350. Xprintf("was actuated by a very conventional hydraulic system.\n");
  351. Xprintf("Some of the metal tubing for the actuaters are still in ");
  352. Xprintf("place, though\nthe hydraulic fluid has long since ") ;
  353. Xprintf("fossilized into stone. You can\ngo north or south-east.\n") ;
  354. Xreturn ;
  355. Xcase R_air_lock:
  356. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  357. Xprintf("You are inside what is obviously an airlock.  There are ");
  358. Xprintf("two hatchways\ninto this airlock.  One leads to the exterior ");
  359. Xprintf("while the other goes into\nthe spacecraft's interior.  Both ");
  360. Xprintf("hatches appear to have originally been\nleft open and not ");
  361. Xprintf("forced by the miners (the hinges are immovable). ");
  362. Xprintf("It\nappears that the ship's crew left in a hurry. ") ;
  363. Xprintf("You can go north or down.\n") ;
  364. Xreturn ;
  365. X
  366. Xcase R_ship_passage:
  367. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  368. Xprintf("You've entered the intercompartment access passage.  To the ") ;
  369. Xprintf("south is an\nopen air tight door leading to the airlock. ");
  370. Xprintf("The access door to the east\nis open and recessed into the ");
  371. Xprintf("wall. The access door to the west has been\nforced open ");
  372. Xprintf("with a cutting torch and folded back with a pneumatic\n") ;
  373. Xprintf("hammer (obviously the work of the miners). ") ;
  374. Xprintf("The passage itself has about\nten centimetres of silt on the") ;
  375. Xprintf(" bottom and has the appearance of ancient\ndilapidation.\n") ;
  376. Xreturn ;
  377. X
  378. Xcase R_flight_deck:
  379. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  380. Xprintf("You have made it to the flight deck. Unfortunately ");
  381. Xprintf("it's not much to\nwrite home about. Since the access door ");
  382. Xprintf("was open, this area has been full\nof water and silt for ");
  383. Xprintf("millennia.  The miners have shoveled out most of it.\nOnce ");
  384. Xprintf("the wall panels were covered with some kind of plastic which");
  385. Xprintf(" has long\nsince turned to dust.  There are three corroded ");
  386. Xprintf("frames which were once crew\nseats. The beings that flew ") ;
  387. Xprintf("this machine were taller and wider than humans\nbut they ");
  388. Xprintf("had anthropoid form. The flight controls are still here");
  389. Xprintf(" but they\nare so heavily corroded that they can no longer "); 
  390. Xprintf("be moved.  The only way out\nis to the west.\n\n") ;
  391. Xreturn ;
  392. X
  393. Xcase R_panel:
  394. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  395. Xprintf("You are in a compartment that seems brand new, which is ");
  396. Xprintf("unbelievable.  Perhaps\nthe machinery in this ship was once ");
  397. Xprintf("self repairing.  Before you is a control\npanel with CRT type");
  398. Xprintf(" displays and buttons that still work.  Beneath each button\n");
  399. Xprintf("is a description written in a strange alien script ");
  400. Xprintf("vaguely like Sanskrit.\nI wouldn't dare ") ;
  401. Xprintf("press any button except for a gray button.  Beneath\n");
  402. Xprintf("this button is some masking tape that was obviously placed ") ;
  403. Xprintf("there by the miners.\nSomeone has written \"TEHR.\" on the ") ;
  404. Xprintf("masking tape with a pencil.\n\n") ;
  405. Xreturn ;
  406. X
  407. Xcase R_transporter:
  408. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  409. Xprintf("You have walked into an elevated chamber with strange ") ;
  410. Xprintf("glowing hexagons on\nthe floor which are about half a ") ;
  411. Xprintf("metre across.  The hexagon pattern on the\nfloor is ");
  412. Xprintf("matched by one on the ceiling which is also glowing.\n\n") ;
  413. Xreturn ;
  414. X
  415. Xcase R_prayer:
  416. Xroom[n][M_rm_type] = T_short_descp ;   /* disable long description  */
  417. Xprintf("You are in a large and very grand room with walls made of\n");
  418. Xprintf("polished mahogany, and crystal chandeliers hanging from an\n");
  419. Xprintf("ornate ceiling.  There is a mihrab incongruously set in the\n");
  420. Xprintf("western wall of the building.  Also there are quotations\n");
  421. Xprintf("from the Quram written in golden letters along the top of\n") ;
  422. Xprintf("the walls near the ceiling.  On the floor are sumptuous\n") ;
  423. Xprintf("cushions made of silk and fine green velvet. Sitting on the\n");
  424. Xprintf("cushions are old men wearing black pajamas with white\n");
  425. Xprintf("towels wrapped around their heads. In the middle of the\n");
  426. Xprintf("floor is a raised dais, upon which is sitting a rather\n");
  427. Xprintf("stately old man wearing similar clothing. In the far corner\n");
  428. Xprintf("of the room is standing a wax dummy of the Ayatolla\n") ;
  429. Xprintf("Khomeini. His right arm is upright much like the Statue of\n") ;
  430. Xprintf("Liberty and in his right hand is a glowing 100 watt light\n") ;
  431. Xprintf("bulb.  I think this is the prayer room for the Iranian\n") ;
  432. Xprintf("Parliament!  You'll have to go west if you wish to leave.\n\n") ;
  433. Xreturn ;
  434. Xcase R_guard:
  435. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  436. Xprintf("You are in a rather small room with a table in the ");
  437. Xprintf("middle that is covered\nwith half filled cups of tea, dirty ") ;
  438. Xprintf("ash trays, and a newspaper written in\nwhat appears to be ") ;
  439. Xprintf("Arabic.  There is ") ;
  440. Xprintf("a brightly coloured poster on the\nwall depicting the Kaba ") ;
  441. Xprintf("Stone of Mecca with a calendar below it.  The only\n") ;
  442. Xprintf("exits are through an open doorway to the east and through");
  443. Xprintf(" a curtain covered\ndoorway to the south.\n\n") ;
  444. Xreturn ;
  445. Xcase R_closet:
  446. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  447. Xprintf("You are in a closet full of grubby, nondescript things not\n") ;
  448. Xprintf("worth taking. The closet stinks of moth balls. The only way\n");
  449. Xprintf("out is through a curtain covered doorway to the north.\n\n");
  450. Xreturn ;
  451. Xcase R_gong:
  452. Xroom[n][M_rm_type] = T_short_descp ;   /* disable long description  */
  453. Xprintf("You have entered an enormous room which is walled with\n");
  454. Xprintf("polished black granite supported by vast curving arches\n");
  455. Xprintf("much like a gothic cathedral.  The cavernous room is a seven\n");
  456. Xprintf("sided polygon in layout with huge flaming torches set in\n");
  457. Xprintf("brass holders in every corner of the room.  In the flickering\n");
  458. Xprintf("light of the torches you see an enormous silver gong\n");
  459. Xprintf("weighing at least a ton.  The huge gong is suspended from\n");
  460. Xprintf("a finely polished red cedar frame, the top of which is\n");
  461. Xprintf("about four metres above the floor.  The room is deathly\n");
  462. Xprintf("quiet like an ancient tomb. The only sound you can hear is\n");
  463. Xprintf("your own heart beating.\n") ;
  464. Xreturn ;
  465. Xcase R_warning:
  466. Xroom[n][M_rm_type] = T_was_long;   /* long description only on request  */
  467. Xprintf("You have entered a passage with exits to the north, south,\n");
  468. Xprintf("and west.  There is a poster glued to the wall which reads:\n");
  469. Xprintf("+---------------------------------------------------------+\n");
  470. Xprintf("|                                                         |\n");
  471. Xprintf("|              ACME MINE IS UNFAIR TO WORKERS!!           |\n");
  472. Xprintf("|                                                         |\n");
  473. Xprintf("|                       ON STRIKE!!                       |\n");
  474. Xprintf("|                                                         |\n");
  475. Xprintf("| The Loyal Brotherhood of Australian Miners and Under-   |\n");
  476. Xprintf("| ground Workers is on strike against Acme Mines Ltd. due |\n");
  477. Xprintf("| to unfair treatment of its workers.  Our Union demands  |\n");
  478. Xprintf("| the following:  Worker's wages be increased by 30%%, the |");
  479. Xprintf("\n") ;
  480. Xprintf("| week shall have only 4 working days, the working day    |\n");
  481. Xprintf("| shall be reduced to 5 hours, triple wages for overtime  |\n");
  482. Xprintf("| work and immunity from sacking for all Union members.   |\n");
  483. Xprintf("| To discourage scabs and other strike breakers from      |\n");
  484. Xprintf("| working during the strike, we have planted booby traps  |\n");
  485. Xprintf("| through out the tunnels on this level.  We do hope you  |\n");
  486. Xprintf("| don't mind the mine being mined so it won't be mined.   |\n");
  487. Xprintf("+---------------------------------------------------------+\n");
  488. X    return ;
  489. X    } 
  490. X}
  491. Xelse describe(n) ;
  492. X
  493. X} /* --- end of long_descp subroutine --- */
  494. END_OF_FILE
  495. if test 23619 -ne `wc -c <'longdsc.c'`; then
  496.     echo shar: \"'longdsc.c'\" unpacked with wrong size!
  497. fi
  498. # end of 'longdsc.c'
  499. fi
  500. if test -f 'objlook.c' -a "${1}" != "-c" ; then 
  501.   echo shar: Will not clobber existing file \"'objlook.c'\"
  502. else
  503. echo shar: Extracting \"'objlook.c'\" \(17654 characters\)
  504. sed "s/^X//" >'objlook.c' <<'END_OF_FILE'
  505. X#define OBJLKR
  506. X#include "dink_sym.h"
  507. X#include "dink_glb.h"
  508. X
  509. X#if (PROTOTYPE)
  510. Xvoid objlooker(int n)
  511. X#else
  512. Xvoid objlooker(n)
  513. Xint n ;
  514. X#endif
  515. X/*********************************************************/
  516. X/*                                                       */
  517. X/*    --- Object in Room Examination Subroutine ---      */
  518. X/*                                                       */
  519. X/*      Program by Gary A. Allen, Jr.  18 May 1990       */
  520. X/*        (c) Copyright 1992 by Gary A. Allen, Jr.       */
  521. X/*                                                       */
  522. X/*********************************************************/
  523. X{
  524. Xregister int i ;
  525. XOBJECT_STRUCT *pnt ;
  526. X
  527. X#if (PROTOTYPE)
  528. Xvoid objector(OBJECT_STRUCT*) ;
  529. X#endif
  530. X
  531. Xif (((Torch->Location == B_have) && Torch->Status) || 
  532. X   (n < 186) || (n > 202)) { 
  533. X    if (room[n][M_obj_cnt] == 1) {
  534. X        pnt = object ; /* initialize the pointer */
  535. X        for (i = 0; i < Objcnt; i++) {
  536. X            if ((pnt->Location == n)&&(pnt->Type != Z_unmovable)) {
  537. X                if (n == R_office_mang) {
  538. X                    printf("On the floor you see ") ;
  539. X                    objector(pnt) ;
  540. X                    printf (".\n") ;
  541. X                }
  542. X                else {
  543. X                     printf("You see ") ;
  544. X                    objector(pnt) ;
  545. X                    printf (".\n") ;
  546. X                }
  547. X            }
  548. X            pnt++ ;
  549. X        }
  550. X    }
  551. X    if (room[n][M_obj_cnt] > 1) {
  552. X        if (n == R_office_mang) 
  553. Xprintf ("You see the following on the floor: \n");
  554. X        else printf ("You see the following: \n");
  555. X        pnt = object ; /* initialize the pointer */
  556. X        for (i = 0; i < Objcnt; i++) {
  557. X            if ((pnt->Location == n)&&(pnt->Type != Z_unmovable)) {
  558. X                printf ("        ") ;
  559. X                objector(pnt) ;
  560. X                printf ("\n") ;
  561. X            }
  562. X            pnt++ ;
  563. X        }
  564. X    }
  565. X}
  566. X} /* end of "objlooker" subroutine */
  567. X#if (PROTOTYPE)
  568. Xvoid kelly(int n)
  569. X#else
  570. Xvoid kelly(n) 
  571. Xint n ;
  572. X#endif
  573. X/********************************************************************/
  574. X/*                                                                  */
  575. X/*                  --- Ned Kelly Subroutine --                     */
  576. X/*                                                                  */
  577. X/* Software by Gary A. Allen, Jr. 5 November 1989  Version: Mk 1.2  */
  578. X/*           (c) Copyright 1989 by Gary A. Allen, Jr.               */
  579. X/*                                                                  */
  580. X/********************************************************************/
  581. X{
  582. Xregister int i, k ;
  583. Xstatic int ned_look = 0, sw_fiddle = TRUE ;
  584. Xint  sw_ned_look, sw_ned_set ;
  585. XOBJECT_STRUCT *pnt ;
  586. X
  587. X/* check if Ned  Kelly is dead */
  588. Xif (Ned->Location == B_destroyed) return ;
  589. X
  590. X/* this switch is for Ned looking for treasure once per cycle */
  591. Xsw_ned_look = FALSE ;
  592. Xsw_ned_set = FALSE ;
  593. X
  594. X/* check if player is in Ned's trigger rooms */
  595. Xswitch (n) {
  596. X/* Cause Ned Kelly to steal */
  597. Xcase R_lift_inside:
  598. X    /* are there valuables in the safe and the safe open? */
  599. X    if ((score > 0) && (Safe->Status != S_closed)) {
  600. X    /* is the office building open? */
  601. X        if ((ned_look > 3)||(Door->Status == S_open)
  602. X                ||(Door->Status == S_kicked)
  603. X                ||(Door->Status == S_unlocked)) {
  604. X
  605. X            if (ned_look > 3) {
  606. X                Door->Status = S_kicked ;
  607. X                room[R_office_entr][2] = R_office_hall ;
  608. X            }
  609. X
  610. X/* scan the object list for treasure in safe and transfer to hideout */
  611. X            pnt = object ; /* initialize the pointer */
  612. X            for (i = 0; i < Objcnt; i++) {
  613. X                if ((pnt->Location == B_in_safe)
  614. X                        && (pnt->Value > 0)) {
  615. X                    ++room[R_hideout][M_obj_cnt] ;
  616. X                    pnt->Location = R_hideout; 
  617. X                    sw_ned_set = TRUE ;
  618. X                    Picture->Status = S_open ;
  619. X                }
  620. X                pnt++ ;
  621. X            }    
  622. X        }
  623. X/* the safe is open with treasure but the door is locked */
  624. X        else {
  625. X            ++ned_look ;
  626. X            sw_ned_look = TRUE ;
  627. X        }
  628. X    } /* end of the block concerning Ned and the safe */
  629. X
  630. X    if (sw_valuable) {
  631. X        pnt = object ; /* initialize the pointer */
  632. X        for (i = 0; i < Objcnt; i++) {
  633. X/* scan for treasure laying around outside the building on surface */
  634. X            for (k = 22; k <= 36; k++) { 
  635. X                if ((pnt->Location == k)
  636. X                    &&(pnt->Value > 0)) {
  637. X                    ++room[R_hideout][M_obj_cnt] ;
  638. X                    --room[k][M_obj_cnt] ;
  639. X                    pnt->Location = R_hideout; 
  640. X                    sw_ned_set = TRUE ;
  641. X                    sw_valuable = FALSE ;
  642. X                    break ;
  643. X                }
  644. X            }    
  645. X            for (k = 144; k <= 145; k++) {
  646. X                if ((pnt->Location == k)&&
  647. X                    (pnt->Value > 0)) {
  648. X                    ++room[R_hideout][M_obj_cnt] ;
  649. X                    --room[k][M_obj_cnt] ;
  650. X                    pnt->Location = R_hideout; 
  651. X                    sw_valuable = FALSE ;
  652. X                    sw_ned_set = TRUE ;
  653. X                    break ;
  654. X                }
  655. X            }    
  656. X        /* scan the office building for treasure on the floor */
  657. X            for (k = 37; k <= 41; k++) { 
  658. X                if ((pnt->Location == k)&&
  659. X                    (pnt->Value > 0)) {
  660. X/* if the office bldg. door is open then Ned Kelly steals treasure */
  661. X        if ((Door->Status == S_open)||(Door->Status == S_unlocked)
  662. X                ||(Door->Status == S_kicked)) {
  663. X            ++room[R_hideout][M_obj_cnt] ;
  664. X            --room[k][M_obj_cnt] ;
  665. X            pnt->Location = R_hideout; 
  666. X            sw_valuable = FALSE ;
  667. X            sw_ned_set = TRUE ;
  668. X            break ;
  669. X        }
  670. X/* if Ned Kelly sees locked treasure four times, he kicks in the door */
  671. X        if (ned_look > 3) {
  672. X            Door->Status = S_kicked ;
  673. X            room[R_office_entr][2] = R_office_hall ;
  674. X            ++room[R_hideout][M_obj_cnt] ;
  675. X            --room[k][M_obj_cnt] ;
  676. X            pnt->Location = R_hideout; 
  677. X            sw_valuable = FALSE ;
  678. X            sw_ned_set = TRUE ;
  679. X        }
  680. X        else {
  681. X            if (!sw_ned_look) ++ned_look ;
  682. X            sw_ned_look = TRUE ;
  683. X            break ; /* conclude the office bldg. loop */
  684. X        }
  685. X        break ;
  686. X                }
  687. X            }    
  688. X            pnt++ ;
  689. X        }    
  690. X    } /* end of block concerning Ned and loose treasure */
  691. X
  692. X    if (sw_ned_set) {
  693. X        Ned->Status = F_stealing ; 
  694. X        Ned->Location = R_hideout ;
  695. X        room[R_hideout][M_monster] = 1 ;
  696. X        sw_ned_set = FALSE ;
  697. X    }
  698. X    return ;
  699. X
  700. Xcase R_office_entr:
  701. X/* Cause Ned Kelly to run away with treasure */
  702. X    if (Ned->Status == F_stealing) {
  703. X        Ned->Status = F_asleep ;
  704. Xprintf("There is an odd looking character with an iron bucket on his ");
  705. Xprintf("head and a swag\n");
  706. Xprintf("bag over his shoulder running away from the ");
  707. Xprintf("office building towards\nthe desert. \n\n") ;
  708. X        return ;
  709. X    }
  710. X    if ((ned_look == 2) && sw_fiddle && (Door->Status != S_open)
  711. X            &&(Door->Status != S_kicked)
  712. X            &&(Door->Status != S_unlocked)) {
  713. X        sw_fiddle = FALSE ;
  714. Xprintf("As you approach the office building's door, you see a\n");
  715. Xprintf("strange looking character with a bucket on his head and\n") ;
  716. Xprintf("wearing an iron breast plate.  He is on his knees before\n") ;
  717. Xprintf("the door trying to pick the lock with a bit of coat hanger\n") ;
  718. Xprintf("wire. Suddenly, he turns and sees you coming. With amazing\n"); 
  719. Xprintf("speed, he throws away his wire and runs off towards the\n") ;
  720. Xprintf("open desert.\n\n") ;
  721. X        return ;
  722. X    }
  723. X} /* end of the ned kelly room switch block */
  724. X} /* --- end of the "kelly" subroutine  --- */ 
  725. X
  726. X#if (PROTOTYPE)
  727. Xvoid sounder(int n)
  728. X#else
  729. Xvoid sounder(n) 
  730. Xint n ;
  731. X#endif
  732. X/********************************************************************/
  733. X/*                                                                  */
  734. X/*                  --- Gong Sounding Subroutine --                 */
  735. X/*                                                                  */
  736. X/* Software by Gary A. Allen, Jr. 21 June 1989     Version: Mk 1.0  */
  737. X/*           (c) Copyright 1989 by Gary A. Allen, Jr.               */
  738. X/*                                                                  */
  739. X/********************************************************************/
  740. X{
  741. X#if (PROTOTYPE)
  742. Xvoid exit(int), hold_it(void) ;
  743. Xvoid los_angeles(void) ;
  744. Xchar getche(void) ;
  745. X#endif
  746. X
  747. Xchar letter ;
  748. X
  749. X/* see if player is in the gong room */
  750. Xif (n != R_gong) {
  751. X    if (tag[V_gong]) printf("I don't see a gong here.\n") ;
  752. X    else printf("I don't see how you can do that.\n") ;
  753. X    return ;
  754. X}
  755. X
  756. X/* The player is in the gong room. Does he have the clapper? */
  757. Xif (tag[V_clapper]) {
  758. X    if (Clapper->Location == B_have) {
  759. X        if (!tag[V_gong]) {
  760. Xprintf("With what are you going to do that with the clapper?\n") ;
  761. X            return ;
  762. X        }
  763. Xprintf
  764. X("\n  GGGGGGGG       OOOOOOOO     NN       NN     GGGGGGGG     !!!\n") ;
  765. Xprintf
  766. X("GG        GG   OO        OO   NNN      NN   GG        GG   !!!\n") ;
  767. Xprintf
  768. X("GG             OO        OO   NN N     NN   GG             !!!\n") ;
  769. Xprintf
  770. X("GG             OO        OO   NN  N    NN   GG             !!!\n") ;
  771. Xprintf
  772. X("GG   GGGGGGG   OO        OO   NN   N   NN   GG    GGGGGG   !!!\n") ;
  773. Xprintf
  774. X("GG        GG   OO        OO   NN    N  NN   GG        GG   !!!\n") ;
  775. Xprintf
  776. X("GG        GG   OO        OO   NN     N NN   GG        GG\n") ;
  777. Xprintf
  778. X("GG        GG   OO        OO   NN      NNN   GG        GG   000\n") ;
  779. Xprintf
  780. X("  GGGGGGGG       OOOOOOOO     NN       NN     GGGGGGGG     000\n\n") ;
  781. X
  782. X/* see if the "end game" can begine */
  783. X        /* Check to see if the recorder was used */
  784. X        if (Gong->Status == S_recorder) {
  785. Xprintf("You hear an ethereal voice which says:\n\n") ;
  786. Xprintf("Sorry Mate!  You used the bloody data recorder which gave you\n") ;
  787. Xprintf("an unfair advantage.  If you want to be admitted into the final\n") ;
  788. Xprintf("part of Dinkum and have a chance at winning then you must find\n") ;
  789. Xprintf("all the treasure, come back here and sound the gong WITHOUT having\n") ;
  790. Xprintf("started Dinkum with the command switch \"-S\" (NO data recorder).\n\n");
  791. Xprintf("You did however put in a good effort.  Better luck next time!\n") ;
  792. X            Gong->Status = S_told ;
  793. X            return ;
  794. X        }
  795. X        if (Gong->Status == S_told) {
  796. X            printf("Nothing happened.\n") ;
  797. X            return ;
  798. X        }
  799. X
  800. X        /* No recorder so admit player to endgame */
  801. X        if ((score < max_score)||(Tank->Status == 0)) {
  802. Xprintf("You hear an ethereal voice which says:\n\n") ;
  803. X            if (score < max_score) {
  804. Xprintf("Sorry Mate!  You haven't put all of the treasure in the\n") ;
  805. Xprintf("safe yet.  Find the rest, and then the secret of the gong\n") ;
  806. Xprintf("will be revealed.\n") ;
  807. X                return ;
  808. X            }
  809. X            if (Tank->Status == 0) {
  810. Xprintf("Good on you Mate!  You've found all of the treasure.\n") ;
  811. Xprintf("However you haven't put a single gleep in the gleep tank!\n");
  812. Xprintf("You're not a Fair Dinkum Adventurer until you've put at\n") ;
  813. Xprintf("least one gleep in the tank.\n") ;
  814. X                return ;
  815. X            }
  816. X        }
  817. X        /* Begin the End Game */
  818. Xprintf("There is a loud \"Fromp!\" as a portcullis crashes down and\n");
  819. Xprintf("seals the northern (and only) exit.  The lights go dim and\n");
  820. Xprintf("a hazy fog appears in the room.  Slowly this fog coalesces\n") ;
  821. Xif (sw_warned) {
  822. Xprintf("into the now familiar form of Banjo Patterson.  For some\n") ;
  823. Xprintf("odd reason Banjo is holding in his right hand a sword of\n") ;
  824. Xprintf("fire such as one reads about in Genesis. The deathly quiet\n");
  825. Xprintf("is broken when Banjo begins to speak:\n") ;
  826. X}
  827. Xelse {
  828. Xprintf("into a ghostly human form.  This ethereal being is wearing\n") ;
  829. Xprintf("a grey flannel suit, a bowler hat, and has a gold pocket\n") ;
  830. Xprintf("watch chain looped across the front of his waist coat.  He\n");
  831. Xprintf("is holding in his right hand a sword of fire such as one\n") ;
  832. Xprintf("reads about in Genesis.  You can hear \"Waltzing Matilda\"\n");
  833. Xprintf("being played softly in the background.  You know what?\n");
  834. Xprintf("I think this ethereal being is none other than the ghost\n") ;
  835. Xprintf("of Banjo Patterson!  With this realization Banjo begins to\n") ;
  836. Xprintf("speak:\n") ;
  837. X}
  838. X        hold_it() ;
  839. Xprintf("\"Good on you, Fair Dinkum Adventurer!  You have braved\n") ; 
  840. Xprintf("the perils of hoop snakes, drop bears, and mutant wombats.\n") ;
  841. Xprintf("You have solved many riddles, collected much treasure and\n") ;
  842. Xprintf("encountered true evil and dealt with it appropriately.\n");
  843. Xprintf("However it has occured to us that you might not be one of\n") ;
  844. Xprintf("the chosen few who can be admitted into the Land of the\n") ;
  845. Xprintf("Blessed.  The possibility remains that you could be a\n") ;
  846. Xprintf("whinging Pom or a bleeding Yank.  Therefore you will be\n") ;
  847. Xprintf("tested with three questions.  If you answer correctly, you\n") ;
  848. Xprintf("will be admitted into paradise. However should you answer\n");
  849. Xprintf("falsely, you will be sent to another place, an abode of\n");
  850. Xprintf("darkness and dread.  So answer wisely, for you will not be\n") ;
  851. Xprintf("given a second chance!\"\n\n") ;
  852. X
  853. Xprintf("What is the capital of Australia?\n\n") ;
  854. Xprintf("     A) Sydney\n") ;
  855. Xprintf("     B) Canberra\n") ;
  856. Xprintf("     C) Melbourne\n\n") ;
  857. Xprintf("Answer A, B, or C:  ") ;
  858. X#ifndef __TURBOC__
  859. X        for(;;) {
  860. X            letter = getchar() ;
  861. X            if ((letter != '\n')&&(letter != ' ')) break ;
  862. X        }
  863. X        if (('b' == letter)||('B' == letter)) 
  864. X            printf("\nCorrect!\n\n") ;
  865. X#endif
  866. X
  867. X#ifdef __TURBOC__
  868. X        for(;;) {
  869. X            letter = getche() ;
  870. X            if ((letter != '\n')&&(letter != ' ')) break ;
  871. X        }
  872. X        if (('b' == letter)||('B' == letter)) 
  873. X            printf("\n\nCorrect!\n\n") ;
  874. X#endif
  875. X        else {
  876. X            los_angeles() ;
  877. X            return ;
  878. X        }
  879. X
  880. Xprintf("In the Australian emblem there appears two animals on\n") ;
  881. Xprintf("either side of a shield.  One of the two animals is a\n") ;
  882. Xprintf("kangaroo.  What species is the other animal?\n\n") ;
  883. Xprintf("     A) Koala Bear\n") ;
  884. Xprintf("     B) Platypus\n") ;
  885. Xprintf("     C) Emu\n\n") ;
  886. Xprintf("Answer A, B, or C:  ") ;
  887. X#ifndef __TURBOC__
  888. X        for(;;) {
  889. X            letter = getchar() ;
  890. X            if ((letter != '\n')&&(letter != ' ')) break ;
  891. X        }
  892. X        if (('c' == letter)||('C' == letter)) 
  893. X            printf("\nCorrect!\n\n") ;
  894. X#endif
  895. X
  896. X#ifdef __TURBOC__
  897. X        for(;;) {
  898. X            letter = getche() ;
  899. X            if ((letter != '\n')&&(letter != ' ')) break ;
  900. X        }
  901. X        if (('c' == letter)||('C' == letter)) 
  902. X            printf("\n\nCorrect!\n\n") ;
  903. X#endif
  904. X        else {
  905. X            los_angeles() ;
  906. X            return ;
  907. X        }
  908. X
  909. Xprintf("Which place is a state in Australia?\n\n") ;
  910. Xprintf("     A) Arcadia\n") ;
  911. Xprintf("     B) Patagonia\n") ;
  912. Xprintf("     C) Tasmania\n\n") ;
  913. Xprintf("Answer A, B, or C:  ") ;
  914. X#ifndef __TURBOC__
  915. X        for(;;) {
  916. X            letter = getchar() ;
  917. X            if ((letter != '\n')&&(letter != ' ')) break ;
  918. X        }
  919. X        if (('c' == letter)||('C' == letter)) 
  920. X            printf("\nCorrect!\n\n") ;
  921. X#endif
  922. X
  923. X#ifdef __TURBOC__
  924. X        for(;;) {
  925. X            letter = getche() ;
  926. X            if ((letter != '\n')&&(letter != ' ')) break ;
  927. X        }
  928. X        if (('c' == letter)||('C' == letter)) 
  929. X            printf("\n\nCorrect!\n\n") ;
  930. X#endif
  931. X        else {
  932. X            los_angeles() ;
  933. X            return ;
  934. X        }
  935. X
  936. X/* Player has won the game */
  937. Xprintf("You see Banjo Patterson with a beatific smile.  He waves\n") ;
  938. Xprintf("his firey sword with a florish and the scene around you\n") ;
  939. Xprintf("dissolves into a million tiny motes of light.  You now\n") ;
  940. Xprintf("find yourself wearing swimming togs.  You are being carried\n");
  941. Xprintf("by a guard of honour made up of four sumptuous shielas\n") ;
  942. Xprintf("dressed in string bikinis and four handsome lifeguards.\n") ;
  943. Xprintf("They carry you to a perfect beach on South Stradbroke\n") ;
  944. Xprintf("Island.  Off in the distance on the Queensland mainland\n") ;
  945. Xprintf("you see the Gold Coast which vaguely resembles the Emerald\n") ;
  946. Xprintf("City of the classic movie.  Your guard of honour sets you\n") ;
  947. Xprintf("down and hands you a can of Power's Bitter.  Three\n") ;
  948. Xprintf("beautiful white pelicans float over head in a clear blue\n") ;
  949. Xprintf("sky completing a scene of exquisite beauty.\n\n") ;
  950. Xprintf("You're in paradise Mate and you've also won the game!\n\n") ;
  951. X
  952. X/* deal with final gleep announcement */
  953. Xif (Tank->Status == 1) {
  954. Xprintf("---- A hint for those who want to go on playing Dinkum ----\n");
  955. Xprintf("In this game you only put the minimum single gleep in the\n");
  956. Xprintf("gleep tank.  In future games try seeding fertile tunnels\n");
  957. Xprintf("with gleeps and reproducing them.  Build up as many gleeps\n");
  958. Xprintf("as you can and then hit the gong before Dinkum times out.\n");
  959. X}
  960. Xelse {
  961. Xprintf("You won this game with %d gleeps in the gleep tank.\n\n",
  962. X    Tank->Status) ;
  963. X}
  964. X        if (sw_wizard) return ;
  965. X        else exit(0) ;
  966. X    }
  967. X    else {
  968. X        printf("I don't have a clapper to hit it with! \n") ;
  969. X        return ;
  970. X    }
  971. X}
  972. Xelse {
  973. X    printf("\nThud!\n\n") ;
  974. X    printf("Nothing happened.\n") ;
  975. Xprintf("I think you'd have more success if you used a gong clapper.\n");
  976. X    return ;
  977. X}
  978. X} /* --- end of the "sounder" subroutine  --- */ 
  979. X
  980. X#if (PROTOTYPE)
  981. Xvoid los_angeles(void)
  982. X#else
  983. Xvoid los_angeles()
  984. X#endif
  985. X/********************************************************************/
  986. X/*                                                                  */
  987. X/*                 --- Los Angeles Subroutine --                    */
  988. X/*                                                                  */
  989. X/*       Player enters false answer and goes to Los Angeles.        */
  990. X/*                                                                  */
  991. X/* Software by Gary A. Allen, Jr. 7 December 1992  Version: Mk 1.0  */
  992. X/*           (c) Copyright 1992 by Gary A. Allen, Jr.               */
  993. X/*                                                                  */
  994. X/********************************************************************/
  995. X{
  996. X#if (PROTOTYPE)
  997. Xvoid exit(int) ;
  998. X#endif
  999. X
  1000. Xprintf("\n        -!-!-!-!-!-     Wrong!    -!-!-!-!-!-\n\n") ;
  1001. Xprintf("Banjo Patterson brings down the sword of fire onto your\n");
  1002. Xprintf("head. The scene around you disappears in a flash and you\n");
  1003. Xprintf("find yourself transported to.....\n\n") ;
  1004. Xprintf("             Pico Blvd., West Los Angeles\n\n") ;
  1005. Xprintf("L.A. is having a stage three smog alert.  The air is so\n");
  1006. Xprintf("foul you can taste it.  A Los Angeles municipal bus roars\n");
  1007. Xprintf("by covering you in soot.  Across the street you see a\n");
  1008. Xprintf("modern day Neanderthal selling vials of Crack to children.\n"); 
  1009. Xprintf("The person next to you has taken a definite physical\n");
  1010. Xprintf("interest in you.  She/he is wearing a short skirt and has a\n");
  1011. Xprintf("beehive hairdo.  He/she also has a five o'clock shadow, and\n");
  1012. Xprintf("bicepts so thick that he could collapse your skull with a\n");
  1013. Xprintf("single thump.\n\n") ; 
  1014. Xprintf("We now leave this unhappy scene.  Since you were sent to\n") ;
  1015. Xprintf("Los Angeles your score has been zeroed.\n\n") ; 
  1016. Xprintf("So ends yet another unsuccessful session at Dinkum!\n") ;
  1017. X
  1018. Xif (sw_wizard) return ;
  1019. Xelse exit(0) ;
  1020. X
  1021. X} /* --- end of the "los_angeles" subroutine  --- */ 
  1022. X
  1023. X
  1024. END_OF_FILE
  1025. if test 17654 -ne `wc -c <'objlook.c'`; then
  1026.     echo shar: \"'objlook.c'\" unpacked with wrong size!
  1027. fi
  1028. # end of 'objlook.c'
  1029. fi
  1030. echo shar: End of archive 7 \(of 7\).
  1031. cp /dev/null ark7isdone
  1032. MISSING=""
  1033. for I in 1 2 3 4 5 6 7 ; do
  1034.     if test ! -f ark${I}isdone ; then
  1035.     MISSING="${MISSING} ${I}"
  1036.     fi
  1037. done
  1038. if test "${MISSING}" = "" ; then
  1039.     echo You have unpacked all 7 archives.
  1040.     rm -f ark[1-9]isdone
  1041. else
  1042.     echo You still need to unpack the following archives:
  1043.     echo "        " ${MISSING}
  1044. fi
  1045. ##  End of shell archive.
  1046. exit 0
  1047.