Path: uunet!zephyr.ens.tek.com!tekred!saab!billr From: billr@saab.CNA.TEK.COM (Bill Randle) Newsgroups: comp.sources.games Subject: v09i092: adven - original adventure game in FORTRAN, Part04/08 Message-ID: <5631@tekred.CNA.TEK.COM> Date: 18 May 90 18:20:47 GMT Sender: news@tekred.CNA.TEK.COM Lines: 1703 Approved: billr@saab.CNA.TEK.COM Submitted-by: Chris Rende Posting-number: Volume 9, Issue 92 Archive-name: adven/Part04 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'a1toa5.f' <<'END_OF_FILE' XC*** A1TOA5 X X SUBROUTINE A1TOA5(CHARS,CINDEX,WDS,PUNC) X X IMPLICIT INTEGER(A-Z) X LOGICAL PUNCT X DIMENSION CHARS(70),WDS(2) X REAL*8 WDS,WDUMY(1) X DATA SPACE,COMMA,PERIOD,SEMICO /' ',',','.',';'/ X DATA LOWERA,LOWERZ/'a','z'/ /* THOSE ARE LOWER CASE! X X PUNCT(CHAR)=CHAR.EQ.SPACE.OR.CHAR.EQ.COMMA.OR.CHAR.EQ.SEMICO X 1 .OR.CHAR.EQ.PERIOD.OR.CHAR.EQ.0 X X WDS(1)=' ' X WDS(2)=' ' X X DO 2 CINDEX=CINDEX,70 X IF(.NOT.PUNCT(CHARS(CINDEX)))GOTO 4 X IF(CHARS(CINDEX).EQ.0)GOTO 8 X2 CONTINUE X PUNC=0 X RETURN X X4 DO 10 I=CINDEX,70 X IF(PUNCT(CHARS(I)))GOTO 8 X IF(CHARS(I).GE.LOWERA.AND.CHARS(I).LE.LOWERZ) X 1 CHARS(I)=AND(CHARS(I),:157777) X10 CONTINUE X ENCODE(16,101,WDS)(CHARS(I),I=CINDEX,70) X PUNC=0 X CINDEX=71 X RETURN X8 PUNC=CHARS(I) X FINISH=I-1 X ENCODE(16,101,WDS)(CHARS(J),J=CINDEX,FINISH) X CINDEX=I X RETURN X101 FORMAT(2(6A1,2X)) X END END_OF_FILE if test 995 -ne `wc -c <'a1toa5.f'`; then echo shar: \"'a1toa5.f'\" unpacked with wrong size! fi # end of 'a1toa5.f' fi if test -f 'adv.data.2' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'adv.data.2'\" else echo shar: Extracting \"'adv.data.2'\" \(40531 characters\) sed "s/^X//" >'adv.data.2' <<'END_OF_FILE' X4 X1 2 ROAD W U CLIMB X1 3 ENTER BUILDIN IN E X1 4 DOWNSTR GULLY STREAM S DOWN X1 5 FOREST N EAST X1 8 DEPRESS X1 147 KNOLL X1 157 HOLE THUNDER X2 1 ROAD BUILDIN FORWARD E N D X2 30146 FOREST X2 5 FOREST N S X2 146 WEST X3 1 EXIT OUTDOOR W X3 11 XYZZY X3 33 PLUGH X3 467785 CLICK X3 202 CLICK X3 79 DOWNSTR STREAM X3 238 PANTRY ENTER IN X4 1 UPSTREA BUILDIN N X4 5 FOREST E W U X4 7 DOWNSTR S D X4 8 DEPRESS X5 4 VALLEY E D X5 50005 FOREST FORWARD N X5 6 FOREST X5 5 WEST S X6 1 ROAD N X6 4 VALLEY E W D X6 5 FOREST S X7 1 BUILDIN X7 4 UPSTREA N X7 5 FOREST EAST WEST X7 8 DOWNSTR ROCKY BED S X7 595 SLIT STREAM DOWN X8 5 FOREST E W S X8 1 BUILDIN X8 7 UPSTREA GULLY N X8 303009 ENTER IN D X8 593 ENTER X9 303008 EXIT UP X9 593 EXIT X9 10 CRAWL COBBLE IN W X9 14 PIT X9 11 DEBRIS X10 9 EXIT SURFACE NULL EAST X10 11 IN DARK W DEBRIS X10 14 PIT X11 303008 DEPRESS X11 9 ENTRANC X11 10 CRAWL COBBLE PASSAGE LOW E X11 12 CANYON IN U W X11 3 XYZZY X11 14 PIT X12 303008 DEPRESS X12 9 ENTRANC X12 11 D E DEBRIS X12 13 IN U W X12 14 PIT X12 239 N HOLE X13 303008 DEPRESS X13 9 ENTRANC X13 11 DEBRIS X13 12 CANYON E X13 14 PASSAGE PIT W X14 303008 DEPRESS X14 9 ENTRANC X14 11 DEBRIS X14 13 PASSAGE E X14 150020 D PIT STEPS X14 15 DOWN X14 16 CRACK W X15 18 LEFT S X15 17 FORWARD HALL W X15 19 STAIRS D N X15 150022 U PIT STEPS DOME PASSAGE E CLIMB STAIRS X15 14 UP X15 33 Y2 X16 14 FORCD X17 15 HALL E X17 312596 JUMP X17 412021 FORWARD X17 412597 OVER ACROSS W CROSS BRIDGE X17 27 OVER X18 15 HALL EXIT N X19 150237 U PIT STEPS DOME PASSAGE E CLIMB STAIRS X19 15 UP X19 15 STAIRS U E X19 75556 NE X19 311143 NE X19 311028 N LEFT X19 311029 S RIGHT X19 311030 WEST FORWARD X19 32 N X19 15074 SW X19 211032 SW X19 74 SECRET X20 0 FORCD X21 0 FORCD X22 15 FORCD X23 67 EAST ACROSS X23 68 WEST SLAB X23 25 DOWN PIT X23 648 HOLE X24 67 UP EXIT X24 92 GIANT X25 23 UP EXIT X25 724031 CLIMB X25 26 CLIMB X26 88 FORCD X27 312596 JUMP X27 412021 FORWARD X27 412597 OVER ACROSS E CROSS BRIDGE X27 17 OVER X27 40 N X27 41 WEST X28 19 HALL EXIT S X28 33 N Y2 X28 36 DOWN HOLE X29 19 HALL EXIT N X30 19 HALL EXIT EAST X30 62 WEST UP X31 524089 FORCD X31 90 FORCD X32 19 FORCD X33 3 PLUGH X33 28 S X33 34 EAST WALL BROKEN X33 35 WEST X33 159302 PLOVER X33 100 PLOVER X34 33 DOWN Y2 X34 15 UP X35 33 EAST Y2 X35 20 JUMP X36 37 EAST CRAWL X36 28 UP HOLE X36 39 WEST X36 65 BEDQUIL X37 36 WEST CRAWL X37 38 DOWN PIT CLIMB X38 37 CLIMB UP EXIT X38 595 SLIT STREAM DOWN UPSTREA DOWNSTR X39 36 EAST PASSAGE X39 64 DOWN HOLE FLOOR X39 65 BEDQUIL X40 41 FORCD X41 42 S U PASSAGE CLIMB X41 27 EAST X41 59 N X41 60 WEST CRAWL X42 41 UP X42 42 N X42 43 EAST X42 45 S X42 80 WEST X43 42 WEST X43 44 S X43 45 EAST X44 43 EAST X44 48 DOWN X44 50 S X44 82 N X45 42 WEST X45 43 N X45 46 EAST X45 47 S X45 87 UP DOWN X46 45 WEST EXIT X47 45 EAST EXIT X48 44 UP EXIT X49 50 EAST X49 51 WEST X50 44 EAST X50 49 WEST X50 51 DOWN X50 52 S X51 49 WEST X51 50 UP X51 52 EAST X51 53 S X52 50 WEST X52 51 EAST X52 52 S X52 53 UP X52 55 N X52 86 DOWN X53 51 WEST X53 52 N X53 54 S X54 53 WEST EXIT X55 52 WEST X55 55 N X55 56 DOWN X55 57 EAST X56 55 UP EXIT X57 13 DOWN CLIMB X57 55 WEST X57 58 S X57 83 N X57 84 EAST X58 57 EAST EXIT X59 27 FORCD X60 41 EAST UP CRAWL X60 61 WEST X60 62 N DOWN HOLE X60 50191 S CRACK X60 392173 S CRACK X60 172 S CRACK X60 648 CLIMB X61 60 EAST X61 62 N X61 100107 S X62 60 WEST X62 63 N X62 30 EAST X62 61 S X63 62 S EXIT X64 39 UP CLIMB ROOM X64 65 WEST BEDQUIL X64 103 N SHELL X64 106 EAST X65 64 EAST X65 66 WEST X65 80556 S X65 68 SLAB X65 80556 UP X65 50070 UP X65 39 UP X65 60556 N X65 75072 N X65 71 N X65 80556 DOWN X65 106 DOWN X66 65 NE X66 67 WEST X66 80556 S X66 77 CANYON X66 96 EAST X66 50556 NW X66 97 ORIENTAL X67 66 EAST X67 23 WEST ACROSS X67 24 DOWN PIT X68 23 S X68 69 UP CLIMB X68 65 N X69 68 DOWN SLAB X69 331120 S X69 119 S X69 109 N X69 113 RESERVO X70 71 N X70 65 DOWN PASSAGE X70 111 S X71 65 SE X71 70 S X71 110 N X72 65 BEDQUIL X72 118 NE X72 73 N X72 97 SW ORIENTA X73 72 S CRAWL EXIT X74 19 EAST X74 331120 WEST X74 121 WEST X74 75 DOWN X75 76 S X75 77 N X76 75 N X77 75 EAST X77 78 WEST X77 66 N CRAWL X78 77 S X79 3 FORCD X80 42 N X80 80 WEST X80 80 S X80 81 EAST X81 80 WEST EXIT X82 44 S EXIT X83 57 S X83 84 EAST X83 85 WEST X84 57 N X84 83 WEST X84 114 NW X85 83 EAST EXIT X86 52 UP EXIT X87 45 UP DOWN X88 25 DOWN CLIMB EAST X88 20 JUMP X88 92 WEST GIANT X89 25 FORCD X90 23 FORCD X91 95 N CAVERN PASSAGE X91 72 DOWN CLIMB X92 88 S X92 93 EAST X92 94 N X93 92 S GIANT EXIT X94 92 S GIANT PASSAGE X94 341095 N ENTER CAVERN X94 611 N X95 94 S EXIT X95 92 GIANT X95 91 WEST X95 145 DOWN JUMP POOL HOLE X96 66 WEST EXIT X97 66 SE X97 72 EAST CRAWL X97 98 UP N CAVERN X98 235 NE X98 97 S ORIENTA X98 99 WEST X98 3142 UP SW CLIMB SLIDE X98 75702 UP SW CLIMB SLIDE X98 703 UP SW CLIMB SLIDE X98 141 CHIMNEY X99 98 NW CAVERN X99 301 EAST PASSAGE X99 100 EAST X100 301 WEST PASSAGE EXIT X100 99 WEST X100 159302 PLOVER Y2 X100 33 PLOVER Y2 X100 101 NE DARK X101 100 S PLOVER EXIT X102 103 DOWN SHELL EXIT X103 388196 UP HALL X103 102 UP HALL X103 104 DOWN X103 114618 S X103 115619 S X103 64 S X104 103 UP SHELL X104 105 DOWN X105 104 UP EXIT X105 103 SHELL X106 64 UP X106 65 WEST X106 108 EAST X107 131 S X107 132 SW X107 133 NE X107 134 SE X107 135 UP X107 136 NW X107 137 EAST X107 138 WEST X107 139 N X107 61 DOWN X108 95556 E N S NE SE SW NW U X108 95556 D X108 106 EAST X108 626 WEST X109 69 S X109 113 N RESERVO X110 71 WEST X110 20 JUMP X111 70 N X111 40050 DOWN JUMP CLIMB X111 50053 DOWN X111 45 DOWN X112 131 SW X112 132 N X112 133 EAST X112 134 NW X112 135 SE X112 136 NE X112 137 WEST X112 138 DOWN X112 139 UP X112 140 S X113 109 S EXIT X114 84 SE X115 116 SW ACROSS CROSS X115 212 IN ENTER N X116 115 NE ACROSS SW X116 593 DOWN X117 118 SW X117 233660 OVER ACROSS CROSS NE BRIDGE X117 332661 OVER X117 303 OVER X117 332021 JUMP X117 596 JUMP X118 72 DOWN X118 117 UP X119 69 N EXIT X119 653 EAST FORWARD X120 69 N X120 74 EAST X121 74 EAST EXIT X121 653 N FORWARD X122 123 NE X122 233660 OVER ACROSS CROSS SW BRIDGE X122 303 OVER X122 596 JUMP X122 124 FORK X122 126 VIEW X122 129 BARREN X123 122 WEST X123 124 EAST FORK X123 126 VIEW X123 129 BARREN X124 123 WEST X124 125 NE LEFT X124 128 SE RIGHT DOWN X124 126 VIEW X124 129 BARREN X125 124 S FORK X125 126 N VIEW X125 127 EAST CRAWL X126 125 S PASSAGE EXIT X126 124 FORK X126 610 DOWN JUMP X127 125 WEST EXIT CRAWL X127 124 FORK X127 126 VIEW X128 124 N UP FORK X128 129 S DOWN BARREN X128 126 VIEW X129 128 WEST UP X129 124 FORK X129 130 EAST IN BARREN ENTER X129 126 VIEW X130 129 WEST EXIT X130 124 FORK X130 126 VIEW X131 107 WEST X131 132 SE X131 133 NW X131 134 SW X131 135 NE X131 136 UP X131 137 DOWN X131 138 N X131 139 S X131 112 EAST X132 107 NW X132 131 UP X132 133 N X132 134 S X132 135 WEST X132 136 SW X132 137 NE X132 138 EAST X132 139 DOWN X132 112 SE X133 107 UP X133 131 DOWN X133 132 WEST X133 134 NE X133 135 SW X133 136 EAST X133 137 N X133 138 NW X133 139 SE X133 112 S X134 107 NE X134 131 N X134 132 NW X134 133 SE X134 135 EAST X134 136 DOWN X134 137 S X134 138 UP X134 139 WEST X134 112 SW X135 107 N X135 131 SE X135 132 DOWN X135 133 S X135 134 EAST X135 136 WEST X135 137 SW X135 138 NE X135 139 NW X135 112 UP X136 107 EAST X136 131 WEST X136 132 UP X136 133 SW X136 134 DOWN X136 135 S X136 137 NW X136 138 SE X136 139 NE X136 112 N X137 107 SE X137 131 NE X137 132 S X137 133 DOWN X137 134 UP X137 135 NW X137 136 N X137 138 SW X137 139 EAST X137 112 WEST X138 107 DOWN X138 131 EAST X138 132 NE X138 133 UP X138 134 WEST X138 135 N X138 136 S X138 137 SE X138 139 SW X138 112 NW X139 107 SW X139 131 NW X139 132 EAST X139 133 WEST X139 134 N X139 135 DOWN X139 136 SE X139 137 UP X139 138 S X139 112 NE X140 112 N EXIT X141 142 UP EAST CLIMB CHIMNEY SLIDE X142 98 EAST DOWN FORWARD SLIDE X142 141 BACK WEST CHIMNEY X143 19 WEST EXIT X143 144 EAST X144 143 WEST BACK X144 19 EXIT X145 141 FORCD X146 2 EAST UP ROAD CLIMB X146 50006 S FOREST X146 146 S FOREST X146 147 WEST X146 148 N X147 146 EAST S X147 148 N X147 153 WEST X147 157 HOLE X147 3 BUILDIN X147 157 THUNDER X148 50147 S X148 146 S X148 149 EAST WEST N X148 3 BUILDIN X148 166 GROTTO X149 149 S X149 151 EAST X149 150 WEST X149 152 N X150 151 N S X150 149 EAST WEST X151 148 EAST X151 152 WEST X151 150 N X151 149 S X152 151 EAST X152 150 S X153 154 N X153 153 S X153 147 EAST X153 3 BUILDIN X154 50155 N X154 157 N DOWN X154 155 UP X154 153 S X154 3 BUILDIN X155 154 DOWN BACK S X155 156 JUMP X155 3 BUILDIN X156 0 FORCD X157 227 IN EAST X157 154 EXIT S UP X157 3 BUILDIN X158 229 WEST STEPS DOWN X158 157 EXIT X158 161 PHUCE X158 725 CLIMB UP X158 726 LEDGE X158 747 ENTER IN EAST ENTRANC X159 732 EXIT WEST STEPS X160 343167 EAST IN ENTER X160 738 EAST X160 162 PHUCE X160 723 WEST CLIMB DOWN X160 165 JUMP X161 304 FORCD X162 304 FORCD X163 304 FORCD X164 304 FORCD X165 0 FORCD X166 747 ENTER EXIT IN WEST X166 148232 EAST CROSS OVER ACROSS X166 148169 NE X166 148233 S X166 148234 N X166 717 EAST CROSS OVER ACROSS NE X166 448164 PHUCE X166 720 PHUCE X167 163 PHUCE X167 343160 WEST EXIT ENTER IN X167 739 WEST X167 722 EAST CROSS OVER ACROSS X168 448170 SE UP PASSAGE X168 719 SE UP PASSAGE X168 148169 N X168 148192 S X168 148166 WEST CROSS OVER ACROSS X168 717 WEST N S X169 148168 S X169 148166 SW X169 717 SW S X169 448179 PASSAGE EAST UP X169 719 PASSAGE UP X170 171 EAST UP X170 168 WEST DOWN X171 170 NW DOWN X171 180 EAST UP X172 60 N X172 174 S X173 60 N X174 392178 NE X174 172 NE CRACK X174 175 NW X175 177 N X175 174 EAST X175 176 PIT DOWN CLIMB X176 175 UP CLIMB EXIT BACK X177 60 DOWN CLIMB JUMP X177 175 S BACK X178 174 FORCD X179 169 DOWN WEST X179 198 UP EAST STREAM X180 171 WEST X180 182 UP CLIMB X180 213 EAST X181 227 FORCD X182 180 WEST X182 183 EAST X183 182 WEST X183 50184 EAST X183 186 EAST X183 185 S X183 187 N X184 183 SW X184 188 SE X185 183 N X186 183 NW X186 188 NE X187 183 WEST X187 188 EAST X188 187 N X188 184 WEST X188 65190 SW DOWN X188 186 SW X188 305 IN ENTER X189 188 EXIT BACK X190 422306 CROSS N ACROSS BRIDGE X190 661 CROSS X190 188 UP BACK X191 60 N X192 148166 N X192 148168 NE X192 717 N NE X192 448197 EAST X192 720 EAST X193 197 WEST X194 224 WEST X195 196 HOLE WALL S CROSS LEFT X195 224 WEST X196 103 DOWN SHELL X196 114618 HOLE WALL N CROSS X196 195 HOLE X197 193 EAST X197 192 WEST X198 179 SW STREAM DOWNSTR PASSAGE X198 203 DOWN EAST X198 402200 S UP X198 772 S UP X199 198 FORCD X200 198 WEST X200 201 EAST UP X201 402200 WEST DOWN X201 772 WEST DOWN X201 202 EAST X201 230 N X202 201 WEST X202 467785 CLICK X202 205 CLICK X202 206 EAST X203 447199 DOWN EAST ICE X203 204 DOWN EAST ICE X203 198 UP WEST X204 203 UP WEST BACK EXIT X205 219 N X205 467785 CLICK X205 202 CLICK X205 226 JUMP X206 207 N CRAWL X206 202 WEST X206 648 UP HOLE X207 208 N X207 206 S X208 236 EAST X208 207 S CRAWL X208 209 WEST X208 793 CROSS ACROSS N X209 208 EAST X209 210 UP CLIMB X210 211 DOWN EAST X210 209 WEST X211 210 UP BACK WEST X211 122 DOWN EAST X212 115 EXIT BACK S X213 206 DOWN HOLE X213 180 WEST BACK X214 148166 S X214 148169 SE X214 717 S SE X214 448215 NE X214 720 NE X215 214 SW X215 216 UP X216 215 DOWN X216 217 EAST UP X217 216 WEST DOWN EXIT X217 218 EAST PIT X218 217 BACK WEST X218 230 UP CLIMB X219 205 S BRIDGE X219 222 N ALTAR X219 220 EAST X219 221 WEST X219 3 PRAY X220 219 WEST X221 219 EAST X222 219 S X222 223 UP X222 3 PRAY X223 222 DOWN X223 224 UP X224 223 DOWN HOLE X224 388195 EAST X224 194 EAST X225 50702 WEST U PASSAG X225 703 WEST U PASSAG X225 19 S TUNNEL X226 0 FORCD X227 157 WEST EXIT UP X227 398228 EAST IN DOWN X227 181 EAST IN DOWN X228 792 N S UPSTREA DOWNSTR CRACK X228 227 UP WEST EXIT X228 229 JUMP X228 786 EAST IN ACROS CROSS OVER X229 792 N S UPSTREA DOWNSTR CRACK X229 228 JUMP X229 786 WEST EXIT ACROSS CROSS OVER X229 158 EAST IN STEPS X230 65218 DOWN JUMP X230 231 DOWN JUMP X230 201 S CRAWL X231 0 FORCD X232 168 FORCD X233 192 FORCD X234 214 FORCD X235 422306 CROSS S ACROSS BRIDGE X235 661 CROSS X235 98 WEST X236 208 WEST X237 19 FORCD X238 3 EXIT OUT ENTRANC X239 12 S CANYON HOLE X239 369240 E PASSAG X239 878 E PASSAG X240 239 U X240 225 D X-1 X5 X2 Brass lantern X0000 There is a shiny brass lamp nearby. X1000 There is a lamp shining nearby. X3 *Grate X0000 The grate is locked. X1000 The grate is open. X4 Wicker cage X0000 There is a small wicker cage discarded nearby. X5 Black rod X0000 A three foot black rod with a rusty star on an end lies nearby. X6 Black rod X0000 A three foot black rod with a rusty mark on an end lies nearby. X7 *Steps X0000 Rough stone steps lead down the pit. X1000 Rough stone steps lead up the dome. X9 Wooden pole X0000 A wooden pole is lying nearby. X1000 A wooden pole has been stuck in the mud here. X10 Velvet pillow X0000 A small velvet pillow lies on the floor. X11 *Snake X0000 A huge green fierce snake bars the way! X1000 >$< (Chased away) X12 *Fissure X0000 >$< X1000 A crystal bridge now spans the fissure. X2000 The crystal bridge has vanished! X13 *Stone tablet X0000 A massive stone tablet imbedded in the wall reads: X0000 "Congratulations on bringing light into the Dark-Room!" X14 Giant clam >grunt!< X0000 There is an enormous clam here with its shell tightly closed. X15 Giant oyster >groan!< X0000 There is an enormous oyster here with its shell tightly closed. X1000 Interesting. There seems to be something written on the underside of X1000 the oyster. X16 "Spelunker Today" X0000 There are a few recent issues of "Spelunker Today" magazine here. X19 Tasty food X0000 There is food here. X20 Small bottle X0000 There is a bottle of water here. X1000 There is an empty bottle here. X2000 There is a bottle of oil here. X3000 There is a broken bottle here. X4000 There is a bottle of wine here. X21 *Chasm - troll bridge X0000 A rickety wooden bridge extends across the chasm, vanishing into the X0000 mist. A sign posted on the bridge reads, "Stop! Pay troll!" X1000 The wreckage of a bridge (and a dead bear) can be seen at the bottom X1000 of the chasm. X22 *Chasm2 & decrepit natural bridge X0000 A decrepit natural bridge spans the chasm. A message scrawled into X0000 the rock wall reads: "Bridge out of repair. Maximum load: 35 Foonts." X1000 The remnants of a natural bridge partially overhang the chasm. X23 *Mirror X0000 >$< X24 *plant X0000 There is a tiny little plant in the pit, murmuring "Water, water, ..." X1000 The plant spurts into furious growth for a few seconds. X2000 There is a 12-foot-tall beanstalk stretching up out of the pit, X2000 bellowing "Water!! Water!!" X3000 The plant grows explosively, almost filling the bottom of the pit. X4000 There is a gigantic beanstalk stretching all the way up to the hole. X5000 You've over-watered the plant! It's shriveling up! It's, it's... X25 *Phony plant (seen in twopit room only when tall enough) X0000 >$< X1000 The top of a 12-foot-tall beanstalk is poking out of the west pit. X2000 There is a huge beanstalk growing out of the west pit up to the hole. X26 *Stalactite X0000 >$< X27 *shadowy figure X0000 The shadowy figure seems to be trying to attract your attention. X28 Dwarf's axe X0000 There is a little axe here. X1000 There is a little axe lying beside the bear. X2000 There is a little axe lying beside the Wumpus. X3000 There is a little axe lying beside the dog. X29 *Cave drawings X0000 >$< X30 *pirate X0000 >$< X31 *dragon X0000 A huge green fierce dragon bars the way! X1000 Congratulations! You have just vanquished a dragon with your bare X1000 hands! (Unbelievable, isn't it?) X2000 The body of a huge green dead dragon is lying off to one side. X33 *Troll X0000 A burly troll stands by the bridge and insists you throw him a X0000 treasure before you may cross. X1000 The troll steps out from beneath the bridge and blocks your way. X2000 >$< (Chased away) X34 *phony troll X0000 The troll is nowhere to be seen. X35 >$< (Bear uses rtext 141) X0000 There is a ferocious cave bear eying you from the far end of the room! X1000 There is a gentle cave bear sitting placidly in one corner. X2000 There is a contented-looking bear wandering about nearby. X3000 >$< (Dead) X36 *Message in second maze X0000 There is a message scrawled in the dust in a flowery script, reading: X0000 "This is not the maze where the pirate leaves his treasure chest." X37 *Volcano and/or geyser X0000 >$< X38 *Vending machine X0000 There is a massive vending machine here. The instructions on it X0000 read: "Insert coins to receive fresh batteries." X1000 There is a massive vending machine here. X39 Batteries X0000 There are fresh batteries here. X1000 Some worn-out batteries have been discarded nearby. X2000 Some worn-out batteries have been discarded nearby. X40 *Carpet and/or moss X0000 >$< X41 *Rusty door X0000 The way north is barred by a massive, rusty, iron door. X1000 The way north leads through a massive, rusty, iron door. X42 *Tiny door X0000 The only way past the wall is through a tiny locked door. X1000 The only way past the wall is through a tiny open door. X43 *Tiny door-2 X0000 The door is locked. X1000 The door is open. X44 *Phone booth door X0000 >$< X46 Beautiful flowers X0000 There are some beautiful flowers here! X1000 On the other side of the room a swarm of bees eagerly buzzes over X1000 a bunch of fresh flowers. X47 Silken cloak X0000 There is a silken cloak here! X1000 >$< (wearing cloak) X2000 A lovely silken cloak lies partially buried under a pile of X2000 loose rocks. X48 Wooden boat X0000 There is a small wooden boat here. X1000 You are in a wooden boat. X49 *Sticks at Styx X0000 >$< X50 Large gold nugget X0000 There is a large sparkling nugget of gold here! X51 Several diamonds X0000 There are diamonds here! X52 Silver horn X0000 There is a silver horn here! X53 Precious jewelry X0000 There is precious jewelry here! X1000 >$< (wearing jewelry) X54 Rare coins X0000 There are many coins here! X55 Treasure chest X0000 The pirate's treasure chest is here! X56 Golden eggs X0000 There is a large nest here, full of golden eggs! X1000 The nest of golden eggs has vanished! X2000 Done! X57 Jeweled trident X0000 There is a jewel-encrusted trident here! X58 Ming vase X0000 There is a delicate, precious, ming vase here! X1000 The vase is now resting, delicately, on a velvet pillow. X2000 The floor is littered with worthless shards of pottery. X3000 The ming vase drops with a delicate crash. X59 Egg-sized emerald X0000 There is an emerald here the size of a plover's egg! X60 Platinum pyramid X0000 There is a platinum pyramid here, 8 inches on a side! X61 Glistening pearl X0000 Off to one side lies a glistening pearl! X62 Persian rug X0000 There is a persian rug spread out on the floor! X1000 The dragon is sprawled out on a persian rug!! X63 Rare spices X0000 There are rare spices here! X64 Golden chain X0000 There is a golden chain lying in a heap on the floor! X1000 The bear is locked to the wall with a golden chain! X2000 There is a golden chain locked to the wall! X65 Gleaming sword X0000 There is a gleaming sword here! X1000 A gleaming sword is stuck into the anvil! X3000 You grasp the sword's handle and give a mighty heave, but with a X3000 loud clang the sword blade shatters into several fragments. X4000 Rusty shards of a elven sword lie scattered about. X5000 A very clean sword is stuck into the anvil! X6000 An oily sword is stuck into the anvil. X66 Elfin crown X0000 An ancient crown of elfin kings lies here! X1000 >$< (wearing crown) X67 Ruby slippers X0000 There is a pair of ruby slippers here. X1000 >$< (wearing slippers) X2000 There is a pair of ruby slippers here. X68 Delicate lyre X0000 There is a delicate lyre here! X69 Black fly X0000 There is a large black fly here buzzing around rather lazily. X1000 A giant spider is in the eastern corner munching X1000 contentedly on a large, black fly. X2000 There is a large dead black fly here. X70 Holy Grail X0000 There is an ornate silver chalice here! X71 Oaken cask X0000 There is a cask of water here. X1000 There is an empty oaken cask here. X2000 There is a cask of oil here. X3000 >$< (Unused) X4000 There is a cask of wine here. X72 Golden ring X0000 There is a small gold ring here. X1000 >$< (wearing ring) X2000 On the Wumpus' finger is a small gold ring. X73 Four-leafed clover X0000 There is a four-leafed clover here! X1000 >$< (wearing clover) X81 Clear water X82 Cool water X83 Thick, black oil X84 Thick, black oil X85 Vintage wine X86 Vintage wine X87 *Bumblebees X0000 >$< X1000 Some bumblebees are swarming around a bunch of fresh flowers. X88 *Hollow wall X0000 Your footsteps echo hollowly throughout the chamber. X1000 >$< X89 *Wall with safe X0000 A steel safe is embedded in the wall. X90 Tiny brass key X0000 There is a tiny brass key here. X1000 There is a tiny brass key on the shelf. X91 *Anvil X0000 >$< X92 *rocks on cloak X0000 >$< (ON CLOAK) X1000 >$< (AFTER ROCKSLIDE) X93 *telephone booth X0000 The telephone booth is empty. The phone is ringing. X1000 The phone booth is occupied by a gnome. He is talking excitedly X1000 to someone at the other end. X2000 The telephone booth is empty. X3000 >$< X94 *Telephone X0000 The phone is ringing. X1000 The telephone is out of order. X2000 The telephone is out of order. It is badly dented. X3000 >$< X95 Lead slugs X0000 There are some lead slugs here! X96 Sweet honeycomb X0000 There is a sweet honeycomb here! X97 *Beehive X0000 There is an active beehive nearby. The bees hum protectively X0000 around the hive. X1000 There is an empty beehive nearby. X98 *Black dog X0000 A hideous black dog bares his teeth and growls at your approach. X1000 Nearby, a large black dog is in a deep slumber. X99 *Dreaded Wumpus X0000 In the corner, a Wumpus is sleeping peacefully. X1000 A sleepy Wumpus is ambling towards you. He wants to invite you to X1000 dinner. He wants you to *be* the dinner! X2000 The Wumpus is still on your trail! And he's getting closer!! X3000 The Wumpus is only a few steps behind you! All this exercise is X3000 making him veerrrrry hungry! X4000 The Wumpus almost has you in his grasp! You can feel his hot breath X4000 on your neck! X5000 "Chomp, chomp." Crunch! Chew! Slurp! Smack! Yum!!! X6000 Nearby is the smashed body of a defunct Wumpus. X101 Little bird in cage X0000 A cheerful little bird is sitting here singing. X1000 There is a little bird in the cage. X102 Set of keys X0000 There are some keys on the ground here. X103 *Fountain X0000 There is a fountain of sparkling vintage wine here! X104 *Bats & guano in bat-cave X0000 >$< X105 *gnome in phone booth X0000 >$< X106 Colored mushrooms X0000 There are some oddly-colored mushrooms here. X107 Tiny cakes X0000 There are some tiny cakes on the shelf. X108 Leather Sack X0000 There is a leather sack here. X110 Rare book X0000 There is a dusty, leather-bound volume here. X111 Rare book X0000 There is a dusty, leather-bound volume here. X112 Steel wall-safe X0000 The safe door is locked. X1000 The safe door is open. X113 Faded poster X0000 Taped to the wall is a faded poster. X1000 There is a faded poster here. X114 Whiskbroom X0000 There is a small whiskbroom here. X115 *Carving on dusty rocks X0000 >$< X1000 >$< X116 *Billboard X0000 >$< X118 Small metal cannister X0000 There is a heavy, grey, metal cannister here. X119 Glowing stone X0000 Nearby, a strange, greenish stone is glowing brightly. X120 Opal sphere X0000 There is a polished sphere of pure opal here! X121 Giant Spider X0000 There is a giant spider in the eastern corner guarding the X0000 door. He is grinning at you. X1000 >$< X122 Scrap of parchment X0000 >$< X1000 >$< X-1 X6 X1 Somewhere nearby is Colossal Cave, where others have found fortunes in X1 treasure and gold, though it is rumored that some who enter are never X1 seen again. Magic is said to work in the cave. I will be your eyes X1 and hands. Direct me with natural English commands. I should warn X1 you that I look at only the first five letters of each word, so you'll X1 have to enter "Northeast" as "NE" to distinguish it from "North". X1 (Should you get stuck, type "HELP" or "?" for some general hints.) X1 Good Luck! X1 - - - - X2 A little dwarf with a big knife blocks your way. X3 A little dwarf just walked around a corner, saw you, threw a little X3 axe at you which missed, cursed, and ran away. X4 There is a threatening little dwarf in the room with you! X5 One sharp nasty knife is thrown at you! X6 None of them hit you! X7 One of them gets you! X8 A hollow voice says "Plugh". X9 There is no way to go that direction. X10 I am unsure how you are facing. Use compass points or nearby objects. X11 I don't know in from out here. Use compass points or name something X11 in the general direction you want to go. X12 I don't know how to apply that word here. X13 I don't understand that! X14 I'm game. Would you care to explain how? X15 Sorry, but I am not allowed to give more detail. I will repeat the X15 long description of your location. X16 It is now pitch dark. If you proceed you will likely fall into a pit. X17 If you prefer, simply type "W" rather than "West". X18 Are you trying to catch the bird? X19 The bird is frightened right now and you cannot catch it no matter X19 what you try. Perhaps you might try later. X20 Are you trying to somehow deal with the snake? X21 You can't kill the snake, or drive it away, or avoid it, or anything X21 like that. There is a way to get by, but you don't have the necessary X21 resources right now. X22 Do you really want to quit now? X23 You fell into a pit and broke every bone in your body! X24 You are already carrying it! X25 You can't be serious! X26 The bird was unafraid when you entered, but as you approach it becomes X26 disturbed and you cannot catch it. X27 You can catch the bird, but you cannot carry it. X28 There is nothing here with a lock! X29 You aren't carrying it! X30 The little bird attacks the green snake, and in an astounding flurry X30 drives the snake away. X31 You have no keys! X32 It has no lock. X33 I don't know how to lock or unlock such a thing. X34 It was already locked. X35 The grate is now locked. X36 The grate is now unlocked. X37 It was already unlocked. X38 You have no source of light. X39 Your lamp is now on. X40 Your lamp is now off. X41 There is no way to get past the bear to unlock the chain, which is X41 probably just as well. X42 Nothing happens. X43 Where? X44 There is nothing here to attack. X45 The little bird is now dead. Its body disappears. X46 Attacking the snake both doesn't work and is very dangerous. X47 You killed a little dwarf. X48 You attack a little dwarf, but he dodges out of the way. X49 With what? Your bare hands? X50 Good try, but that is an old worn-out magic word. X51 I know of places, actions, and things. Much of my vocabulary X51 describes places and is used to move you there. To move, try words X51 like forest, building, downstream, enter, east, west, north, south, X51 up, or down. I know about a few special objects, like a black rod X51 hidden in the cave. These objects can be manipulated using some of X51 the action words that I know. Usually you will need to give both the X51 object and action words (in either order), but sometimes I can infer X51 the object from the verb alone. Some objects also imply verbs; in X51 particular, "INVENTORY" implies "TAKE INVENTORY", which causes me to X51 give you a list of what you're carrying. The objects have side X51 effects; for instance, the rod scares the bird. Usually people having X51 trouble moving just need to try a few more words. Usually people X51 trying unsuccessfully to manipulate an object are attempting something X51 beyond their (or my!) capabilities and should try a completely X51 different tack. To speed the game you can sometimes move long X51 distances with a single word. For example, "Building" usually gets X51 you to the building from anywhere above ground except when lost in the X51 forest or the marsh. Also, note that cave passages turn a lot, and X51 that leaving a room to the north does not guarantee entering the X51 next from the south. You'd best make yourself a map as you go along. X51 - - - X51 A word about my understanding of English -- I will try very hard to X51 do whatever you say, but here are a few suggestions. To scarf up X51 everything movable at a given location, say 'TAKE EVERYTHING' or X51 'TAKE ALL'. Some objects may be differentiated only by some attribute X51 or other. For example, if you were holding both a red and a blue X51 frammitz, you would have to distinguish between them by typing X51 'RED FRAMMITZ' or 'BLUE FRAMMITZ' so that I'll know which one you X51 mean. Also, you can specify several actions or objects by using X51 commas or 'AND', as 'TAKE ABC,DEF AND XYZ AND BURN WITCH'. X X51 - - - X51 To list what you are currently holding, say "INVENTORY", or just "I". X51 - - - X51 To reprint the detailed description of where you are, say "LOOK" X51 or "L". You can also "LOOK IN" or "LOOK AT" appropriate objects. X51 - - - X51 If you want to end your adventure early, say "QUIT". X51 - - - X51 To suspend your adventure such that you can continue later, X51 say "SUSPEND" (or "PAUSE" or "SAVE"). X51 - - - X51 To see what hours the cave is normally open, say "HOURS". X51 - - - X51 To see how well you're doing, say "SCORE". To get full credit for a X51 treasure, you must have left it safely in the building, though you get X51 partial credit just for locating it. Note that leaving something X51 in a *safe* place may be trickier than you think! X51 You lose points for getting killed, or for quitting, X51 though the former costs you more. There are also points X51 based on how much (if any) of the cave you've managed to X51 explore; in particular, there is a large bonus just for getting in (to X51 distinguish the dilletantes from the rest of the pack), and there are X51 other ways to determine whether you've been through some of the more X51 harrowing sections. If you think you've found all the treasures, just X51 keep exploring for a while. If nothing interesting happens, you X51 haven't found them all yet. If something interesting *DOES* happen, X51 it means you're getting a bonus and have an opportunity to garner many X51 more points in the Master's Section. I may occasionally offer hints X51 if you seem to be having trouble. If I do, I'll warn you in advance X51 how much it will affect your score to accept the hints. X51 - - - X51 In addition to getting yourself killed, you can also be wounded or X51 injured in various (non-lethal) ways. If you get burnt, poisoned, X51 electrocuted or whatever, you can check on your current state of X51 health by typing 'HEALTH' or 'DIAGNOSE'. Note that recuperation X51 takes place faster outside in the fresh air! X51 - - - X51 This an exceedingly complex program and it's possible that something X51 may interact with something else in an unforseen way. If you run X51 into something you think may be a program bug, or if you have any X51 ideas for extensions to the cave, type "GRIPE" (or "REPORT" or X51 "BITCH") and then enter as long a message as you like. This will X51 be immediately transmitted to the Wizard, who will try to reply X51 within a day or two. X51 - - - X51 Finally, to save paper, you may specify "BRIEF", which tells me X51 never to repeat the full description of a place unless you explicitly X51 ask me to. Experienced players may suppress *all* long-form X51 descriptions by typing "TERSE". You can return to normal description X51 mode by typing "UNBRIEF" or "UNTERSE". X51 - - - END_OF_FILE if test 40531 -ne `wc -c <'adv.data.2'`; then echo shar: \"'adv.data.2'\" unpacked with wrong size! fi # end of 'adv.data.2' fi if test -f 'getobj.f' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'getobj.f'\" else echo shar: Extracting \"'getobj.f'\" \(3316 characters\) sed "s/^X//" >'getobj.f' <<'END_OF_FILE' XC*** GETOBJ X X SUBROUTINE GETOBJ(OBJ) X XC ANALYSE AN OBJECT WORD. SEE IF THE THING IS HERE, WHETHER WE'VE GOT A VERB XC YET, AND SO ON. OBJECT MUST BE HERE UNLESS VERB IS "FIND" OR "INVENT(ORY)" XC (AND NO NEW VERB YET TO BE ANALYSED). WATER, OIL AND WINE ARE ALSO XC FUNNY, SINCE THEY ARE NEVER ACTUALLY DROPPED AT ANY LOCATION, BUT MIGHT XC BE HERE INSIDE THE BOTTLE OR AS A FEATURE OF THE LOCATION. XC XC HAS THREE POSSIBLE RETURN VALUES FOR 'OBJ': XC VAL > 0 :: A POSITIVE OBJECT NUMBER XC VAL = 0 :: OBJECT NOT FOUND HERE. ERROR MESSAGE PRINTED. XC VAL < 0 :: OBJECT WORD REALLY SOMETHING ELSE. RETURN NEGATIVE XC VALUE OF SUBSTITUTED WORD. X X IMPLICIT INTEGER(A-Z) X LOGICAL AT X COMMON /DWFCOM/ DWARF,KNIFE,KNFLOC,DFLAG,DSEEN(6),DLOC(6), X 1 ODLOC(6),DWFMAX X COMMON /LIQCOM/ BOTTLE,CASK,WATER,OIL,WINE,LIQTYP(5) X COMMON /LOCCOM/ LOC,OLDLOC,OLDLC2,NEWLOC,MAXLOC X COMMON /MNECOM/ BACK,CAVE,DPRSSN,ENTRNC,EXIT,GO,LOOK,NULL, X 1 AXE,BEAR,BOAT,BOOK,BOOK2,BOOTH,CARVNG,CHASM,CHASM2,DOOR,GNOME, X 2 GRATE,LAMP,PDOOR,PLANT,PLANT2,ROCKS,ROD,ROD2,SAFE, X 3 TDOOR,TDOOR2,TROLL,TROLL2,EMRALD,SPICES, X 4 FIND,YELL,INVENT,LEAVE,POUR,SAY,TAKE,THROW, X 5 KILLED,IWEST,PHUCE(2,4),TK(20) X INTEGER*4 POINTS X COMMON /OBJCOM/ PLAC(150),FIXD(150),WEIGHT(150),PROP(150), X 1 POINTS(150) X COMMON /PLACOM/ ATLOC(250),LINK(300),PLACE(150), X 1 FIXED(150),MAXOBJ X REAL*8 TXT X COMMON /UTXCOM/ TXT(35,2),WDX X REAL*8 VTXT,OTXT,IOTXT X COMMON /WRDCOM/ VERBS(45),VTXT(45,2),VRBX,OBJS(45),OTXT(45,2), X 1 OBJX,IOBJS(15),IOTXT(15,2),IOBX,PREP,WORDS(45) X LOGICAL ATHAND,BLIND,HERE,HOLDNG,PLURAL X X X IF(HOLDNG(OBJ))RETURN X IF(BLIND(0))GOTO 280 X IF(FIXED(OBJ).EQ.LOC.OR.ATHAND(OBJ))GOTO 290 X IF(.NOT.HERE(OBJ))GOTO 205 X K=335 X IF(PLURAL(OBJ))K=373 X OBJ=0 X CALL RSPEAK(K) X RETURN X X205 IF(OBJ.NE.GRATE)GOTO 210 X IF(LOC.EQ.1.OR.LOC.EQ.4.OR.LOC.EQ.7)OBJ=-DPRSSN X IF(LOC.GT.9.AND.LOC.LT.15)OBJ=-ENTRNC X IF(OBJ.EQ.GRATE)GOTO 280 X RETURN X X210 IF(OBJ.NE.DWARF)GOTO 220 X L1=DWFMAX-1 X DO 212 I=1,L1 X IF(DLOC(I).EQ.LOC.AND.DFLAG.GE.2)GOTO 290 X212 CONTINUE X GOTO 280 X X220 IF(OBJ.EQ.LIQLOC(LOC).OR. X 1 (ATHAND(BOTTLE).AND.LIQ(BOTTLE).EQ.OBJ).OR. X 2 (ATHAND(CASK).AND.LIQ(CASK).EQ.OBJ))GOTO 290 X IF(OBJ.NE.PLANT.OR..NOT.AT(PLANT2).OR.PROP(PLANT2).EQ.0)GOTO 230 X OBJ=PLANT2 X GOTO 290 X X230 IF(OBJ.NE.ROCKS.OR..NOT.AT(CARVNG))GOTO 240 X OBJ=CARVNG X GOTO 290 X X240 IF(OBJ.NE.ROD.OR..NOT.ATHAND(ROD2))GOTO 250 X OBJ=ROD2 X GOTO 290 X X250 IF(OBJ.NE.DOOR.OR..NOT. X 1 (AT(SAFE).OR.AT(TDOOR).OR.AT(TDOOR2).OR.AT(PDOOR))) X 2 GOTO 260 X OBJ=TDOOR X IF(AT(TDOOR2))OBJ=TDOOR2 X IF(AT(PDOOR))OBJ=PDOOR X IF(AT(SAFE))OBJ=SAFE X GOTO 290 X X260 IF(OBJ.NE.BOOK.OR..NOT.ATHAND(BOOK2))GOTO 270 X OBJ=BOOK2 X GOTO 290 X X270 IF(VERBS(VRBX).EQ.FIND.OR.VERBS(VRBX).EQ.INVENT)GOTO 290 X XC IT ISN'T HERE. TELL HIM & RETURN. X280 OBJ=0 X CALL A5TOA1(TXT(WDX,1),TXT(WDX,2),' here.',TK,K) X PRINT 282,(TK(I),I=1,K) X282 FORMAT(/' I see no ',20A1) X X290 RETURN X X END END_OF_FILE if test 3316 -ne `wc -c <'getobj.f'`; then echo shar: \"'getobj.f'\" unpacked with wrong size! fi # end of 'getobj.f' fi if test -f 'travl.f' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'travl.f'\" else echo shar: Extracting \"'travl.f'\" \(7424 characters\) sed "s/^X//" >'travl.f' <<'END_OF_FILE' XC*** TRAVL XC FIGURE OUT THE NEW LOCATION XC XC GIVEN THE CURRENT LOCATION IN "LOC", AND A MOTION VERB NUMBER IN "K", PUT XC THE NEW LOCATION IN "NEWLOC". THE CURRENT LOC IS SAVED IN "OLDLOC" IN CASE XC HE WANTS TO RETREAT. THE CURRENT OLDLOC IS SAVED IN OLDLC2, IN CASE HE XC DIES. (IF HE DOES, NEWLOC WILL BE LIMBO, AND OLDLOC WILL BE WHAT KILLED XC HIM, SO WE NEED OLDLC2, WHICH IS THE LAST PLACE HE WAS SAFE.) X X SUBROUTINE TRAVL(K) X IMPLICIT INTEGER(A-Z) X X LOGICAL KILLED,PCT,HOLDNG,ENCLSD X INTEGER*4 LL X LOGICAL INSIDE,OUTSID,PORTAL,TOTING,HERE,AT,FORCED X X INTEGER*4 TRAVEL X COMMON /TRVCOM/ TRAVEL(1600) X INTEGER*4 LTEXT,STEXT X COMMON /LTXCOM/ LTEXT(250),STEXT(250),KEY(250),ABB(250),LOCSIZ X COMMON /PLACOM/ ATLOC(250),LINK(300),PLACE(150), X 1 FIXED(150),MAXOBJ X INTEGER*4 POINTS,NEW1 X COMMON /OBJCOM/ PLAC(150),FIXD(150),WEIGHT(150),PROP(150), X 1 POINTS(150) X COMMON /LOCCOM/ LOC,OLDLOC,OLDLC2,NEWLOC,MAXLOC X COMMON /MNECOM/ BACK,CAVE,DPRSSN,ENTRNC,EXIT,GO,LOOK,NULL, X 1 AXE,BEAR,BOAT,BOOK,BOOK2,BOOTH,CARVNG,CHASM,CHASM2,DOOR,GNOME, X 2 GRATE,LAMP,PDOOR,PLANT,PLANT2,ROCKS,ROD,ROD2,SAFE, X 3 TDOOR,TDOOR2,TROLL,TROLL2,EMRALD,SPICES, X 4 FIND,YELL,INVENT,LEAVE,POUR,SAY,TAKE,THROW, X 5 KILLED,IWEST,PHUCE(2,4),TK(20) X X KILLED=.FALSE. X KK=KEY(LOC) X NEWLOC=LOC X IF(KK.EQ.0)CALL BUG(26) X IF(K.EQ.NULL)RETURN X IF(K.EQ.BACK)GOTO 20 X IF(K.EQ.CAVE)GOTO 40 X OLDLC2=OLDLOC X OLDLOC=LOC X X9 LL=IABS(TRAVEL(KK)) X IF(INTS(MOD(LL,0001000)).EQ.1.OR.INTS(MOD(LL,0001000)).EQ.K) X 1 GOTO 10 X IF(TRAVEL(KK).LT.0000000)GOTO 50 X KK=KK+1 X GOTO 9 X X10 LL=LL/0001000 X11 NEWLOC=INTS(LL/0001000) X K=MOD(NEWLOC,100) X IF(NEWLOC.LE.MAXLOC)GOTO 13 X IF(PROP(K).NE.NEWLOC/100-3)GOTO 16 X12 IF(TRAVEL(KK).LT.0)CALL BUG(25) X KK=KK+1 X NEW1=IABS(TRAVEL(KK))/1000 X IF(NEW1.EQ.LL)GOTO 12 X LL=NEW1 X GOTO 11 X X13 IF(NEWLOC.LE.100)GOTO 14 X IF(TOTING(K).OR.(NEWLOC.GT.200.AND.AT(K)))GOTO 16 X GOTO 12 X X14 IF(NEWLOC.NE.0.AND..NOT.PCT(NEWLOC))GOTO 12 X16 NEWLOC=MOD(LL,1000) X IF(NEWLOC.LE.MAXLOC)RETURN X IF(NEWLOC.LE.500)GOTO 30000 X CALL RSPEAK(NEWLOC-500) X NEWLOC=LOC X RETURN XC HANDLE "GO BACK". LOOK FOR VERB WHICH GOES FROM LOC TO OLDLOC, OR TO OLDLC2 XC IF OLDLOC HAS FORCED-MOTION. K2 SAVES ENTRY -> FORCED LOC -> PREVIOUS LOC. X X20 K=OLDLOC X IF(FORCED(K))K=OLDLC2 X OLDLC2=OLDLOC X OLDLOC=LOC X K2=0 X IF(K.NE.LOC)GOTO 21 X CALL RSPEAK(91) X RETURN X X21 LL=MOD((IABS(TRAVEL(KK))/1000),1000) X IF(LL.EQ.INTL(K))GOTO 25 X IF(LL.GT.INTL(MAXLOC))GOTO 22 X J=KEY(LL) X IF(FORCED(LL).AND.MOD((IABS(TRAVEL(J))/1000),1000).EQ.INTL(K)) X 1 K2=KK X22 IF(TRAVEL(KK).LT.000000)GOTO 23 X KK=KK+1 X GOTO 21 X X23 KK=K2 X IF(KK.NE.0)GOTO 25 X CALL RSPEAK(140) X RETURN X X25 K=MOD(IABS(TRAVEL(KK)),1000) X KK=KEY(LOC) X GOTO 9 X XC CAVE. DIFFERENT MESSAGES DEPENDING ON WHETHER ABOVE GROUND. X X40 IF(OUTSID(LOC))CALL RSPEAK(57) X IF(.NOT.OUTSID(LOC))CALL RSPEAK(58) X RETURN X XC NON-APPLICABLE MOTION. VARIOUS MESSAGES DEPENDING ON WORD GIVEN. X X50 SPK=12 X IF(K.GE.43.AND.K.LE.50)SPK=9 X IF(K.EQ.29.OR.K.EQ.30)SPK=9 X IF(K.EQ.7.OR.K.EQ.36.OR.K.EQ.37)SPK=10 X IF(K.EQ.11.OR.K.EQ.19)SPK=11 X IF(VERB.EQ.FIND.OR.VERB.EQ.INVENT)SPK=59 X IF(K.EQ.62.OR.K.EQ.65.OR.K.EQ.82)SPK=42 X IF(K.EQ.17)SPK=80 X CALL RSPEAK(SPK) X RETURN XC SPECIAL MOTIONS COME HERE. LABELLING CONVENTION: STATEMENT NUMBERS NNNXX XC (XX=00-99) ARE USED FOR SPECIAL CASE NUMBER NNN (NNN=301-500). X X30000 NEWLOC=NEWLOC-MAXLOC X GOTO (30100,30200,30300,30400,30500,30600),NEWLOC XC ALCOV PLOVR TROLL PHUCE BOOTH BRDGE X WRITE(1,1001)NEWLOC X1001 FORMAT('Bug in travel tables. Newloc= ',I5) X CALL BUG(20) X XC TRAVEL 301. PLOVER-ALCOVE PASSAGE. CAN CARRY ONLY EMERALD. NOTE: TRAVEL XC TABLE MUST INCLUDE "USELESS" ENTRIES GOING THROUGH PASSAGE, WHICH CAN NEVER XC BE USED FOR ACTUAL MOTION, BUT CAN BE SPOTTED BY "GO BACK". X X30100 NEWLOC=99+100-LOC X KK=BURDEN(0) X IF(KK.EQ.0.OR.(KK.EQ.BURDEN(EMRALD).AND.HOLDNG(EMRALD)))RETURN X NEWLOC=LOC X CALL RSPEAK(117) X RETURN X XC TRAVEL 302. PLOVER TRANSPORT. DROP THE EMERALD (ONLY USE SPECIAL TRAVEL IF XC TOTING IT), SO HE'S FORCED TO USE THE PLOVER-PASSAGE TO GET IT OUT. HAVING XC DROPPED IT, GO BACK AND PRETEND HE WASN'T CARRYING IT AFTER ALL. X X30200 IF(ENCLSD(EMRALD))CALL REMOVE(EMRALD) X CALL DROP(EMRALD,LOC) X GOTO 12 X XC TRAVEL 303. TROLL BRIDGE. MUST BE DONE ONLY AS SPECIAL MOTION SO THAT XC DWARVES WON'T WANDER ACROSS AND ENCOUNTER THE BEAR. (THEY WON'T FOLLOW THE XC PLAYER THERE BECAUSE THAT REGION IS FORBIDDEN TO THE PIRATE.) IF XC PROP(TROLL)=1, HE'S CROSSED SINCE PAYING, SO STEP OUT AND BLOCK HIM. XC (STANDARD TRAVEL ENTRIES CHECK FOR PROP(TROLL)=0.) SPECIAL STUFF FOR BEAR. X X30300 IF(PROP(TROLL).NE.1)GOTO 30310 X CALL PSPEAK(TROLL,1) X PROP(TROLL)=0 X CALL MOVE(TROLL2,0) X CALL MOVE(TROLL2+MAXOBJ,0) X CALL MOVE(TROLL,PLAC(TROLL)) X CALL MOVE(TROLL+MAXOBJ,FIXD(TROLL)) X CALL JUGGLE(CHASM) X NEWLOC=LOC X RETURN X X30310 NEWLOC=PLAC(TROLL)+FIXD(TROLL)-LOC X IF(PROP(TROLL).EQ.0)PROP(TROLL)=1 X IF(.NOT.HOLDNG(BEAR))RETURN X CALL RSPEAK(162) X PROP(CHASM)=1 X PROP(TROLL)=2 X CALL DROP(BEAR,NEWLOC) X FIXED(BEAR)=-1 X PROP(BEAR)=3 X IF(PROP(SPICES).LT.0)TALLY2=TALLY2+1 X OLDLC2=NEWLOC X KILLED=.TRUE. X RETURN XC TRAVEL 304. GROWING OR SHRINKING IN AREA OF TINY DOOR. EACH TIME XC HE DOES THIS, EVERYTHING MUST BE MOVED TO THE NEW LOC. PRESUMABLY, XC ALL HIS POSSESIONS ARE SHRUNK OR STRECHED ALONG WITH HIM. XC PHUCE(2,4) IS AN ARRAY CONTAINING FOUR PAIRS OF "HERE" (K) AND XC "THERE" (KK) LOCATIONS. X X30400 K=PHUCE(1,LOC-161+1) X NEWLOC=PHUCE(2,LOC-161+1) X DO 30410 OBJ=1,MAXOBJ X IF(OBJ.EQ.BOAT)GOTO 30410 X IF(PLACE(OBJ).EQ.K.AND.(FIXED(OBJ).EQ.0.OR.FIXED(OBJ).EQ.-1)) X 1 CALL MOVE(OBJ,NEWLOC) X30410 CONTINUE X RETURN X XC TRAVEL #5. PHONE BOOTH IN ROTUNDA. XC TRYING TO SHOVE PAST GNOME, TO GET INTO PHONE BOOTH. X X30500 IF(PROP(BOOTH).EQ.0.AND.PCT(65).OR.ABB(LOC).EQ.1)GOTO 30510 X NEWLOC=189 X IF(PROP(BOOTH).NE.1)RETURN X CALL RSPEAK(253) X GOTO 30512 X X30510 CALL RSPEAK(263) X PROP(BOOTH)=1 X CALL MOVE(GNOME,188) X30512 NEWLOC=LOC X RETURN X XC TRAVEL #6. COLLAPSING CLAY BRIDGE. HE CAN CROSS WITH THREE (OR FEWER) XC THINGS. IF MORE, OR IF CARRYING OBVIOUSLY HEAVY THINGS, HE MAY END UP XC IN THE DRINK. X X30600 NEWLOC=235 X IF(LOC.EQ.235)NEWLOC=190 X BCROSS=BCROSS+1 X KK=BURDEN(0) X IF(KK.LE.4)RETURN X K=MAX0( ((KK+BCROSS)**2)/10, 10) X30605 IF(PCT(K))GOTO 30610 X CALL RSPEAK(318) X RETURN X X30610 CALL RSPEAK(319) X NEWLOC=236 X IF(HOLDNG(LAMP))CALL MOVE(LAMP,236) X IF(TOTING(AXE).AND.ENCLSD(AXE))CALL REMOVE(AXE) X IF(HOLDNG(AXE))CALL MOVE(AXE,208) X DO 30620 OBJ=1,MAXOBJ X30620 IF(TOTING(OBJ))CALL DSTROY(OBJ) X PROP(CHASM2)=1 X RETURN X XC END OF SPECIALS. X X END END_OF_FILE if test 7424 -ne `wc -c <'travl.f'`; then echo shar: \"'travl.f'\" unpacked with wrong size! fi # end of 'travl.f' fi echo shar: End of archive 4 \(of 8\). cp /dev/null ark4isdone MISSING="" for I in 1 2 3 4 5 6 7 8 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 8 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0