home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol045 / dmain.ftn < prev    next >
Encoding:
Text File  |  1984-04-29  |  12.2 KB  |  359 lines

  1. C DUNGEON-- MAIN PROGRAM
  2. C
  3. C COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142
  4. C ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED
  5. C WRITTEN BY R. M. SUPNIK
  6. C
  7.     PROGRAM DUNGEO
  8. C
  9. C DECLARATIONS
  10. C
  11.     IMPLICIT INTEGER (A-Z)
  12.     LOGICAL INIT
  13. C
  14. C PARSER OUTPUT
  15. C
  16.     LOGICAL PRSWON
  17.     COMMON /PRSVEC/ PRSA,PRSI,PRSO,PRSWON,PRSCON
  18. C
  19. C PARSER STATE
  20. C
  21.     COMMON /ORPHS/ OFLAG,OACT,OSLOT,OPREP,ONAME
  22.     COMMON /LAST/ LASTIT
  23.     COMMON /PV/ ACT,OBJ1,OBJ2,PREP1,PREP2
  24.     COMMON /SYNTAX/ SYN(11)
  25.     COMMON /SYNFLG/ SDIR,SIND,SSTD,SFLIP,SDRIV,SVMASK
  26.     COMMON /OBJFLG/ VABIT,VRBIT,VTBIT,VCBIT,VEBIT,VFBIT,VPMASK
  27. C
  28. C GAME STATE
  29. C
  30.     LOGICAL TELFLG
  31.     COMMON /PLAY/ WINNER,HERE,TELFLG
  32.     COMMON /STATE/ MOVES,DEATHS,RWSCOR,MXSCOR,MXLOAD,
  33.     1    LTSHFT,BLOC,MUNGRM,HS,EGSCOR,EGMXSC
  34. C
  35. C SCREEN OF LIGHT STATE
  36. C
  37.     COMMON /SCREEN/ FROMDR,SCOLRM,SCOLAC
  38.     COMMON /SCREEN/ SCOLDR(8),SCOLWL(12)
  39. C
  40. C PUZZLE ROOM STATE
  41. C
  42.     COMMON /PUZZLE/ CPDR(16),CPWL(8),CPVEC(64)
  43. C
  44. C MESSAGE INDEX
  45. C
  46.     COMMON /RMSG/ MLNT,RTEXT(1050)
  47. C
  48. C MISCELLANEOUS VARIABLES
  49. C
  50.     LOGICAL*1 INBUF
  51.     COMMON /INPUT/ INLNT,INBUF(78)
  52.     COMMON /STAR/ MBASE,STRBIT
  53.     COMMON /VERS/ VMAJ,VMIN,VEDIT
  54.     COMMON /TIME/ PLTIME,SHOUR,SMIN,SSEC
  55.     COMMON /BATS/ BATDRP(9)
  56.     COMMON /CHAN/ INPCH,OUTCH,DBCH
  57.     COMMON /DEBUG/ DBGFLG,PRSFLG,GDTFLG
  58.     COMMON /HYPER/ HFACTR
  59. C
  60. C ROOMS
  61. C
  62.     COMMON /ROOMS/ RLNT,RDESC2,RDESC1(200),REXIT(200),
  63.     1    RACTIO(200),RVAL(200),RFLAG(200)
  64.     INTEGER RRAND(200)
  65.     EQUIVALENCE (RVAL,RRAND)
  66. C
  67.     COMMON /RFLAG/ RSEEN,RLIGHT,RLAND,RWATER,RAIR,
  68.     1    RSACRD,RFILL,RMUNG,RBUCK,RHOUSE,RNWALL,REND
  69. C
  70.     COMMON /RINDEX/ WHOUS,LROOM,CELLA
  71.     COMMON /RINDEX/ MTROL,MAZE1    
  72.     COMMON /RINDEX/ MGRAT,MAZ15    
  73.     COMMON /RINDEX/ FORE1,FORE3,CLEAR,RESER
  74.     COMMON /RINDEX/ STREA,EGYPT,ECHOR
  75.     COMMON /RINDEX/ TSHAF    
  76.     COMMON /RINDEX/ BSHAF,MMACH,DOME,MTORC
  77.     COMMON /RINDEX/ CAROU    
  78.     COMMON /RINDEX/ RIDDL,LLD2,TEMP1,TEMP2,MAINT
  79.     COMMON /RINDEX/ BLROO,TREAS,RIVR1,RIVR2,RIVR3,MCYCL
  80.     COMMON /RINDEX/ RIVR4,RIVR5,FCHMP,FALLS,MBARR
  81.     COMMON /RINDEX/ MRAIN,POG,VLBOT,VAIR1,VAIR2,VAIR3,VAIR4
  82.     COMMON /RINDEX/ LEDG2,LEDG3,LEDG4,MSAFE,CAGER
  83.     COMMON /RINDEX/ CAGED,TWELL,BWELL,ALICE,ALISM,ALITR
  84.     COMMON /RINDEX/ MTREE,BKENT,BKVW,BKTWI,BKVAU,BKBOX
  85.     COMMON /RINDEX/ CRYPT,TSTRS,MRANT,MREYE
  86.     COMMON /RINDEX/ MRA,MRB,MRC,MRG,MRD,FDOOR
  87.     COMMON /RINDEX/ MRAE,MRCE,MRCW,MRGE,MRGW,MRDW,INMIR
  88.     COMMON /RINDEX/ SCORR,NCORR,PARAP,CELL,PCELL,NCELL
  89.     COMMON /RINDEX/ CPANT,CPOUT,CPUZZ
  90. C
  91. C EXITS
  92. C
  93.     COMMON /EXITS/ XLNT,TRAVEL(900)
  94. C
  95.     COMMON /CURXT/ XTYPE,XROOM1,XSTRNG,XACTIO,XOBJ
  96.     EQUIVALENCE (XFLAG,XOBJ)
  97. C
  98.     COMMON /XPARS/ XRMASK,XDMASK,XFMASK,XFSHFT,XASHFT,
  99.     1    XELNT(4),XNORM,XNO,XCOND,XDOOR,XLFLAG
  100. C
  101.     COMMON /XSRCH/ XMIN,XMAX,XDOWN,XUP,
  102.     1    XNORTH,XSOUTH,XENTER,XEXIT,XEAST,XWEST
  103. C
  104. C OBJECTS
  105. C
  106.     COMMON /OBJCTS/ OLNT,ODESC1(220),ODESC2(220),ODESCO(220),
  107.     1    OACTIO(220),OFLAG1(220),OFLAG2(220),OFVAL(220),
  108.     2    OTVAL(220),OSIZE(220),OCAPAC(220),OROOM(220),
  109.     3    OADV(220),OCAN(220),OREAD(220)
  110. C
  111.     COMMON /OROOM2/ R2LNT,O2(20),R2(20)
  112. C
  113.     COMMON /OFLAGS/ VISIBT,READBT,TAKEBT,DOORBT,TRANBT,FOODBT,
  114.     1    NDSCBT,DRNKBT,CONTBT,LITEBT,VICTBT,BURNBT,FLAMBT,
  115.     2    TOOLBT,TURNBT,ONBT
  116.     COMMON /OFLAGS/ FINDBT,SLEPBT,SCRDBT,TIEBT,CLMBBT,ACTRBT,
  117.     1    WEAPBT,FITEBT,VILLBT,STAGBT,TRYBT,NOCHBT,OPENBT,
  118.     2    TCHBT,VEHBT,SCHBT
  119. C
  120.     COMMON /OINDEX/ GARLI,FOOD,GUNK,COAL,MACHI,DIAMO,TCASE,BOTTL
  121.     COMMON /OINDEX/ WATER,ROPE,KNIFE,SWORD,LAMP,BLAMP,RUG
  122.     COMMON /OINDEX/    LEAVE,TROLL,AXE
  123.     COMMON /OINDEX/ RKNIF,KEYS,ICE,BAR
  124.     COMMON /OINDEX/ COFFI,TORCH,TBASK,FBASK,IRBOX
  125.     COMMON /OINDEX/ GHOST,TRUNK,BELL,BOOK,CANDL
  126.     COMMON /OINDEX/ MATCH,TUBE,PUTTY,WRENC,SCREW,CYCLO,CHALI
  127.     COMMON /OINDEX/ THIEF,STILL,WINDO,GRATE,DOOR
  128.     COMMON /OINDEX/ HPOLE,LEAK,RBUTT,RAILI
  129.     COMMON /OINDEX/ POT,STATU,IBOAT,DBOAT,PUMP,RBOAT
  130.     COMMON /OINDEX/ STICK,BUOY,SHOVE,BALLO,RECEP,GUANO
  131.     COMMON /OINDEX/ BROPE,HOOK1,HOOK2,SAFE,SSLOT,BRICK,FUSE
  132.     COMMON /OINDEX/ GNOME,BLABE,DBALL,TOMB
  133.     COMMON /OINDEX/ LCASE,CAGE,RCAGE,SPHER,SQBUT
  134.     COMMON /OINDEX/ FLASK,POOL,SAFFR,BUCKE,ECAKE,ORICE,RDICE,BLICE
  135.     COMMON /OINDEX/ ROBOT,FTREE,BILLS,PORTR,SCOL,ZGNOM
  136.     COMMON /OINDEX/ EGG,BEGG,BAUBL,CANAR,BCANA
  137.     COMMON /OINDEX/ YLWAL,RDWAL,PINDR,RBEAM
  138.     COMMON /OINDEX/ ODOOR,QDOOR,CDOOR,NUM1,NUM8
  139.     COMMON /OINDEX/ WARNI,CSLIT,GCARD,STLDR
  140.     COMMON /OINDEX/ HANDS,WALL,LUNGS,SAILO,AVIAT,TEETH
  141.     COMMON /OINDEX/ ITOBJ,EVERY,VALUA,OPLAY,WNORT,GWATE,MASTER
  142. C
  143. C CLOCK INTERRUPTS
  144. C
  145.     LOGICAL*1 CFLAG
  146.     COMMON /CEVENT/ CLNT,CTICK(25),CACTIO(25),CFLAG(25)
  147. C
  148.     COMMON /CINDEX/ CEVCUR,CEVMNT,CEVLNT,CEVMAT,CEVCND,
  149.     1    CEVBAL,CEVBRN,CEVFUS,CEVLED,CEVSAF,CEVVLG,
  150.     2    CEVGNO,CEVBUC,CEVSPH,CEVEGH,
  151.     3    CEVFOR,CEVSCL,CEVZGI,CEVZGO,CEVSTE,
  152.     5    CEVMRS,CEVPIN,CEVINQ,CEVFOL
  153.  
  154. C
  155. C VILLAINS AND DEMONS
  156. C
  157.     LOGICAL THFFLG,SWDACT,THFACT
  158.     COMMON /HACK/ THFPOS,THFFLG,THFACT,SWDACT,SWDSTA
  159.     COMMON /VILL/ VLNT,VILLNS(4),VPROB(4),VOPPS(4),VBEST(4),VMELEE(4)
  160. C
  161. C ADVENTURERS
  162. C
  163.     COMMON /ADVS/ ALNT,AROOM(4),ASCORE(4),AVEHIC(4),
  164.     1    AOBJ(4),AACTIO(4),ASTREN(4),AFLAG(4)
  165. C
  166.     COMMON /AFLAGS/ ASTAG
  167. C
  168.     COMMON /AINDEX/ PLAYER,AROBOT,AMASTR
  169. C
  170. C VERBS
  171. C
  172.     COMMON /VINDEX/ CINTW,DEADXW,FRSTQW,INXW,OUTXW
  173.     COMMON /VINDEX/ WALKIW,FIGHTW,FOOW
  174.     COMMON /VINDEX/ MELTW,READW,INFLAW,DEFLAW,ALARMW,EXORCW
  175.     COMMON /VINDEX/ PLUGW,KICKW,WAVEW,RAISEW,LOWERW,RUBW
  176.     COMMON /VINDEX/ PUSHW,UNTIEW,TIEW,TIEUPW,TURNW,BREATW
  177.     COMMON /VINDEX/ KNOCKW,LOOKW,EXAMIW,SHAKEW,MOVEW,TRNONW,TRNOFW
  178.     COMMON /VINDEX/ OPENW,CLOSEW,FINDW,WAITW,SPINW,BOARDW,UNBOAW,TAKEW
  179.     COMMON /VINDEX/ INVENW,FILLW,EATW,DRINKW,BURNW
  180.     COMMON /VINDEX/ MUNGW,KILLW,ATTACW,SWINGW
  181.     COMMON /VINDEX/ WALKW,TELLW,PUTW,DROPW,GIVEW,POURW,THROWW
  182.     COMMON /VINDEX/ DIGW,LEAPW,STAYW,FOLLOW
  183.     COMMON /VINDEX/ HELLOW,LOOKIW,LOOKUW,PUMPW,WINDW
  184.     COMMON /VINDEX/ CLMBW,CLMBUW,CLMBDW,TRNTOW
  185. C
  186. C FLAGS
  187. C
  188.     LOGICAL*1 TROLLF,CAGESF,BUCKTF,CAROFF,CAROZF,LWTIDF
  189.     LOGICAL*1 DOMEF,GLACRF,ECHOF,RIDDLF,LLDF,CYCLOF
  190.     LOGICAL*1 MAGICF,LITLDF,SAFEF,GNOMEF,GNODRF,MIRRMF
  191.     LOGICAL*1 EGYPTF,ONPOLF,BLABF,BRIEFF,SUPERF,BUOYF
  192.     LOGICAL*1 GRUNLF,GATEF,RAINBF,CAGETF,EMPTHF,DEFLAF
  193.     LOGICAL*1 GLACMF,FROBZF,ENDGMF,BADLKF,THFENF,SINGSF
  194.     LOGICAL*1 MRPSHF,MROPNF,WDOPNF,MR1F,MR2F,INQSTF
  195.     LOGICAL*1 FOLLWF,SPELLF,CPOUTF,CPUSHF
  196.     COMMON /FINDEX/ TROLLF,CAGESF,BUCKTF,CAROFF,CAROZF,LWTIDF,
  197.     1    DOMEF,GLACRF,ECHOF,RIDDLF,LLDF,CYCLOF,
  198.     2    MAGICF,LITLDF,SAFEF,GNOMEF,GNODRF,MIRRMF,
  199.     3    EGYPTF,ONPOLF,BLABF,BRIEFF,SUPERF,BUOYF,
  200.     4    GRUNLF,GATEF,RAINBF,CAGETF,EMPTHF,DEFLAF,
  201.     5    GLACMF,FROBZF,ENDGMF,BADLKF,THFENF,SINGSF,
  202.     6    MRPSHF,MROPNF,WDOPNF,MR1F,MR2F,INQSTF,
  203.     7    FOLLWF,SPELLF,CPOUTF,CPUSHF
  204.     COMMON /FINDEX/ BTIEF,BINFF
  205.     COMMON /FINDEX/ RVMNT,RVCLR,RVCYC,RVSND,RVGUA
  206.     COMMON /FINDEX/ ORRUG,ORCAND,ORMTCH,ORLAMP
  207.     COMMON /FINDEX/ MDIR,MLOC,POLEUF
  208.     COMMON /FINDEX/ QUESNO,NQATT,CORRCT
  209.     COMMON /FINDEX/ LCELL,PNUMB,ACELL,DCELL,CPHERE
  210. C DUNGEON, PAGE 2
  211. C
  212. C DATA STATEMENTS FOR CONSTANT ARRAYS
  213. C
  214.     DATA VMAJ/2/,VMIN/6/,VEDIT/'A'/
  215. C
  216.     DATA SDIR/"40000/,SIND/"20000/,SSTD/"10000/,
  217.     1    SFLIP/"4000/,SDRIV/"2000/,SVMASK/"777/
  218.     DATA VABIT/"40000/,VRBIT/"20000/,VTBIT/"10000/,
  219.     1    VCBIT/"4000/,VEBIT/"2000/,VFBIT/"1000/,VPMASK/"777/
  220. C
  221.     DATA BATDRP/66,67,68,69,70,71,72,65,73/
  222. C
  223.     DATA SCOLDR/"2000,153,"12000,154,"6000,152,"16000,151/
  224.     DATA SCOLWL/151,207,"6000,152,208,"16000,
  225.     1    153,206,"12000,154,205,"2000/
  226. C
  227.     DATA HFACTR/500/
  228. C
  229.     DATA CPDR/"2000,-8,"4000,-7,"6000,1,"10000,9,
  230.     1    "12000,8,"14000,7,"16000,-1,"20000,-9/
  231.     DATA CPWL/205,-8,206,8,207,1,208,-1/
  232.     DATA CPVEC/1,1,1,1,1,1,1,1,
  233.     1    1,0,-1,0,0,-1,0,1,
  234.     2    1,-1,0,1,0,-2,0,1,
  235.     3    1,0,0,0,0,1,0,1,
  236.     4    1,-3,0,0,-1,-1,0,1,
  237.     5    1,0,0,-1,0,0,0,1,
  238.     6    1,1,1,0,0,0,1,1,
  239.     7    1,1,1,1,1,1,1,1/
  240. C
  241.     DATA CEVCUR/1/,CEVMNT/2/,CEVLNT/3/,CEVMAT/4/,
  242.     1    CEVCND/5/,CEVBAL/6/,CEVBRN/7/,CEVFUS/8/,
  243.     2    CEVLED/9/,CEVSAF/10/,CEVVLG/11/,CEVGNO/12/,
  244.     3    CEVBUC/13/,CEVSPH/14/,CEVEGH/15/,
  245.     4    CEVFOR/16/,CEVSCL/17/,CEVZGI/18/,CEVZGO/19/,
  246.     5    CEVSTE/20/,CEVMRS/21/,CEVPIN/22/,CEVINQ/23/,
  247.     6    CEVFOL/24/
  248. C
  249.     DATA XRMASK/"377/,XDMASK/"76000/,XFMASK/3/
  250.     DATA XFSHFT/256/,XASHFT/256/
  251.     DATA XNORM/1/,XNO/2/,XCOND/3/,XDOOR/4/
  252.     DATA XELNT/1,2,3,3/,XLFLAG/"100000/
  253.     DATA XMIN/"2000/,XMAX/"40000/,XUP/"22000/,XDOWN/"24000/
  254.     DATA XNORTH/"2000/,XSOUTH/"12000/,XENTER/"32000/,XEXIT/"34000/
  255.     DATA XEAST/"6000/,XWEST/"16000/
  256. C
  257.     DATA PLAYER/1/,AROBOT/2/,AMASTR/3/
  258.     DATA ASTAG/"100000/
  259. C
  260.     DATA RSEEN/"100000/,RLIGHT/"40000/,RLAND/"20000/
  261.     DATA RWATER/"10000/,RAIR/"4000/,RSACRD/"2000/,RFILL/"1000/
  262.     DATA RMUNG/"400/,RBUCK/"200/,RHOUSE/"100/,RNWALL/"40/,REND/"20/
  263. C
  264.     DATA WHOUS/2/,LROOM/8/,CELLA/9/
  265.     DATA MTROL/10/,MAZE1/11/
  266.     DATA MGRAT/25/,MAZ15/30/
  267.     DATA FORE1/31/,FORE3/33/,CLEAR/36/,RESER/40/
  268.     DATA STREA/42/,EGYPT/44/,ECHOR/49/
  269.     DATA TSHAF/61/
  270.     DATA BSHAF/76/,MMACH/77/,DOME/79/,MTORC/80/
  271.     DATA CAROU/83/
  272.     DATA RIDDL/91/,LLD2/94/,TEMP1/96/,TEMP2/97/,MAINT/100/
  273.     DATA MCYCL/101/,BLROO/102/,TREAS/103/,RIVR1/107/,RIVR2/108/
  274.     DATA     RIVR3/109/
  275.     DATA RIVR4/112/,RIVR5/113/,FCHMP/114/,MBARR/119/,FALLS/120/
  276.     DATA MRAIN/121/,POG/122/,VLBOT/126/,VAIR1/127/,VAIR2/128/
  277.     DATA     VAIR3/129/,VAIR4/130/
  278.     DATA LEDG2/131/,LEDG3/132/,LEDG4/133/,MSAFE/135/,CAGER/140/
  279.     DATA CAGED/141/,TWELL/142/,BWELL/143/,ALICE/144/,ALISM/145/
  280.     DATA     ALITR/146/,MTREE/147/,BKENT/148/
  281.     DATA BKVW/151/,BKTWI/153/,BKVAU/154/,BKBOX/155/
  282.     DATA    CRYPT/157/,TSTRS/158/,MRANT/159/
  283.     DATA MREYE/160/,MRA/161/,MRB/162/,MRC/163/,MRG/164/
  284.     DATA    MRD/165/,FDOOR/166/,MRAE/167/
  285.     DATA MRCE/171/,MRCW/172/,MRGE/173/,MRGW/174/,MRDW/176/
  286.     DATA    INMIR/177/,SCORR/179/
  287.     DATA NCORR/182/,PARAP/183/,CELL/184/,PCELL/185/,NCELL/186/
  288.     DATA    CPANT/188/,CPOUT/189/
  289.     DATA CPUZZ/190/
  290. C
  291.     DATA CINTW/1/,DEADXW/2/,FRSTQW/3/,INXW/4/
  292.     DATA OUTXW/5/,WALKIW/6/,FIGHTW/7/,FOOW/8/
  293. C
  294.     DATA READW/100/,MELTW/101/
  295.     DATA INFLAW/102/,DEFLAW/103/,ALARMW/104/,EXORCW/105/
  296.     DATA PLUGW/106/,KICKW/107/,WAVEW/108/,RAISEW/109/,LOWERW/110/
  297.     DATA RUBW/111/,PUSHW/112/,UNTIEW/113/,TIEW/114/,TIEUPW/115/
  298.     DATA TURNW/116/,BREATW/117/,KNOCKW/118/,LOOKW/119/
  299.     DATA EXAMIW/120/,SHAKEW/121/,MOVEW/122/,TRNONW/123/,TRNOFW/124/
  300.     DATA OPENW/125/,CLOSEW/126/,FINDW/127/,WAITW/128/,SPINW/129/
  301.     DATA BOARDW/130/,UNBOAW/131/,TAKEW/132/,INVENW/133/
  302.     DATA FILLW/134/,EATW/135/,DRINKW/136/,BURNW/137/
  303.     DATA MUNGW/138/,KILLW/139/,ATTACW/141/
  304.     DATA SWINGW/140/,WALKW/142/,TELLW/143/,PUTW/144/
  305.     DATA DROPW/145/,GIVEW/146/,POURW/147/,THROWW/148/
  306. C
  307.     DATA DIGW/89/,LEAPW/91/,STAYW/73/,FOLLOW/85/
  308.     DATA HELLOW/151/,LOOKIW/152/,LOOKUW/153/,PUMPW/154/
  309.     DATA WINDW/155/,CLMBW/156/,CLMBUW/157/,CLMBDW/158/,TRNTOW/159/
  310. C
  311.     DATA VISIBT/"100000/,READBT/"40000/,TAKEBT/"20000/,DOORBT/"10000/,
  312.     1    TRANBT/"4000/,FOODBT/"2000/,NDSCBT/"1000/,DRNKBT/"400/,
  313.     2    CONTBT/"200/,LITEBT/"100/,VICTBT/"40/,BURNBT/"20/,
  314.     3    FLAMBT/"10/,TOOLBT/"4/,TURNBT/"2/,ONBT/"1/
  315. C
  316.     DATA FINDBT/"100000/,SLEPBT/"40000/,SCRDBT/"20000/,TIEBT/"10000/,
  317.     1    CLMBBT/"4000/,ACTRBT/"2000/,WEAPBT/"1000/,FITEBT/"400/,
  318.     2    VILLBT/"200/,STAGBT/"100/,TRYBT/"40/,NOCHBT/"20/,
  319.     3    OPENBT/"10/,TCHBT/"4/,VEHBT/"2/,SCHBT/"1/
  320. C
  321.     DATA GARLI/2/,FOOD/3/,GUNK/4/,COAL/5/,MACHI/7/,DIAMO/8/
  322.     DATA    TCASE/9/,BOTTL/10/
  323.     DATA WATER/11/,ROPE/12/,KNIFE/13/,SWORD/14/,LAMP/15/,BLAMP/16/
  324.     DATA    RUG/17/,LEAVE/18/,TROLL/19/,AXE/20/
  325.     DATA RKNIF/21/,KEYS/23/,BAR/26/,ICE/30/
  326.     DATA COFFI/33/,TORCH/34/,TBASK/35/,FBASK/36/,IRBOX/39/
  327.     DATA GHOST/42/,TRUNK/45/,BELL/46/,BOOK/47/,CANDL/48/
  328.     DATA MATCH/51/,TUBE/54/,PUTTY/55/,WRENC/56/,SCREW/57/
  329.     DATA    CYCLO/58/,CHALI/59/
  330.     DATA THIEF/61/,STILL/62/,WINDO/63/,GRATE/65/,DOOR/66/
  331.     DATA HPOLE/71/,RBUTT/79/,LEAK/78/,RAILI/75/
  332.     DATA POT/85/,STATU/86/,IBOAT/87/,DBOAT/88/,PUMP/89/,RBOAT/90/
  333.     DATA STICK/92/,BUOY/94/,SHOVE/96/,GUANO/97/,BALLO/98/,RECEP/99/
  334.     DATA BROPE/101/,HOOK1/102/,HOOK2/103/,SAFE/105/,SSLOT/107/
  335.     DATA    BRICK/109/,FUSE/110/
  336.     DATA GNOME/111/,BLABE/112/,DBALL/113/,TOMB/119/
  337.     DATA LCASE/123/,CAGE/124/,RCAGE/125/,SPHER/126/,SQBUT/127/
  338.     DATA FLASK/132/,POOL/133/,SAFFR/134/,BUCKE/137/,ORICE/139/
  339.     DATA    ECAKE/138/,RDICE/140/
  340.     DATA BLICE/141/,ROBOT/142/,FTREE/145/,BILLS/148/,PORTR/149/
  341.     DATA SCOL/151/,ZGNOM/152/,EGG/154/,BEGG/155/,BAUBL/156/
  342.     DATA    CANAR/157/,BCANA/158/,YLWAL/159/
  343.     DATA RDWAL/161/,PINDR/164/
  344.     DATA RBEAM/171/,ODOOR/172/,QDOOR/173/,CDOOR/175/
  345.     DATA    NUM1/178/
  346.     DATA NUM8/185/,WARNI/186/,CSLIT/187/,GCARD/188/,STLDR/189/
  347.     DATA ITOBJ/192/,OPLAY/193/,EVERY/194/
  348.     DATA    VALUA/195/,SAILO/196/,TEETH/197/,WALL/198/
  349.     DATA HANDS/200/,LUNGS/201/,AVIAT/202/
  350.     DATA WNORT/205/,GWATE/209/,MASTER/215/
  351. C DUNGEON, PAGE 3
  352. C
  353. C 1) INITIALIZE DATA STRUCTURES
  354. C 2) PLAY GAME
  355. C
  356.     IF(INIT(X)) CALL GAME            !IF INIT, PLAY GAME.
  357.     CALL EXIT                !DONE
  358.     END
  359.