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