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