X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fadventure%2Fsrc%2FADVENT.FT;fp=sw%2Fadventure%2Fsrc%2FADVENT.FT;h=cecb72b94dffe3e23bf80a820d1da99c9e29c887;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/adventure/src/ADVENT.FT b/sw/adventure/src/ADVENT.FT new file mode 100644 index 0000000..cecb72b --- /dev/null +++ b/sw/adventure/src/ADVENT.FT @@ -0,0 +1,106 @@ +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) + LOGICAL LMWARN,CLOSNG,PANIC,HINTED, + 1 CLOSED,GAVEUP,SCORNG,DSEEN,BITSET +C + COMMON /VERSN/ VMAJ, VMIN, VEDIT + COMMON /TXTCOM/ RTEXT,LINES,ASCVAR,TXTLOC,DATA + COMMON /VOCCOM/ KTAB,ATAB,TABSIZ + COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG + COMMON /PTXCOM/ PTEXT + COMMON /ABBCOM/ ABB + 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 + 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, + 6 BATTER,NUGGET,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD,PYRAM + 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 + 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 + 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. + INTEGER TRAVEL(250), TRVCON(250), TRVLOC(250), TRVSIZ + INTEGER KTAB(300),ATAB(300),TABSIZ + 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),HOLDNG + INTEGER ACTSPK(35) + INTEGER RTEXT(205) + INTEGER CTEXT(12),CVAL(12) + INTEGER HINTLC(20),HINTS(20,4) + DIMENSION HINTED(20) + INTEGER TK(20),DLOC(6),ODLOC(6) + DIMENSION DSEEN(6) + INTEGER ASCVAR, TXTLOC, TRVS, CLSSES, OLDLOC + INTEGER HNTSIZ, HNTMAX, TALLY, TALLY2, CHLOC, CHLOC2, DFLAG + INTEGER DALTLC,GRATE,CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE + INTEGER FISSUR,TABLET,CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE + INTEGER WATER,OIL,PLANT,PLANT2,AXE,MIRROR,DRAGON,CHASM + INTEGER BEAR,MESSAG,VEND,BATTER,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD + INTEGER PYRAM,PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY + INTEGER LOCK,THROW,FIND,INVENT,TURNS,KNFLOC,DETAIL,ABBNUM + INTEGER NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2 + INTEGER TROLL,TROLL2,STREAM,SPICES + INTEGER RTXSIZ,CLSMAX,LOCSIZ,SECT,TABNDX,OBJ + INTEGER VERB,HNTLOC,KK +C +C + INTEGER VMAJ, VMIN, VEDIT + DATA VMAJ/2/,VMIN/0/,VEDIT/'A'/ + + CALL SETIDL + CALL INIT +CDEBUG WRITE(4,1) +CDEBUG1 FORMAT(' INIT DONE') + CALL AMAIN + CALL EXIT + END