File: ADVENT.LS of Disk: V50/Source/Source-Listing-FORTRAN-2
(Source file text)
FORTRAN IV V50-A (A6) 24-JUL-20 C ADVENTURES C C MODIFIED BY KENT BLACKETT C ENGINEERING SYSTEMS GROUP C DIGITAL EQUIPMENT CORP. C 15-JUL-77 C MODIFIED BY BOB SUPNIK C DISK ENGINEERING C 21-OCT-77 C MODIFIED BY BOB SUPNIK C DISK ENGINEERING C 25-AUG-78 C MODIFIED BY BOB SUPNIK C SMALL SYSTEMS C 12-NOV-78 C ORIGINAL VERSION WAS FOR DECSYSTEM-10 C NEXT VERSION WAS FOR FORTRAN IV-PLUS UNDER C THE IAS OPERATING SYSTEM ON THE PDP-11/70 C THIS VERSION IS FOR FORTRAN IV (V01C OR LATER) C UNDER RT-11 ON *ANY* PDP-11 C 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 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 C IMPLICIT INTEGER (A-Z) 0002 LOGICAL LMWARN,CLOSNG,PANIC,HINTED, 1 CLOSED,GAVEUP,SCORNG,DSEEN,BITSET C 0003 COMMON /VERSN/ VMAJ, VMIN, VEDIT 0004 COMMON /TXTCOM/ RTEXT,LINES,ASCVAR,TXTLOC,DATA 0005 COMMON /VOCCOM/ KTAB,ATAB,TABSIZ 0006 COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG 0007 COMMON /PTXCOM/ PTEXT 0010 COMMON /ABBCOM/ ABB 0011 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 0012 COMMON /MISCOM/ 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, FORTRAN IV V50-A (A6) 24-JUL-20 6 BATTER,NUGGET,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD,PYRAM 0013 COMMON /MISCOM/ 7 PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY,LOCK, 8 THROW,FIND,INVENT,TURNS,LMWARN,KNFLOC,DETAIL,ABBNUM, 9 NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2, 1 CLOSNG,PANIC,CLOSED,GAVEUP,SCORNG,ODLOC,STREAM,SPICES 0014 COMMON /MISC2/ I,RTXSIZ,CLSMAX,LOCSIZ,CTEXT,STEXT,LTEXT, 1 SECT,TRAVEL,TRVCON,TRVLOC,TRVSIZ,TABNDX,OBJ,J,K,VERB,HNTSIZ, 2 MAXTRS,HINTED,HNTLOC,KK C 0015 INTEGER LINES(12),DATA(52),RECORD C The TRAVEL, TRVCON, and TRVLOC arrays are C Packed with words 0,1,2 holding the data. Saves lots C of wasted space at the expense of some complexity. 0016 INTEGER TRAVEL(250), TRVCON(250), TRVLOC(250), TRVSIZ 0017 INTEGER KTAB(300),ATAB(300),TABSIZ 0020 INTEGER LTEXT(150),STEXT(150),KEY(150),COND(150),ABB(150), 1 ATLOC(150) 0021 INTEGER PLAC(100),PLACE(100),FIXD(100),FIXED(100),LINK(200), 1 PTEXT(100),PROP(100),HOLDNG 0022 INTEGER ACTSPK(35) 0023 INTEGER RTEXT(205) 0024 INTEGER CTEXT(12),CVAL(12) 0025 INTEGER HINTLC(20),HINTS(20,4) 0026 DIMENSION HINTED(20) 0027 INTEGER TK(20),DLOC(6),ODLOC(6) 0030 DIMENSION DSEEN(6) 0031 INTEGER ASCVAR, TXTLOC, TRVS, CLSSES, OLDLOC 0032 INTEGER HNTSIZ, HNTMAX, TALLY, TALLY2, CHLOC, CHLOC2, DFLAG 0033 INTEGER DALTLC,GRATE,CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE 0034 INTEGER FISSUR,TABLET,CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE 0035 INTEGER WATER,OIL,PLANT,PLANT2,AXE,MIRROR,DRAGON,CHASM 0036 INTEGER BEAR,MESSAG,VEND,BATTER,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD 0037 INTEGER PYRAM,PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY 0040 INTEGER LOCK,THROW,FIND,INVENT,TURNS,KNFLOC,DETAIL,ABBNUM 0041 INTEGER NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2 0042 INTEGER TROLL,TROLL2,STREAM,SPICES 0043 INTEGER RTXSIZ,CLSMAX,LOCSIZ,SECT,TABNDX,OBJ 0044 INTEGER VERB,HNTLOC,KK C C 0045 INTEGER VMAJ, VMIN, VEDIT 0046 DATA VMAJ/2/,VMIN/0/,VEDIT/'A'/ 0047 CALL SETIDL 0050 CALL INIT CDEBUG WRITE(4,1) CDEBUG1 FORMAT(' INIT DONE') 0051 CALL AMAIN 0052 CALL EXIT 0053 END