A large commit.
[pdp8.git] / sw / adventure / work / ADVENT.FT
1 C ADVENTURES
2 C
3 C MODIFIED BY KENT BLACKETT
4 C ENGINEERING SYSTEMS GROUP
5 C DIGITAL EQUIPMENT CORP.
6 C 15-JUL-77
7 C MODIFIED BY BOB SUPNIK
8 C DISK ENGINEERING
9 C 21-OCT-77
10 C MODIFIED BY BOB SUPNIK
11 C DISK ENGINEERING
12 C 25-AUG-78
13 C MODIFIED BY BOB SUPNIK
14 C SMALL SYSTEMS
15 C 12-NOV-78
16 C ORIGINAL VERSION WAS FOR DECSYSTEM-10
17 C NEXT VERSION WAS FOR FORTRAN IV-PLUS UNDER
18 C THE IAS OPERATING SYSTEM ON THE PDP-11/70
19 C THIS VERSION IS FOR FORTRAN IV (V01C OR LATER)
20 C UNDER RT-11 ON *ANY* PDP-11
21 C
22 C
23 C CURRENT LIMITS:
24 C 750 TRAVEL OPTIONS (TRAVEL, TRVSIZ).
25 C 300 VOCABULARY WORDS (KTAB, ATAB, TABSIZ).
26 C 150 LOCATIONS (LTEXT, STEXT, KEY, COND, ABB, ATLOC, LOCSIZ).
27 C 100 OBJECTS (PLAC, PLACE, FIXD, FIXED, LINK (TWICE), PTEXT, PROP).
28 C 35 "ACTION" VERBS (ACTSPK, VRBSIZ).
29 C 205 RANDOM MESSAGES (RTEXT, RTXSIZ).
30 C 12 DIFFERENT PLAYER CLASSIFICATIONS (CTEXT, CVAL, CLSMAX).
31 C 20 HINTS, LESS 3 (HINTLC, HINTED, HINTS, HNTSIZ).
32 C THERE ARE ALSO LIMITS WHICH CANNOT BE EXCEEDED DUE TO THE STRUCTURE OF
33 C THE DATABASE. (E.G., THE VOCABULARY USES N/1000 TO DETERMINE WORD TYPE,
34 C SO THERE CAN'T BE MORE THAN 1000 WORDS.) THESE UPPER LIMITS ARE:
35 C 1000 NON-SYNONYMOUS VOCABULARY WORDS
36 C 300 LOCATIONS
37 C 100 OBJECTS
38 C
39 C IMPLICIT INTEGER (A-Z)
40 LOGICAL LMWARN,CLOSNG,PANIC,HINTED,
41 1 CLOSED,GAVEUP,SCORNG,DSEEN,BITSET
42 C
43 COMMON /VERSN/ VMAJ, VMIN, VEDIT
44 COMMON /TXTCOM/ RTEXT,LINES,ASCVAR,TXTLOC,DATA
45 COMMON /VOCCOM/ KTAB,ATAB,TABSIZ
46 COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG
47 COMMON /PTXCOM/ PTEXT
48 COMMON /ABBCOM/ ABB
49 COMMON /MISCOM/ LINUSE,TRVS,CLSSES,OLDLOC,LOC,CVAL,TK,NEWLOC,
50 1 KEY,PLAC,FIXD,ACTSPK,COND,HINTS,HNTMAX,PROP,TALLY,TALLY2,
51 2 HINTLC,CHLOC,CHLOC2,DSEEN,DFLAG,DLOC,DALTLC,KEYS,LAMP,GRATE
52 COMMON /MISCOM/
53 3 CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE,FISSUR,TABLET,
54 4 CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE,WATER,OIL,PLANT,
55 5 PLANT2,AXE,MIRROR,DRAGON,CHASM,TROLL,TROLL2,BEAR,MESSAG,VEND,
56 6 BATTER,NUGGET,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD,PYRAM
57 COMMON /MISCOM/
58 7 PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY,LOCK,
59 8 THROW,FIND,INVENT,TURNS,LMWARN,KNFLOC,DETAIL,ABBNUM,
60 9 NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2,
61 1 CLOSNG,PANIC,CLOSED,GAVEUP,SCORNG,ODLOC,STREAM,SPICES
62 COMMON /MISC2/ I,RTXSIZ,CLSMAX,LOCSIZ,CTEXT,STEXT,LTEXT,
63 1 SECT,TRAVEL,TRVCON,TRVLOC,TRVSIZ,TABNDX,OBJ,J,K,VERB,HNTSIZ,
64 2 MAXTRS,HINTED,HNTLOC,KK
65 C
66 INTEGER LINES(12),DATA(52),RECORD
67 C The TRAVEL, TRVCON, and TRVLOC arrays are
68 C Packed with words 0,1,2 holding the data. Saves lots
69 C of wasted space at the expense of some complexity.
70 INTEGER TRAVEL(250), TRVCON(250), TRVLOC(250), TRVSIZ
71 INTEGER KTAB(300),ATAB(300),TABSIZ
72 INTEGER LTEXT(150),STEXT(150),KEY(150),COND(150),ABB(150),
73 1 ATLOC(150)
74 INTEGER PLAC(100),PLACE(100),FIXD(100),FIXED(100),LINK(200),
75 1 PTEXT(100),PROP(100),HOLDNG
76 INTEGER ACTSPK(35)
77 INTEGER RTEXT(205)
78 INTEGER CTEXT(12),CVAL(12)
79 INTEGER HINTLC(20),HINTS(20,4)
80 DIMENSION HINTED(20)
81 INTEGER TK(20),DLOC(6),ODLOC(6)
82 DIMENSION DSEEN(6)
83 INTEGER ASCVAR, TXTLOC, TRVS, CLSSES, OLDLOC
84 INTEGER HNTSIZ, HNTMAX, TALLY, TALLY2, CHLOC, CHLOC2, DFLAG
85 INTEGER DALTLC,GRATE,CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE
86 INTEGER FISSUR,TABLET,CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE
87 INTEGER WATER,OIL,PLANT,PLANT2,AXE,MIRROR,DRAGON,CHASM
88 INTEGER BEAR,MESSAG,VEND,BATTER,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD
89 INTEGER PYRAM,PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY
90 INTEGER LOCK,THROW,FIND,INVENT,TURNS,KNFLOC,DETAIL,ABBNUM
91 INTEGER NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2
92 INTEGER TROLL,TROLL2,STREAM,SPICES
93 INTEGER RTXSIZ,CLSMAX,LOCSIZ,SECT,TABNDX,OBJ
94 INTEGER VERB,HNTLOC,KK
95 C
96 C
97 INTEGER VMAJ, VMIN, VEDIT
98 DATA VMAJ/2/,VMIN/0/,VEDIT/'A'/
99
100 CALL SETIDL
101 CALL INIT
102 CDEBUG WRITE(4,1)
103 CDEBUG1 FORMAT(' INIT DONE')
104 CALL AMAIN
105 CALL EXIT
106 END