C REV. 17 C ADVENTURES C C MODIFIED BY KENT BLACKETT C ENGINEERING SYSTEMS GROUP C DIGITAL EQUIPMENT CORP. C 15-JUL-77 C ORIGINAL VERSION WAS FOR DECSYSTEM-10 C THIS VERSION IS FOR FORTRAN IV-PLUS UNDER C THE IAS OPERATING SYSTEM ON THE PDP-11/70 C NOTE THAT IT MUST BE COMPILED WITH THE C /WF:3/I4 SWITCHES... C C CURRENT LIMITS: C 750 TRAVEL OPTIONS (TRAVEL, TRVSIZ). C 300 VOCABULARY WORDS (KTAB, ATAB, TABSIZ). C 150 LOCATIONS (LTEXT, STEXT, KEY, COND, ABB, ATLOC, LOCSIZ). C 100 OBJECTS (PLAC, PLACE, FIXD, FIXED, LINK (TWICE), PTEXT, PROP). C 35 "ACTION" VERBS (ACTSPK, VRBSIZ). C 205 RANDOM MESSAGES (RTEXT, RTXSIZ). C 12 DIFFERENT PLAYER CLASSIFICATIONS (CTEXT, CVAL, CLSMAX). C 20 HINTS, LESS 3 (HINTLC, HINTED, HINTS, HNTSIZ). C 35 MAGIC MESSAGES (MTEXT, MAGSIZ). C THERE ARE ALSO LIMITS WHICH CANNOT BE EXCEEDED DUE TO THE STRUCTURE OF C THE DATABASE. (E.G., THE VOCABULARY USES N/1000 TO DETERMINE WORD TYPE, C SO THERE CAN'T BE MORE THAN 1000 WORDS.) THESE UPPER LIMITS ARE: C 1000 NON-SYNONYMOUS VOCABULARY WORDS C 300 LOCATIONS C 100 OBJECTS C INTEGER*2 KTAB,LTEXT,STEXT,KEY,COND,ABB,ATLOC,PLAC, 1 PLACE,FIXD,FIXED,LINK,PTEXT,PROP,ACTSPK,RTEXT,CTEXT,CVAL, 2 HINTLC,HINTS,MTEXT,DLOC,ODLOC,ASCVAR LOGICAL DSEEN,BLKLIN,HINTED,YES,START LOGICAL TOTING,HERE,AT,BITSET,DARK,WZDARK,LMWARN,CLOSNG,PANIC, 1 CLOSED,GAVEUP,SCORNG,DEMO,YEA INTEGER RTEXT,ASCVAR INTEGER KTAB,TABSIZ INTEGER ATLOC,LINK,PLACE,FIXED,HOLDNG INTEGER MTEXT INTEGER PTEXT INTEGER ABB INTEGER WKDAY,WKEND,HOLID,HBEGIN,HEND,HNAME, 1 SHORT,MAGIC,MAGNM,LATNCY,SAVED,SAVET,SETUP INTEGER LINUSE,TRVS,CLSSES,OLDLOC,LOC,CVAL,NEWLOC, 1 KEY,PLAC,FIXD,ACTSPK,COND,HINTS,HNTMAX,PROP,TALLY,TALLY2, 2 HINTLC,CHLOC,CHLOC2,DFLAG,DLOC,DALTLC,KEYS,LAMP,GRATE, 3 CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE,FISSUR,TABLET, 4 CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE,WATER,OIL,PLANT, 5 PLANT2,AXE,MIRROR,DRAGON,CHASM,TROLL,TROLL2,BEAR,MESSAG,VEND, 6 BATTER,NUGGET,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD,PYRAM, 7 PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY,LOCK, 8 THROW,FIND,INVENT,TURNS,IWEST,KNFLOC,DETAIL,ABBNUM, 9 NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2 INTEGER I,RTXSIZ,CLSMAX,MAGSIZ,LOCSIZ,CTEXT,STEXT,LTEXT, 1 SECT,TRAVEL,TRVSIZ,TABNDX,OBJ,J,K,VERB,HNTSIZ,MAXTRS, 2 HNTLOC,KK REAL LINES(15) LOGICAL TK INTEGER KTAB(300) REAL ATAB(300) INTEGER LTEXT(150),STEXT(150),KEY(150),COND(150),ABB(150), 1 ATLOC(150) INTEGER PLAC(100),PLACE(100),FIXD(100),FIXED(100),LINK(200), 1 PTEXT(100),PROP(100) INTEGER ACTSPK(35) INTEGER RTEXT(205) INTEGER CTEXT(12),CVAL(12) DIMENSION HINTLC(20),HINTED(20),HINTS(20,4) INTEGER MTEXT(35) INTEGER VRBSIZ DIMENSION TK(20),DSEEN(6),DLOC(6),ODLOC(6),HNAME(4) C COMMON /TXTCOM/ RTEXT,LINES,ASCVAR COMMON /BLKCOM/ BLKLIN COMMON /VOCCOM/ KTAB,ATAB,TABSIZ COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG COMMON /MTXCOM/ MTEXT COMMON /PTXCOM/ PTEXT COMMON /ABBCOM/ ABB COMMON /WIZCOM/ WKDAY,WKEND,HOLID,HBEGIN,HEND,HNAME, 1 SHORT,MAGIC,MAGNM,LATNCY,SAVED,SAVET,SETUP COMMON /MISCOM/ LINUSE,TRVS,CLSSES,OLDLOC,LOC,CVAL,TK,NEWLOC, 1 KEY,PLAC,FIXD,ACTSPK,COND,HINTS,HNTMAX,PROP,TALLY,TALLY2, 2 HINTLC,CHLOC,CHLOC2,DSEEN,DFLAG,DLOC,DALTLC,KEYS,LAMP,GRATE, 3 CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE,FISSUR,TABLET, 4 CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE,WATER,OIL,PLANT, 5 PLANT2,AXE,MIRROR,DRAGON,CHASM,TROLL,TROLL2,BEAR,MESSAG,VEND, 6 BATTER,NUGGET,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD,PYRAM, 7 PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY,LOCK, 8 THROW,FIND,INVENT,TURNS,LMWARN,IWEST,KNFLOC,DETAIL,ABBNUM, 9 NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2, 1 CLOSNG,PANIC,CLOSED,GAVEUP,SCORNG COMMON /MISC2/ I,RTXSIZ,CLSMAX,MAGSIZ,LOCSIZ,CTEXT,STEXT,LTEXT, 1 SECT,TRVSIZ,TABNDX,OBJ,J,K,VERB,HNTSIZ,MAXTRS, 2 HINTED,HNTLOC,KK C LINSIZ = 9650 TRVSIZ = 750 TABSIZ = 300 LOCSIZ = 150 VRBSIZ = 35 RTXSIZ = 205 CLSMAX = 12 HNTSIZ = 20 MAGSIZ = 35 SETUP = 0 BLKLIN = .TRUE. SAVED=-1 WRITE(3,5) 5 FORMAT(1X,'LOAD DATA IN DRIVE B, MESSAGE DISK IN A') READ(3,6) DUMMY 6 FORMAT(A1) CALL INIT C CALL OPEN(6,'ADVENTURMSG',2) C CALL OPEN(8,'TRAVEL DAT',2) C CALL MAIN STOP END