From 92dc5cd2491af16d76098118cb05316893738202 Mon Sep 17 00:00:00 2001 From: JeremyHide Date: Fri, 28 Oct 2016 10:12:31 -0400 Subject: [PATCH 1/4] add answer --- sl5924/answers.txt | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sl5924/answers.txt diff --git a/sl5924/answers.txt b/sl5924/answers.txt new file mode 100644 index 0000000..39ba58f --- /dev/null +++ b/sl5924/answers.txt @@ -0,0 +1,74 @@ +1. +change raw_input() to input() + +2. +(1) module; In order to separate concerns, for example, adventure module enable us to interact with the program. Also, it imports load_advent_dat from play.py module and Game from game.py, making the program easier to understand. + +(2) Classes; In different modules, it breaks up the structures into classesFor instance, in prompt.py, it defines various functions and attributes to exhibit different behaviors. + +(3) One class only has one responsibility. As we can see, it uses related function in each class. + +3. +Yes for most cases. +For example, in play.py, the author uses names such as +(a) load_advent_dat which obviously means that the function is going to load data for the adventure.py. +(b) In model.py, is_dark, is_forced, etc. such functions¡¯ names are very easy to be understood. + +For the meaningless names, the author defines start2() and start() which are meaningless since we cannot tell the differences between than before we actually look into the contents of the functions. + +4. +Some of the codes only do one thing: +(1)In game.py line 109, the author defines a function called is_finished(self), if this function returns true, the game will end. +(2) In model.py line 173, the start_at function only deals with the initial dwarf¡¯s position. + +Example that do more than one thing: +In game.py line 130, the function start2() do more than one thing: it calls function write_message, set values for hints , lamp_turns, oldloc2, etc. + +5. +In game.py line 1567, in the resume(self, obj) function, the game.random_generator was called after savefile.close(), it may cause some side effects. + +6. +In game.py from line 464 to line 497, it can be simplifier by define a new function that takes the lamp_turns parameters and returns a value to the do_command + +7. +Yes. +(1) In adventure.py line 42, if the exception EOFError is raised, the loop() will be passed. All invalid inputs will be handled by printing ¡°I DON'T KNOW THAT WORD¡± or ¡°I DON'T UNDERSTAND THAT!¡± +(2) Some inputs such as ¡®!¡¯,¡¯@¡¯,etc. have no outputs + + +8. +Yes, the most obvious mass class is the class Game(Data) in game.py line19, it serves multi-functionalities and should be broken into smaller pieces. + +9. +No, for example, the class Game(Data) too large to be cohesive since there are more than 15 attributes. + +10. +The author usually put the comments to explain the use of each module but some variables are difficult to understand. + + Good Comments: + In model.py + class Hint(object): + """A hint offered if the player loiters in one area too long.""" + + Bad Comments: +(1)In game.py line 25,26 + dwarves_killed = 0 # DKILL + knife_location = None # KNFLOC + +(2)line 1605 + def start_closing_cave(self): #10000 + +11. +In model.py, the class Object(object), the author first put a group of initiating variables together, and then put a blank line to separate the following functions. Moreover, different functions are separated by blank lines. + +12. +All tests passed when I ran them. +Ran 28 tests in 10.814s +OK + +For the F.I.R.S.T criteria: +(1) Fast: The tests are fast, since they take only about 11.314 seconds to do the job. +(2) Independent: They are also independent to each other since they all can be ran isolated. +(3) Repeatable: They are repeatable since they can be ran repeatedly. +(4) self-validating: they are self-validated since we can tell whether the test is passed or not from the terminal which shows OK. +(5) Timely: However, they don¡¯t meet timely criteria since we can see the date of ¡°100% test coverage¡± is 02/15/2011 late than the ¡°first public release¡± which is on 31/01/2011. This means the author very likely writes the tests after the program is completed. \ No newline at end of file From 60e1f84c62aa1f33f69c7e26daefca2139cc85cd Mon Sep 17 00:00:00 2001 From: JeremyHide Date: Fri, 28 Oct 2016 10:27:47 -0400 Subject: [PATCH 2/4] commit changes in adventure --- adventure/advent | Bin 0 -> 49365 bytes adventure/adventure.py | 2 +- adventure/syntax.txt | 63 + adventure/test_commands.py | 28 + adventure/test_data.py | 84 + adventure/test_walks.py | 11 + adventure/vignettes.txt | 1453 ++++++++++++++ adventure/walkthrough1.txt | 3710 ++++++++++++++++++++++++++++++++++++ adventure/walkthrough2.txt | 1345 +++++++++++++ 9 files changed, 6695 insertions(+), 1 deletion(-) create mode 100644 adventure/advent create mode 100644 adventure/syntax.txt create mode 100644 adventure/test_commands.py create mode 100644 adventure/test_data.py create mode 100644 adventure/test_walks.py create mode 100644 adventure/vignettes.txt create mode 100644 adventure/walkthrough1.txt create mode 100644 adventure/walkthrough2.txt diff --git a/adventure/advent b/adventure/advent new file mode 100644 index 0000000000000000000000000000000000000000..3855896b471c231586feee1235db8fa906026e42 GIT binary patch literal 49365 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 ') + line = input('> ') words = re.findall(r'\w+', line) if words: baudout(game.do_command(words)) diff --git a/adventure/syntax.txt b/adventure/syntax.txt new file mode 100644 index 0000000..2e3e8c9 --- /dev/null +++ b/adventure/syntax.txt @@ -0,0 +1,63 @@ +>>> import play +>>> play.play(seed=2) +WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? + +>>> no +YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. +AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND +DOWN A GULLY. + +>>> brief +OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME +YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". + + +This doctest exercises all of the different ways that people try to +invoke Adventure commands from the Python prompt. + +Simple movement can be invoked simply by typing the direction, but some +players will try to call them as functions instead. + +>>> s +YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A +ROCKY BED. + +>>> n() +YOU'RE AT END OF ROAD AGAIN. + + +That pretty much exhausts the possibilities when a word is being used +alone as a command. But when two words are being combined, there are +several different ways that they might be called! + +One word can be used as a function and the second as an argument: + +>>> goto(building) +YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + + +Or, a period can be used to separate the words. Note that nouns and +verbs can be in either order. + +>>> get.keys +OK + +>>> lamp.get +OK + + +Why do we support putting the noun and verb in either order? Because +some users think of verbs as methods supported by the game's nouns, and +will format their commands like method calls: + +>>> food.get() +OK + diff --git a/adventure/test_commands.py b/adventure/test_commands.py new file mode 100644 index 0000000..5ede35c --- /dev/null +++ b/adventure/test_commands.py @@ -0,0 +1,28 @@ +from unittest import TestCase +from play import load_advent_dat +from game import Game + +class CommandTest(TestCase): + + def setUp(self): + game = Game() + load_advent_dat(game) + self.words = set(w.synonyms[0].text for w in game.vocabulary.values()) + self.words.remove('suspend') + + def test_intransitive_commands_should_not_throw_exceptions(self): + for word in self.words: + game = Game() + load_advent_dat(game) + game.start() + game.do_command(['no']) # WOULD YOU LIKE INSTRUCTIONS? + game.do_command([word]) + + def test_transitive_commands_should_not_throw_exceptions(self): + for word in self.words: + game = Game() + load_advent_dat(game) + game.start() + game.do_command(['no']) # WOULD YOU LIKE INSTRUCTIONS? + game.do_command(['enter']) # so we are next to lamp + game.do_command([word, 'lamp']) diff --git a/adventure/test_data.py b/adventure/test_data.py new file mode 100644 index 0000000..586252a --- /dev/null +++ b/adventure/test_data.py @@ -0,0 +1,84 @@ +import unittest + +class DataTest(unittest.TestCase): + + def setUp(self): + from data import Data + from play import load_advent_dat + self.data = Data() + load_advent_dat(self.data) + + def test_long_description(self): + self.assertEqual(self.data.rooms[4].long_description, """\ +YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A +ROCKY BED. +""") + + def test_long_description_expands_tabs(self): + self.assertIn("ALMOST AS IF ALIVE. A COLD WIND BLOWS", + self.data.rooms[15].long_description) + + def test_short_description(self): + self.assertEqual(self.data.rooms[4].short_description, + "YOU'RE IN VALLEY.\n") + + def test_object_message_expands_tabs(self): + self.assertEqual(self.data.objects[24].messages[5], """\ +YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP! IT'S, IT'S... +""") + + def test_hint(self): + hint = self.data.hints[4] + self.assertEqual(hint.turns_needed, 4) + self.assertEqual(hint.penalty, 2) + self.assertEqual(hint.question.text, + "ARE YOU TRYING TO GET INTO THE CAVE?\n") + self.assertEqual(hint.message.text, """\ +THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT +ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND +LOOKING ELSEWHERE FOR THE KEYS. +""") + +class ReprTest(unittest.TestCase): + + def setUp(self): + from data import Data + from play import load_advent_dat + self.data = Data() + load_advent_dat(self.data) + + def assertMove(self, room_i, entry_i, s): + r = repr(self.data.rooms[room_i].travel_table[entry_i]).strip() + self.assertEqual(r, s) + + def test_move_repr_look_good(self): + m = self.assertMove + m(1, 0, '') + m(108, 0, '') + m(61, 2, '') + m(15, 3, '') + m(19, 6, '') + m(17, 2, '') + + def test_move_repr_works_on_all_moves(self): + for room in self.data.rooms.values(): + for i, move in enumerate(room.travel_table): + try: + repr(move) + except: # pragma: no cover + print(room, i) + raise + + def test_room_repr(self): + self.assertRegex(repr(self.data.rooms[64]), '') + + def test_object_repr(self): + self.assertRegex(repr(self.data.objects['chest']), + r'') + + def test_word_repr(self): + self.assertRegex(repr(self.data.vocabulary['eat']), '') diff --git a/adventure/test_walks.py b/adventure/test_walks.py new file mode 100644 index 0000000..887a862 --- /dev/null +++ b/adventure/test_walks.py @@ -0,0 +1,11 @@ +import doctest +import os + +def load_tests(loader, tests, pattern): + if os.path.exists('advent.save'): + os.unlink('advent.save') # to avoid an error during README.txt + tests.addTests(doctest.DocFileSuite('syntax.txt')) + tests.addTests(doctest.DocFileSuite('vignettes.txt')) +# tests.addTests(doctest.DocFileSuite('walkthrough1.txt')) +# tests.addTests(doctest.DocFileSuite('walkthrough2.txt')) + return tests diff --git a/adventure/vignettes.txt b/adventure/vignettes.txt new file mode 100644 index 0000000..64fb128 --- /dev/null +++ b/adventure/vignettes.txt @@ -0,0 +1,1453 @@ +>>> import io +>>> from itertools import cycle, islice + +This file tests the behavior of the Adventure game in all sorts of +specific situations that would be very tedious to arrange in actual +walkthroughs. As the basis for these tests, we will begin by starting a +game, entering the building, and carrying the lamp. + +>>> import play +>>> play.play(seed=3) +WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? + +>>> no +YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. +AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND +DOWN A GULLY. + +>>> brief +OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME +YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". + +>>> enter +YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> on +YOUR LAMP IS NOW ON. + +>>> get(lamp) +OK + +>>> for _room in play._game.rooms.values(): +... _room.times_described = 1 # to avoid long descriptions + +Now we can save this game. + +>>> savefile = io.BytesIO() +>>> save(savefile) +GAME SAVED + + +Now, all of the tests below can begin by calling this restart() function +to place them back at the beginning of the adventure in a known state. +If a room is specified, note that restart() performs two turns in the +room before handing back control: the first when it asks the game to +move the caller into that room, and the second when it calls look(). + +>>> import prompt +>>> def restart(room=None, dwarves=False, objects=(), randoms=None): +... """Restart the whole Adventure game from our stringio file.""" +... +... global game +... savefile.seek(0) +... play.resume(savefile, quiet=True) +... game = play._game +... if room is not None: +... _go_to(room) +... room = game.loc +... if not dwarves: +... game.dwarf_stage = 2 +... del game.dwarves[:] +... for obj in objects: +... if isinstance(obj, prompt.ReprTriggeredPhrase): +... obj = game.referent(game.vocabulary[obj.words[0]]) +... obj.drop(room) +... if randoms is not None: +... game.random = list(randoms).pop + +>>> class go_to(object): +... """Special command that warps us directly to a location.""" +... +... def __init__(self, room): +... self.room = room +... def __repr__(self): +... game.output = '' +... _go_to(self.room) +... return game.output.rstrip('\n') + '\n' + +>>> def _go_to(room): +... game.move_to(game.rooms[room] if isinstance(room, int) else room) + +>>> def quiet(*args): +... """Run one or more commands without printing their result.""" +... +... for arg in args: +... repr(arg) +... return None + +With those definitions complete, we can proceed with the actual tests! + +------------------- +Pirates and dwarves +------------------- + +If the dwarves activate when we are standing in one of their starting +rooms, then does the dwarf at our location get moved successfully to the +gold nuggets room? + +>>> restart(room=41, dwarves=True, randoms=[None, .9, .9, .99]) +>>> [ _dwarf.room.n for _dwarf in game.dwarves ] +[19, 27, 33, 44, 64] +>>> e +A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE +AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. + +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE IS A LITTLE AXE HERE. + +THERE ARE DIAMONDS HERE! + +>>> [ _dwarf.room.n for _dwarf in game.dwarves ] +[19, 18, 33, 44, 64] + +If the pirate encounters us in the plover room or dark room, does he +leave the platinum pyramid since learning how to remove it from the room +is one of the game's puzzles? + +>>> restart(room=100, objects=[pyramid]) +>>> look +YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY +NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! + + +>>> get(pyramid) +OK + +>>> get(emerald) +OK + +>>> game.pirate.room = game.loc +>>> look +OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," +HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME +CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO +THE GLOOM. + +YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY +NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN +PLATINUM PYRAMID + + +If we manage to collect all of the treasures before the pirate spots us, +then when we find him he goes to hide his treasure chest in the maze +without any other treasures to accompany it. + +>>> restart() +>>> for t in game.treasures: +... if t == 'chest': continue +... t.drop(game.loc) +>>> quiet(look) +>>> game.dwarf_stage = 2 +>>> game.loc = game.pirate.room = game.rooms[69] +>>> look +THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. AS YOU +TURN TOWARD THEM, THE BEAM OF YOUR LAMP FALLS ACROSS A BEARDED PIRATE. +HE IS CARRYING A LARGE CHEST. "SHIVER ME TIMBERS!" HE CRIES, "I'VE +BEEN SPOTTED! I'D BEST HIE MESELF OFF TO THE MAZE TO HIDE ME CHEST!" +WITH THAT, HE VANISHES INTO THE GLOOM. + +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> go_to(game.chest_room) +DEAD END + +THE PIRATE'S TREASURE CHEST IS HERE! + + +If several dwarves throw knives that hit us, does a sensible message result? + +>>> restart(room=75, dwarves=True, randoms=(.05,.05,.05,.05,.05,.05)) +>>> game.dwarf_stage = 3 +>>> for _dwarf in game.dwarves: +... _dwarf.room = game.rooms[75] +>>> look +THERE ARE 5 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +5 OF THEM THROW KNIVES AT YOU! + +5 OF THEM GET YOU! + +OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO +HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME +TO TRY TO REINCARNATE YOU? + + +If, when a treasure is found, the game figures out that all remaining +treasures are impossible to acquire - like the jewelry in the south side +chamber of the Hall of the Mountain King, if the bird dies before the +snake is driven away - then the lamp should be reduced to only having 35 +turns left. + +>>> restart() +>>> for t in game.treasures: +... if t == 'jewelry' or t == 'silver': continue +... t.drop(game.loc) +>>> quiet(look) +>>> game.bird.carry() +>>> go_to(119) +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +>>> drop(bird) +THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY +GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. + +>>> game.lamp_turns +326 +>>> go_to(28) +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +THERE ARE BARS OF SILVER HERE! + +>>> game.lamp_turns +35 + +---------------------------------- +Making sure that hints are offered +---------------------------------- + +If you act confused, the game should offer you a hint. Here are quick +(but certainly not thorough!) tests of whether the logic for each hint +allows it to be offered. + +>>> restart(room=8) +>>> quiet(look, look) +>>> look +YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE +DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED +LEADS INTO THE DEPRESSION. + +THE GRATE IS LOCKED. + +ARE YOU TRYING TO GET INTO THE CAVE? + +>>> yes +THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT +ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND +LOOKING ELSEWHERE FOR THE KEYS. + + +>>> restart(room=13, objects=[rod]) +>>> quiet(get(rod), look, look) +>>> get(bird) +THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES +DISTURBED AND YOU CANNOT CATCH IT. + +ARE YOU TRYING TO CATCH THE BIRD? + +>>> no +OK + + +>>> restart(room=19) +>>> quiet(*[ look ] * 6) +>>> look +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +ARE YOU TRYING TO SOMEHOW DEAL WITH THE SNAKE? + + +>>> restart(room=42, objects=[food]) +>>> quiet(get(food), s, n) +>>> quiet(*islice(cycle((w, s, n)), 75 - 5)) +>>> look +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +DO YOU NEED HELP GETTING OUT OF THE MAZE? + +>>> yes +YOU CAN MAKE THE PASSAGES LOOK LESS ALIKE BY DROPPING THINGS. + + +>>> quiet(restart(room=99)) +>>> quiet([ look ] * (25 - 2)) +>>> look +YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT +DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY +TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. + +ARE YOU TRYING TO EXPLORE BEYOND THE PLOVER ROOM? + + +>>> quiet(restart(room=108), [ look ] * (20 - 2)) +>>> look +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +DO YOU NEED HELP GETTING OUT OF HERE? + + +------------------------ +Your lamp is getting dim +------------------------ + +There is an elaborate set of messages generated for the player as their +lamp starts to grow dim. You can, of course, replentish the lamp using +batteries from the vending machine in the maze. + +>>> quiet(restart(room=34)) +>>> game.chest.prop = 1 +>>> quiet([ look ] * (330 - 30 - 3)) +>>> look +YOUR LAMP IS GETTING DIM. YOU'D BEST START WRAPPING THIS UP, UNLESS +YOU CAN FIND SOME FRESH BATTERIES. I SEEM TO RECALL THERE'S A VENDING +MACHINE IN THE MAZE. BRING SOME COINS WITH YOU. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> quiet(go_to(30), get(coins)) +>>> go_to(140) +DEAD END + +THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: +"DROP COINS HERE TO RECEIVE FRESH BATTERIES." + +>>> drop(coins) +THERE ARE FRESH BATTERIES HERE. + +>>> look +YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE +BATTERIES. + +DEAD END + +THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: +"DROP COINS HERE TO RECEIVE FRESH BATTERIES." + +SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. + +>>> game.lamp_turns = 31 +>>> n +YOUR LAMP IS GETTING DIM, AND YOU'RE OUT OF SPARE BATTERIES. YOU'D +BEST START WRAPPING THIS UP. + +YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. + +>>> game.lamp_turns = 1 +>>> n +YOUR LAMP HAS RUN OUT OF POWER. + +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> go_to(5) +YOU'RE IN FOREST. + +>>> w +THERE'S NOT MUCH POINT IN WANDERING AROUND OUT HERE, AND YOU CAN'T +EXPLORE THE CAVE WITHOUT A LAMP. SO LET'S JUST CALL IT A DAY. + + +YOU SCORED 61 OUT OF A POSSIBLE 350 USING 309 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS + + +If the batteries are in the user's inventory when replaced, then the old +ones are tossed on the ground rather than remaining in the inventory. + +>>> restart(room=30) +>>> quiet(get(coins), go_to(140), drop(coins)) +>>> get(batteries) +OK + +>>> game.chest.prop = 1 +>>> game.lamp_turns = 30 +>>> look +YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE +BATTERIES. + +DEAD END + +THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: +"DROP COINS HERE TO RECEIVE FRESH BATTERIES." + +SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. + + +Finally, if you leave the batteries in the maze, you are warned to go +back and get them. + +>>> quiet(restart(room=34), go_to(30), get(coins), go_to(140), drop(coins), n) +>>> game.lamp_turns = 30 +>>> look +YOUR LAMP IS GETTING DIM. YOU'D BEST GO BACK FOR THOSE BATTERIES. + +YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. + + +---------------------------------- +Basic and advanced command parsing +---------------------------------- + +Various complaints are associated with poorly-chosen requests. + +>>> quiet(restart(room=34)) +>>> enter(water) +WHERE? + +>>> quiet(go_to(7)) +>>> enter(water) +YOUR FEET ARE NOW WET. + + +You can try to enter the house with the 'enter' command instead of just +naming the house. + +>>> quiet(restart(room=1)) +>>> enter(house) +YOU'RE INSIDE BUILDING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + + +Both "oil" and "water" can be used as verbs, despite officially being +treated as nouns in the game vocabulary. + +>>> restart(room=94) +>>> look +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +>>> oil(door) +I SEE NO OIL HERE. + +>>> go_to(25) +YOU'RE IN WEST PIT. + +THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." + +>>> water(plant) +I SEE NO WATER HERE. + + +Various combinations of words yield somewhat sensible retorts; and +several nouns invoke small special cases in the code, like "grate" also +being a movement noun. + +>>> restart(room=4, dwarves=True) +>>> look +YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A +ROCKY BED. + + +>>> game.do_command(['eat', 'pray', 'love']) +"I DON'T KNOW THAT WORD.\n\n" + +>>> grate +YOU'RE OUTSIDE GRATE. + +THE GRATE IS LOCKED. + +>>> go_to(12) +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> grate +YOU'RE BELOW THE GRATE. + +THE GRATE IS LOCKED. + + +>>> carry(dwarf) +I SEE NO DWARF HERE. + + +>>> quiet(go_to(3)) +>>> get(water) +OK + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN +SMALL BOTTLE +WATER IN THE BOTTLE + + +>>> get(knife) +I SEE NO KNIFE HERE. + +>>> game.dwarf_stage = 2 +>>> go_to(27) +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE ARE DIAMONDS HERE! + +>>> get(knife) +THE DWARVES' KNIVES VANISH AS THEY STRIKE THE WALLS OF THE CAVE. + +>>> get(knife) +I SEE NO KNIFE HERE. + + +>>> find(jewelry) +I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT AND MANIPULATE +THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS ARE. + + +>>> lamp +WHAT DO YOU WANT TO DO WITH THE LAMP? + + +>>> quiet(restart(randoms=(None, 0.1, None, 0.3, None, 0.9))) +>>> carry(pour) +I DON'T KNOW THAT WORD. + +>>> jump(eat) +I DON'T UNDERSTAND THAT! + +>>> throw(drop) +WHAT? + + +--------------- +Special motions +--------------- + +The "back" movement command has to handle several special cases, in case +the previous location was an intermediate "forced" room, or if it simply +cannot figure out how to return you to the previous location. + +>>> quiet(restart(room=65, randoms=(None, None, 0.001,))) +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> back +SORRY, BUT I NO LONGER SEEM TO REMEMBER HOW IT WAS YOU GOT HERE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + + +While testing "back" on the beanstalk, we also test for whether we can +run a command like "get" on the plant as seen from outside the pits. + +>>> quiet(restart(), get(bottle), go_to(25), pour(water)) +>>> quiet(go_to(113), get(water), go_to(25), pour(water)) +>>> go_to(88) +YOU'RE IN NARROW CORRIDOR. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> back +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU'RE IN NARROW CORRIDOR. + +>>> go_to(23) +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> find(beanstalk) +I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. + +>>> go_to(67) +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + + +>>> go_to(91) +YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> back +YOU CAN'T GET THERE FROM HERE. + +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + + +If the player tries walking back across the troll bridge while still +carrying the bear, then disaster strikes: the bridge breaks beneath +them, and both player and bear wind up dead at the bottom of the pit. +But the game shows a bit of elegance, and refuses to strand the player's +belongings out of reach, either at the pit bottom or where they were +last standing on the far side of the troll bridge - since without the +bridge, the items would be permanently lost! (We also try feeding the +bear a few times, to test some special cases in the feed() logic while +we are at it.) + +>>> quiet(restart(), get(keys), go_to(123)) +>>> game.bear.carry() +>>> game.bear.prop = 2 +>>> game.bear.is_fixed = False +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> drop(bear) +THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND +SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. + +>>> feed(bear) +THERE IS NOTHING HERE TO EAT. + +>>> get(bear) +OK + +>>> sw +JUST AS YOU REACH THE OTHER SIDE, THE BRIDGE BUCKLES BENEATH THE +WEIGHT OF THE BEAR, WHICH WAS STILL FOLLOWING YOU AROUND. YOU +SCRABBLE DESPERATELY FOR SUPPORT, BUT AS THE BRIDGE COLLAPSES YOU +STUMBLE BACK AND FALL INTO THE CHASM. + +OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO +HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME +TO TRY TO REINCARNATE YOU? + +>>> quiet(yes, leave, get(lamp), on) +>>> go_to(117) +YOU'RE ON SW SIDE OF CHASM. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THE WRECKAGE OF A BRIDGE (AND A DEAD BEAR) CAN BE SEEN AT THE BOTTOM +OF THE CHASM. + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> feed(bear) +DON'T BE RIDICULOUS! + + +Several motion words elicit special messages when they do not apply. + +>>> quiet(restart(room=34)) +>>> onward +I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> left +I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> right +I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + + +>>> leave +I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING +IN THE GENERAL DIRECTION YOU WANT TO GO. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> inward +I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING +IN THE GENERAL DIRECTION YOU WANT TO GO. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + + +>>> xyzzy +NOTHING HAPPENS. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> plugh +NOTHING HAPPENS. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + + +>>> crawl +WHICH WAY? + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + + +--------------- +Verb edge cases +--------------- + +And now, we exercise dozens of fiddly edge cases for verbs. + +>>> quiet(restart()) +>>> carry # ambiguous in the face of several objects +CARRY WHAT? + + +>>> quiet(restart(room=25)) +>>> get(plant) +THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE. + + +>>> quiet(restart(), go_to(24)) +>>> get(oil) +YOU HAVE NOTHING IN WHICH TO CARRY IT. + +>>> quiet(go_to(3), get(bottle), go_to(24)) +>>> get(oil) +YOUR BOTTLE IS ALREADY FULL. + +>>> get(bottle) +YOU ARE ALREADY CARRYING IT! + +>>> drop(oil) +YOU AREN'T CARRYING IT! + +>>> drop(water) +OK + +>>> look +YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS +A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. + +THERE IS A BOTTLE OF WATER HERE. + + +>>> restart(room=94, objects=[clam]) +>>> look +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> unlock # two unlockable objects are present +UNLOCK WHAT? + +>>> quiet(s) +>>> unlock # no unlockable objects also cause a problem +THERE IS NOTHING HERE WITH A LOCK! + + +>>> restart(room=103, objects=[trident]) +>>> lock(clam) +WHAT? + +>>> quiet(get(clam), get(trident)) +>>> unlock +I ADVISE YOU TO PUT DOWN THE CLAM BEFORE OPENING IT. >STRAIN!< + +>>> quiet(drop(clam)) +>>> unlock +A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, +THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING +BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. + +>>> unlock +THE OYSTER CREAKS OPEN, REVEALING NOTHING BUT OYSTER INSIDE. IT +PROMPTLY SNAPS SHUT AGAIN. + + +>>> restart(room=94) +>>> look +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +>>> unlock +THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. + + +>>> restart() +>>> unlock(keys) +YOU CAN'T UNLOCK THE KEYS. + +>>> quiet(get(keys), get(food), go_to(10)) +>>> unlock(cage) +IT HAS NO LOCK. + +>>> quiet(go_to(130)) +>>> lock(chain) +IT WAS ALREADY LOCKED. + +>>> unlock(chain) +THERE IS NO WAY TO GET PAST THE BEAR TO UNLOCK THE CHAIN, WHICH IS +PROBABLY JUST AS WELL. + +>>> quiet(throw(food), unlock(chain)) +>>> unlock(chain) +IT WAS ALREADY UNLOCKED. + +>>> quiet(get(chain), w) +>>> lock(chain) +THERE IS NOTHING HERE TO WHICH THE CHAIN CAN BE LOCKED. + +>>> quiet(e) +>>> lock(chain) +THE CHAIN IS NOW LOCKED. + +>>> get(chain) +THE CHAIN IS STILL LOCKED. + +>>> lock(bear) +I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING. + + +>>> restart() +>>> off +YOUR LAMP IS NOW OFF. + +>>> quiet(drop(lamp), leave) +>>> on +YOU HAVE NO SOURCE OF LIGHT. + +>>> off +YOU HAVE NO SOURCE OF LIGHT. + +>>> quiet(enter, get(lamp), on, plugh) +>>> off +YOUR LAMP IS NOW OFF. + +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> quiet(on) +>>> game.lamp_turns = 2 +>>> quiet(look) +>>> look +YOUR LAMP HAS RUN OUT OF POWER. + +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> on +YOUR LAMP HAS RUN OUT OF POWER. + + +>>> restart() +>>> wave(lamp) +NOTHING HAPPENS. + +>>> wave(keys) +YOU AREN'T CARRYING IT! + + +The "attack" verb is a particularly long test, because its intransitive +form works hard to determine - in two stages, focusing first on real +enemies and then on some harmless objects - what on earth you could +possibly be designating as a target. + +>>> restart(dwarves=True) +>>> attack +THERE IS NOTHING HERE TO ATTACK. + +>>> quiet(go_to(117)) +>>> attack +TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS +THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. + +>>> game.dwarf_stage = 2 +>>> game.dwarves[0].room = game.loc +>>> attack # now there are two choices: dwarf and troll +ATTACK WHAT? + +>>> attack(dwarf) +WITH WHAT? YOUR BARE HANDS? + +>>> quiet(go_to(103), get(clam), go_to(13)) +>>> attack # cannot decide between oyster and bird +ATTACK WHAT? + +>>> quiet(w, drop(clam), e) +>>> attack +THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS. + +>>> look # make sure the bird is really gone +YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN +RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT +FROM EAST AND WEST SIDES OF THE CHAMBER. + +>>> quiet(w) +>>> attack +THE SHELL IS VERY STRONG AND IS IMPERVIOUS TO ATTACK. + +>>> quiet(go_to(119)) +>>> attack(dragon) +WITH WHAT? YOUR BARE HANDS? + +>>> quiet(yes) +>>> attack(dragon) +FOR CRYING OUT LOUD, THE POOR THING IS ALREADY DEAD! + + +>>> quiet(restart(), get(bottle)) +>>> pour +YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. + +>>> pour +POUR WHAT? + +>>> quiet(go_to(24), get(oil), go_to(25)) +>>> pour(bottle) +THE PLANT INDIGNANTLY SHAKES THE OIL OFF ITS LEAVES AND ASKS, "WATER?" + +>>> quiet(go_to(24), get(oil)) +>>> pour +YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. + +>>> pour(oil) +YOU AREN'T CARRYING IT! + +>>> pour(lamp) +YOU CAN'T POUR THAT. + + +>>> restart() +>>> eat +THANK YOU, IT WAS DELICIOUS! + +>>> eat +EAT WHAT? + +>>> quiet(go_to(13)) +>>> eat(bird) +I THINK I JUST LOST MY APPETITE. + +>>> quiet(e, e) +>>> eat(rod) +DON'T BE RIDICULOUS! + + +>>> quiet(restart(), get(bottle), leave, w) +>>> drink +THE BOTTLE OF WATER IS NOW EMPTY. + +>>> drink +DRINK WHAT? + +>>> drink(lamp) +DON'T BE RIDICULOUS! + + +>>> quiet(restart()) +>>> rub(lamp) +RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, +NOTHING EXCITING HAPPENS. + +>>> rub(bottle) +I THINK I JUST LOST MY APPETITE. + + +>>> quiet(restart(objects=[axe]), get(axe)) +>>> throw(food) +YOU AREN'T CARRYING IT! + +>>> quiet(get(food), leave) +>>> throw(lamp) +OK + +>>> look +YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. +AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND +DOWN A GULLY. + +THERE IS A LAMP SHINING NEARBY. + +>>> quiet(get(lamp), go_to(130)) +>>> throw(axe) +THE AXE MISSES AND LANDS NEAR THE BEAR WHERE YOU CAN'T GET AT IT. + +>>> get(axe) +YOU CAN'T BE SERIOUS! + +>>> throw(food) +THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM +DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. + +>>> get(axe) +OK + +>>> quiet(leave) +>>> throw(axe) +THERE IS NOTHING HERE TO ATTACK. + + +>>> restart() +>>> quit() +DO YOU REALLY WANT TO QUIT NOW? + +>>> no +OK + +>>> quit() +DO YOU REALLY WANT TO QUIT NOW? + +>>> yes +OK + + +YOU SCORED 61 OUT OF A POSSIBLE 350 USING 7 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS + + +>>> restart() +>>> find(lamp) +YOU ARE ALREADY CARRYING IT! + +>>> find(keys) +I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. + + +>>> quiet(restart(), get(food), get(keys), go_to(130), throw(food), unlock) +>>> get(bear) +OK + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + + +>>> quiet(restart(dwarves=True), go_to(10), get(cage), go_to(13)) +>>> feed(bird) +IT'S NOT HUNGRY (IT'S MERELY PININ' FOR THE FJORDS). BESIDES, YOU +HAVE NO BIRD SEED. + +>>> quiet(get(bird), go_to(117)) +>>> feed(troll) +GLUTTONY IS NOT ONE OF THE TROLL'S VICES. AVARICE, HOWEVER, IS. + +>>> quiet(go_to(119)) +>>> feed(dragon) +THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). + +>>> quiet(kill(dragon), yes) +>>> feed(dragon) +DON'T BE RIDICULOUS! + +>>> quiet(go_to(19)) +>>> feed(snake) +THE SNAKE HAS NOW DEVOURED YOUR BIRD. + +>>> feed(snake) +THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). + +>>> game.dwarf_stage = 2 +>>> quiet(look) +>>> feed(dwarf) +THERE IS NOTHING HERE TO EAT. + +>>> game.food.drop(game.loc) +>>> feed(dwarf) +YOU FOOL, DWARVES EAT ONLY COAL! NOW YOU'VE MADE HIM *REALLY* MAD!! + +>>> quiet(go_to(129), drop(food), e) +>>> feed(bear) +THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). + +>>> feed(chain) +I'M GAME. WOULD YOU CARE TO EXPLAIN HOW? + + +>>> quiet(restart(), get(bottle), drink) +>>> fill +YOUR BOTTLE IS NOW FULL OF WATER. + +>>> fill +YOUR BOTTLE IS ALREADY FULL. + +>>> quiet(drink, plugh) +>>> fill +THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE. + +>>> quiet(drop(bottle), go_to(97)) +>>> fill(vase) +YOU CAN'T FILL THAT. + +>>> quiet(get(vase)) +>>> fill(vase) +THERE IS NOTHING HERE WITH WHICH TO FILL THE VASE. + +>>> quiet(go_to(38)) +>>> fill(vase) +THE SUDDEN CHANGE IN TEMPERATURE HAS DELICATELY SHATTERED THE VASE. + +>>> look +YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH +ENTERS AND EXITS THROUGH TINY SLITS. + +THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. + +>>> get(vase) +YOU CAN'T BE SERIOUS! + +>>> fill(lamp) +YOU CAN'T FILL THAT. + +>>> fill +FILL WHAT? + + +>>> restart() +>>> blast +BLASTING REQUIRES DYNAMITE. + + +>>> restart() +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 57 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> yes +OK + + +YOU SCORED 61 OUT OF A POSSIBLE 350 USING 6 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS + + +>>> quiet(restart(), go_to(92), fee, fie, foe) +>>> foo # does nothing obvious since the eggs are here +OK + +>>> quiet(get(eggs), go_to(117)) +>>> throw(eggs) +THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. + +>>> quiet(fee, fie, foe) +>>> foo +DONE! + +>>> cross # troll does not wait for us to cross! +THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. + +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + + +>>> quiet(restart(), go_to(106)) +>>> read +I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. + +>>> quiet(off) +>>> read(magazine) +I SEE NO MAGAZINE HERE. + +>>> quiet(on, get(magazine), go_to(101)) +>>> read # confused by two choices +READ WHAT? + +>>> read(tablet) +"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" + +>>> quiet(go_to(95), get(trident), go_to(103), unlock(clam), get(oyster)) +>>> read(oyster) +HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO +READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? + +>>> yes +IT SAYS, "THERE IS SOMETHING STRANGE ABOUT THIS PLACE, SUCH THAT ONE +OF THE WORDS I'VE ALWAYS KNOWN NOW HAS A NEW EFFECT." + +>>> read(oyster) +IT SAYS THE SAME THING IT DID BEFORE. + +>>> quiet(go_to(29), get(gold), go_to(112)) +>>> game.pirate.room = game.rooms[112] +>>> look +OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," +HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME +CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO +THE GLOOM. + +YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. + +>>> s +DEAD END + +THERE IS A MESSAGE SCRAWLED IN THE DUST IN A FLOWERY SCRIPT, READING: +"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." + +THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: +"DROP COINS HERE TO RECEIVE FRESH BATTERIES." + +>>> read(message) +"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." + +>>> read(lamp) +I'M AFRAID I DON'T UNDERSTAND. + + +>>> quiet(restart(), go_to(97)) +>>> smash(vase) +YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. + +>>> get(vase) +YOU CAN'T BE SERIOUS! + +>>> quiet(restart(), go_to(97)) +>>> get(vase) # can we also break it while carrying it? +OK + +>>> smash(vase) +YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN + +>>> look +THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE +WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER +PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. + +THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. + +>>> quiet(go_to(109)) +>>> smash(mirror) +IT IS TOO FAR UP FOR YOU TO REACH. + +>>> smash(lamp) +IT IS BEYOND YOUR POWER TO DO THAT. + + +>>> quiet(restart()) +>>> wake(keys) +DON'T BE RIDICULOUS! + + +>>> quiet(restart()) +>>> suspend +PROVIDE "SUSPEND" WITH A FILENAME OR OPEN FILE + + +---------------- +Closing the cave +---------------- + +Finally, there are a few situations we need to test that relate +specifically to the end-game. For example, dying while the cave is +closing causes a very abrupt ending to the game. + +>>> quiet(restart(), drop(lamp), go_to(13)) +>>> game.is_closing = 1 +>>> game.start_closing_cave() +>>> w +YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! + +IT LOOKS AS THOUGH YOU'RE DEAD. WELL, SEEING AS HOW IT'S SO CLOSE TO +CLOSING TIME ANYWAY, I THINK WE'LL JUST CALL IT A DAY. + + +YOU SCORED 78 OUT OF A POSSIBLE 350 USING 7 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 53 MORE POINTS + + +Now we reload our saved game one last time, take it through the ending, +and then save anew so that we can do several tests in the repository. + +>>> quiet(restart(), get(keys), go_to(9)) +>>> game.is_closing = 1 +>>> game.start_closing_cave() +>>> unlock +A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: + "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." + +>>> game.clock2 = 1 +>>> w +THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES +FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE +SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... + +YOU'RE AT NE END. + +>>> quiet(savefile.truncate()) +>>> savefile.seek(0) +0 +>>> save(savefile) +GAME SAVED + + +Most of the interesting end-game events are fatal, but not all. + +>>> quiet(restart(), sw) +>>> get(cage) +OK + +>>> attack(bird) +OH, LEAVE THE POOR UNHAPPY BIRD ALONE. + +>>> drop(bird) +THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY +DRIVES THE SNAKE AWAY. + +THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL +THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW +KNIVES AT YOU! ALL OF THEM GET YOU! + + +YOU SCORED 98 OUT OF A POSSIBLE 350 USING 13 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS + + +>>> quiet(restart()) +>>> attack(dwarf) +THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL +THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW +KNIVES AT YOU! ALL OF THEM GET YOU! + + +YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS + + +>>> quiet(restart(), sw) +>>> get(rod) # grab the rusty-mark rod +OK + +>>> ne # move to where the rusty-star rods lie +YOU'RE AT NE END. + +>>> throw(rod) # will the correct rod get dropped? +OK + +>>> look +YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE +GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" +PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY +YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL +OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED +OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND +A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES +ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO +NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE +WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER +SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. + +A THREE FOOT BLACK ROD WITH A RUSTY MARK ON AN END LIES NEARBY. + + +>>> restart() +>>> find(eggs) +I DARESAY WHATEVER YOU WANT IS AROUND HERE SOMEWHERE. + +>>> sw +YOU'RE AT SW END. + +>>> get(rod) +OK + +>>> blast +THERE IS A LOUD EXPLOSION, AND YOU ARE SUDDENLY SPLASHED ACROSS THE +WALLS OF THE ROOM. + + +YOU SCORED 113 OUT OF A POSSIBLE 350 USING 13 TURNS. + +YOU HAVE ACHIEVED THE RATING: "EXPERIENCED ADVENTURER". + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 88 MORE POINTS + + +>>> restart() +>>> shatter(mirror) +YOU STRIKE THE MIRROR A RESOUNDING BLOW, WHEREUPON IT SHATTERS INTO A +MYRIAD TINY FRAGMENTS. + +THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL +THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW +KNIVES AT YOU! ALL OF THEM GET YOU! + + +YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS + + +>>> restart() +>>> wake(dwarves) +YOU PROD THE NEAREST DWARF, WHO WAKES UP GRUMPILY, TAKES ONE LOOK AT +YOU, CURSES, AND GRABS FOR HIS AXE. + +THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL +THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW +KNIVES AT YOU! ALL OF THEM GET YOU! + + +YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. + +YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS + diff --git a/adventure/walkthrough1.txt b/adventure/walkthrough1.txt new file mode 100644 index 0000000..6913854 --- /dev/null +++ b/adventure/walkthrough1.txt @@ -0,0 +1,3710 @@ +>>> import play +>>> play.play(seed=1) +WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? + +>>> yes +SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN +TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER +SEEN AGAIN. MAGIC IS SAID TO WORK IN THE CAVE. I WILL BE YOUR EYES +AND HANDS. DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS. I SHOULD WARN +YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL +HAVE TO ENTER "NORTHEAST" AS "NE" TO DISTINGUISH IT FROM "NORTH". +(SHOULD YOU GET STUCK, TYPE "HELP" FOR SOME GENERAL HINTS. FOR INFOR- +MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE "INFO".) + - - - +THIS PROGRAM WAS ORIGINALLY DEVELOPED BY WILLIE CROWTHER. MOST OF THE +FEATURES OF THE CURRENT PROGRAM WERE ADDED BY DON WOODS (DON @ SU-AI). +CONTACT DON IF YOU HAVE ANY QUESTIONS, COMMENTS, ETC. + +YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. +AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND +DOWN A GULLY. + +>>> cave +I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM CAN RUN ON +THE SURFACE FOR LONG. I WOULD TRY THE STREAM. + +YOU'RE AT END OF ROAD AGAIN. + +>>> inven() +YOU'RE NOT CARRYING ANYTHING. + +>>> west +YOU HAVE WALKED UP A HILL, STILL IN THE FOREST. THE ROAD SLOPES BACK +DOWN THE OTHER SIDE OF THE HILL. THERE IS A BUILDING IN THE DISTANCE. + +>>> e +YOU'RE AT END OF ROAD AGAIN. + +>>> e +YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> downs +THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER PIPES. +IT WOULD BE ADVISABLE TO USE THE EXIT. + +YOU'RE INSIDE BUILDING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> west +YOU'RE AT END OF ROAD AGAIN. + +>>> s +YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A +ROCKY BED. + +>>> s +AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 2-INCH SLIT +IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK. + +>>> s +YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE +DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED +LEADS INTO THE DEPRESSION. + +THE GRATE IS LOCKED. + +>>> d +YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! + +YOU'RE OUTSIDE GRATE. + +THE GRATE IS LOCKED. + +>>> get(grate) +YOU CAN'T BE SERIOUS! + +>>> enter +YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! + +YOU'RE OUTSIDE GRATE. + +THE GRATE IS LOCKED. + +ARE YOU TRYING TO GET INTO THE CAVE? + +>>> no +OK + +>>> house +YOU'RE AT END OF ROAD AGAIN. + +>>> enter +YOU'RE INSIDE BUILDING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> carry(keys) +OK + +>>> inven +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS + +>>> leave +YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. +AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND +DOWN A GULLY. + +>>> depre +YOU'RE OUTSIDE GRATE. + +THE GRATE IS LOCKED. + +>>> unloc(grate) +THE GRATE IS NOW UNLOCKED. + +>>> d +YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE SURFACE. +A LOW CRAWL OVER COBBLES LEADS INWARD TO THE WEST. + +THE GRATE IS OPEN. + +>>> s +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE BELOW THE GRATE. + +THE GRATE IS OPEN. + +>>> west +YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT +AT THE EAST END OF THE PASSAGE. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +>>> take(cage) +OK + +>>> west +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> west +YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! + +OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO +HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME +TO TRY TO REINCARNATE YOU? + +>>> save +PLEASE ANSWER THE QUESTION. + +>>> yes +ALL RIGHT. BUT DON'T BLAME ME IF SOMETHING GOES WR...... + --- POOF!! --- +YOU ARE ENGULFED IN A CLOUD OF ORANGE SMOKE. COUGHING AND GASPING, +YOU EMERGE FROM THE SMOKE AND FIND.... + +YOU'RE INSIDE BUILDING. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> get(lamp) +OK + +>>> leave +YOU'RE AT END OF ROAD AGAIN. + +>>> depre +YOU'RE OUTSIDE GRATE. + +THE GRATE IS OPEN. + +>>> d +YOU'RE BELOW THE GRATE. + +THE GRATE IS OPEN. + +>>> west +YOU'RE IN COBBLE CRAWL. + +>>> west +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> light(lamp) +YOUR LAMP IS NOW ON. + +YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. +A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS +HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL +SAYS "MAGIC WORD XYZZY". + +A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. + +>>> get(rod) +OK + +>>> up +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +>>> get(keys) +OK + +>>> u +YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN +RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT +FROM EAST AND WEST SIDES OF THE CHAMBER. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> get(bird) +THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES +DISTURBED AND YOU CANNOT CATCH IT. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +BLACK ROD + +>>> drop(rod) +OK + +>>> inven +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN + +>>> get(bird) +YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. + +>>> e +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +>>> get(cage) +OK + +>>> west +YOU'RE IN BIRD CHAMBER. + +A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> get(bird) +OK + +>>> get(rod) +OK + +>>> look +SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE +LONG DESCRIPTION OF YOUR LOCATION. + +YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN +RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT +FROM EAST AND WEST SIDES OF THE CHAMBER. + +>>> west +AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST +PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> west +IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST. + +THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. + +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> look +SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE +LONG DESCRIPTION OF YOUR LOCATION. + +AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST +PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO +THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE +STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST +SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE +STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> w +YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. +THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. + +>>> w +THERE IS NO WAY ACROSS THE FISSURE. + +YOU'RE ON EAST BANK OF FISSURE. + +>>> e +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> n +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +>>> s +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +>>> up +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> down +YOU'RE IN HALL OF MT KING + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +>>> kill(snake) +ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS. + +>>> drop(cage) +OK + +>>> look +SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE +LONG DESCRIPTION OF YOUR LOCATION. + +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +THERE IS A LITTLE BIRD IN THE CAGE. + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +>>> get(bird) +OK + +>>> look +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +>>> inven +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +WICKER CAGE +BLACK ROD +LITTLE BIRD IN CAGE + +>>> drop(bird) +THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY +DRIVES THE SNAKE AWAY. + +>>> look +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 42 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> s +A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE +AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. + +YOU ARE IN THE SOUTH SIDE CHAMBER. + +THERE IS A LITTLE AXE HERE. + +THERE IS PRECIOUS JEWELRY HERE! + +>>> get(axe) +OK + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 44 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> get(jewelry) +OK + +>>> n +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> w +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. +A PASSAGE CONTINUES WEST AND UP HERE. + +THERE ARE MANY COINS HERE! + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 46 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> get(coins) +OK + +>>> w +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. + +>>> n +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +DEAD END + +>>> s +A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +DEAD END + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY +BLACK SMOKE. + +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> s +YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. + +>>> w +YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE +CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A +ROUND TWO FOOT HOLE SLANTS DOWN. + +>>> w +YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. THE HALL +JOINS UP WITH A NARROW NORTH/SOUTH PASSAGE. + +>>> n +YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. + +>>> n +DEAD END + +>>> back +YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. + +>>> w +YOU'RE AT EAST END OF LONG HALL. + +>>> e +YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES +WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET +OFF THE FLOOR. + +>>> e +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE ARE DIAMONDS HERE! + +>>> get(diamonds) +YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +WICKER CAGE +BLACK ROD +DWARF'S AXE +PRECIOUS JEWELRY +RARE COINS + +>>> drop(cage) +OK + +>>> get(diamonds) +OK + +>>> n +YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH +OF THE HALL OF MISTS. + +YOU'RE AT WEST END OF HALL OF MISTS. + +>>> w +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +YOU'RE AT EAST END OF LONG HALL. + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +YOU'RE AT EAST END OF LONG HALL. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +YOU'RE AT EAST END OF LONG HALL. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE +CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A +ROUND TWO FOOT HOLE SLANTS DOWN. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +YOU'RE AT EAST END OF LONG HALL. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. + +2 OF THEM THROW KNIVES AT YOU! + +NONE OF THEM HIT YOU! + +YOU'RE AT EAST END OF LONG HALL. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. + +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU'RE AT EAST END OF LONG HALL. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU'RE AT EAST END OF LONG HALL. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE +CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A +ROUND TWO FOOT HOLE SLANTS DOWN. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> throw(axe) +YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. + +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT GETS YOU! + +YOU CLUMSY OAF, YOU'VE DONE IT AGAIN! I DON'T KNOW HOW LONG I CAN +KEEP THIS UP. DO YOU WANT ME TO TRY REINCARNATING YOU AGAIN? + +>>> get(axe) +PLEASE ANSWER THE QUESTION. + +>>> yes +OKAY, NOW WHERE DID I PUT MY ORANGE SMOKE?.... >POOF!< +EVERYTHING DISAPPEARS IN A DENSE CLOUD OF ORANGE SMOKE. + +YOU'RE INSIDE BUILDING. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> leave +YOU'RE AT END OF ROAD AGAIN. + +THERE IS A SHINY BRASS LAMP NEARBY. + +>>> get(lamp) +OK + +>>> enter +YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> xyzzy +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + + +>>> import io +>>> savefile = io.BytesIO() +>>> save(savefile) +GAME SAVED + + +>>> w +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> w +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> w +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> w +THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. + +YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! + +NOW YOU'VE REALLY DONE IT! I'M OUT OF ORANGE SMOKE! YOU DON'T EXPECT +ME TO DO A DECENT REINCARNATION WITHOUT ANY ORANGE SMOKE, DO YOU? + +>>> no +OK + + +YOU SCORED 32 OUT OF A POSSIBLE 350 USING 132 TURNS. + +YOU ARE OBVIOUSLY A RANK AMATEUR. BETTER LUCK NEXT TIME. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 69 MORE POINTS + +>>> w +YOU HAVE GOTTEN YOURSELF KILLED. + + +>>> savefile.seek(0) +0 +>>> adventure.resume(savefile) +GAME RESTORED + + +>>> on(lamp) +YOUR LAMP IS NOW ON. + +YOU'RE IN DEBRIS ROOM. + +>>> w +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> w +YOU'RE IN BIRD CHAMBER. + +>>> w +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> d +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> w +YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. +A PASSAGE CONTINUES WEST AND UP HERE. + +>>> w +YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. + +>>> w +YOU'RE AT EAST END OF LONG HALL. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. + +THERE IS A LITTLE AXE HERE. + +THERE ARE DIAMONDS HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +>>> get(axe) +OK + +>>> get(keys) +OK + +>>> get(rod) +OK + +>>> get(diamonds) +OK + +>>> get(jewel) +OK + +>>> get(coins) +OK + +>>> e +YOU'RE AT WEST END OF HALL OF MISTS. + +>>> e +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +>>> jump +I DON'T KNOW HOW TO APPLY THAT WORD HERE. + +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +>>> swing(rod) +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> look +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> jump +I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING. + +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> over +YOU'RE ON EAST BANK OF FISSURE. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> e +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> s +THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, +"YOU WON'T GET IT UP THE STEPS". + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +>>> get(gold) +YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. + +>>> drop(rod) +OK + +>>> get(gold) +OK + +>>> n +YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO +THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE +STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST +SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE +STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. + +>>> u +THE DOME IS UNCLIMBABLE. + +YOU'RE IN HALL OF MISTS. + +>>> drop(gold) +OK + +>>> u +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> e +YOU'RE IN BIRD CHAMBER. + +>>> e +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> e +YOU'RE IN DEBRIS ROOM. + +>>> xyzzy +YOU'RE INSIDE BUILDING. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 40 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +DWARF'S AXE +SEVERAL DIAMONDS +PRECIOUS JEWELRY +RARE COINS + +>>> drop(diamonds) +OK + +>>> drop(jewelry) +OK + +>>> drop(coins) +OK + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 70 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> xyzzy +YOU'RE IN DEBRIS ROOM. + +>>> w +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> w +YOU'RE IN BIRD CHAMBER. + +>>> w +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +>>> get(gold) +OK + +>>> n +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +THERE ARE BARS OF SILVER HERE! + +>>> get(silver) +OK + +>>> n +YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE +WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON +A ROCK IN THE ROOM'S CENTER. + +>>> w +YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF +SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF +WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE RIGHT. +MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT +SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND +25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A +SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. + +THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. + +>>> wave +WAVE WHAT? + +>>> e +YOU'RE AT "Y2". + +>>> e +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> e +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> d +YOU'RE AT "Y2". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> s +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> nw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> ne +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> se +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> sw +YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A +VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE +TO GET BACK UP. + +>>> w +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! + +>>> w +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! + +>>> e +YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. + +>>> e +OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," +HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME +CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO +THE GLOOM. + +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +DWARF'S AXE + +>>> get(bird) +YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. + +>>> u +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> w +YOU'RE ON EAST BANK OF FISSURE. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> w +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> get(cage) +OK + +>>> e +YOU'RE ON EAST BANK OF FISSURE. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> e +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> d +YOU'RE IN HALL OF MT KING + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> get(bird) +OK + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +>>> sw +YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. + +>>> w +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! + +>>> drop(bird) +THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY +GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. + +>>> n +THE DRAGON LOOKS RATHER NASTY. YOU'D BEST NOT TRY TO GET BY. + +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! + +>>> kill(dragon) +WITH WHAT? YOUR BARE HANDS? + +>>> throw(axe) +THE AXE BOUNCES HARMLESSLY OFF THE DRAGON'S THICK SCALES. + +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +THERE IS A LITTLE AXE HERE. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! + +>>> yes +I DON'T KNOW THAT WORD. + +>>> kill(dragon) +WITH WHAT? YOUR BARE HANDS? + +>>> yes +CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE +HANDS! (UNBELIEVABLE, ISN'T IT?) + +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +THERE IS A LITTLE AXE HERE. + +THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> get(axe) +OK + +>>> get(dragon) +YOU CAN'T BE SERIOUS! + +>>> get(rug) +OK + +>>> n +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> n +YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS +COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND +UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR +ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND +MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED +FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A +SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. + +>>> n +YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD +OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS +FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET +OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE +MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. + +>>> s +YOU'RE IN MIRROR CANYON. + +>>> s +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> s +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. + +>>> e +YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. + +>>> e +YOU'RE IN HALL OF MT KING + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +YOU'RE AT "Y2". + +>>> w +YOU'RE AT WINDOW ON PIT. + +THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. + +>>> e +YOU'RE AT "Y2". + +A HOLLOW VOICE SAYS "PLUGH". + +>>> plugh +YOU'RE INSIDE BUILDING. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +THERE ARE DIAMONDS HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +WICKER CAGE +DWARF'S AXE +PERSIAN RUG + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 74 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> n +OK + +>>> drop(persian) +OK + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 88 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> n +OK + +>>> plugh +YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE +WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON +A ROCK IN THE ROOM'S CENTER. + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> d +YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE +WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. + +>>> e +YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS +WEST. + +>>> d +YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH +ENTERS AND EXITS THROUGH TINY SLITS. + +>>> u +YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS +WEST. + +>>> w +YOU'RE IN DIRTY PASSAGE. + +>>> w +YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN +THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. + +>>> d +YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE +NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE +GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. + +>>> n +YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND +WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A +SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS +UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. + +THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> u +YOU ARE IN AN ARCHED HALL. A CORAL PASSAGE ONCE CONTINUED UP AND EAST +FROM HERE, BUT IS NOW BLOCKED BY DEBRIS. THE AIR SMELLS OF SEA WATER. + +>>> d +YOU'RE IN SHELL ROOM. + +THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> d +YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. + +>>> d +YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. + +>>> u +YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. + +>>> u +YOU'RE IN SHELL ROOM. + +THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> get(clam) +OK + +>>> s +YOU CAN'T FIT THIS FIVE-FOOT CLAM THROUGH THAT LITTLE PASSAGE! + +YOU'RE IN SHELL ROOM. + +>>> drop(clam) +OK + +>>> unlock(clam) +YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE CLAM. + +>>> s +YOU'RE AT COMPLEX JUNCTION. + +>>> e +YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL +PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. +A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. +PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> e +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +>>> w +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY +BLOCKED BY A RECENT CAVE-IN. YOU ARE NOW BACK IN THE MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> s +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> se +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +>>> nw +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> d +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> s +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> se +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> nw +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> d +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> s +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> se +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +DO YOU NEED HELP GETTING OUT OF HERE? + +>>> yes +DON'T GO WEST. + +>>> nw +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> d +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +>>> s +YOU'RE IN ANTEROOM. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> w +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> w +YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES +GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE +BEDROCK BLOCK. + +>>> w +YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS +LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. +THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST +AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE +WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. + +>>> d +YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS +A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. + +>>> u +YOU'RE AT EAST END OF TWOPIT ROOM. + +>>> w +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN +THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. + +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> down +YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS +A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. + +THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." + +>>> u +YOU'RE AT WEST END OF TWOPIT ROOM. + +>>> w +YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB +FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE +LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL +PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST +AROUND THE BOULDERS. + +>>> n +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> n +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> n +DEAD END CRAWL. + +>>> s +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> sw +YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH +DIRECTIONS. + +>>> u +YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING +UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY +FROM THE CHASM INTO A WINDING CORRIDOR. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> sw +YOU'RE IN SLOPING CORRIDOR. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> se +THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE +WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER +PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +>>> get(vase) +OK + +>>> n +YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. +FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE +HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH +EXITS TO THE SOUTH AND WEST. + +>>> w +YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT +DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY +TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. + +>>> e +SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. +YOU'D BEST TAKE INVENTORY AND DROP SOMETHING. + +OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," +HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME +CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO +THE GLOOM. + +YOU'RE IN ALCOVE. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +WICKER CAGE +DWARF'S AXE + +>>> drop(keys) +OK + +>>> drop(lantern) +OK + +>>> drop(cage) +OK + +>>> drop(axe) +OK + +>>> e +YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY +NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +>>> get(emerald) +OK + +>>> ne +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> s +YOU'RE IN PLOVER ROOM. + +>>> plover +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> drop(emerald) +I SEE NO EMERALD HERE. + +>>> plover +YOU'RE IN PLOVER ROOM. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +>>> get(emerald) +OK + +>>> w +YOU'RE IN ALCOVE. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A LAMP SHINING NEARBY. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +THERE IS A LITTLE AXE HERE. + +>>> get(keys) +OK + +>>> get(lamp) +OK + +>>> get(axe) +OK + +>>> nw +YOU'RE IN MISTY CAVERN. + +>>> s +YOU'RE IN ORIENTAL ROOM. + +>>> se +YOU'RE IN SWISS CHEESE ROOM. + +>>> e +YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, +THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. + +A SMALL VELVET PILLOW LIES ON THE FLOOR. + +>>> get(pillow) +OK + +>>> w +YOU'RE IN SWISS CHEESE ROOM. + +>>> ne +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> u +YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. + +>>> n +YOU ARE IN A SECRET CANYON AT A JUNCTION OF THREE CANYONS, BEARING +NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL AS THE OTHER TWO +COMBINED. + +>>> n +YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF +SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF +WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE LEFT. +MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT +SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND +25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A +SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. + +THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. + +>>> w +YOU'RE AT JUNCTION OF THREE SECRET CANYONS. + +>>> s +YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. + +>>> s +A LARGE STALACTITE EXTENDS FROM THE ROOF AND ALMOST REACHES THE FLOOR +BELOW. YOU COULD CLIMB DOWN IT, AND JUMP FROM IT TO THE FLOOR, BUT +HAVING DONE SO YOU WOULD BE UNABLE TO REACH IT TO CLIMB BACK UP. + +>>> d +OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," +HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME +CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO +THE GLOOM. + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> w +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> n +THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN +DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK +UP. THE MAZE CONTINUES AT THIS LEVEL. + +>>> e +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> nw +DEAD END + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE BARS OF SILVER HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +>>> drop(axe) +OK + +>>> drop(keys) +OK + +>>> get(chest) +OK + +>>> get(gold) +OK + +>>> get(silver) +OK + +>>> get(vase) +OK + +>>> get(emerald) +OK + +>>> look +DEAD END + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A LITTLE AXE HERE. + +>>> se +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> n +YOU'RE AT BRINK OF PIT. + +>>> d +YOU'RE IN BIRD CHAMBER. + +>>> e +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> e +YOU'RE IN DEBRIS ROOM. + +>>> xyzzy +YOU'RE INSIDE BUILDING. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +THERE ARE DIAMONDS HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> drop(chest) +OK + +>>> drop(gold) +OK + +>>> drop(silver) +OK + +>>> drop(vase) +THE MING VASE DROPS WITH A DELICATE CRASH. + +>>> drop(emerald) +OK + +>>> drop(pillow) +OK + +>>> look +YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. + +A SMALL VELVET PILLOW LIES ON THE FLOOR. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE ARE BARS OF SILVER HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 137 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN + +>>> get(bottle) +OK + +>>> plugh +YOU'RE AT "Y2". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> d +YOU'RE IN DIRTY PASSAGE. + +>>> w +YOU'RE IN DUSTY ROCK ROOM. + +>>> d +YOU'RE AT COMPLEX JUNCTION. + +>>> w +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> w +YOU'RE IN SWISS CHEESE ROOM. + +>>> w +YOU'RE AT EAST END OF TWOPIT ROOM. + +>>> w +YOU'RE AT WEST END OF TWOPIT ROOM. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." + +>>> say(water) +OKAY, "WATER". + +>>> pour(water) +THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. + +YOU'RE IN WEST PIT. + +THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, +BELLOWING "WATER!! WATER!!" + +>>> climb +YOU HAVE CLIMBED UP THE PLANT AND OUT OF THE PIT. + +YOU'RE AT WEST END OF TWOPIT ROOM. + +THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. + +>>> w +YOU'RE IN SLAB ROOM. + +>>> u +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> n +YOU'RE IN MIRROR CANYON. + +>>> n +YOU'RE AT RESERVOIR. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN +SMALL BOTTLE + +>>> get(water) +YOUR BOTTLE IS NOW FULL OF WATER. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN +SMALL BOTTLE +WATER IN THE BOTTLE + +>>> s +YOU'RE IN MIRROR CANYON. + +>>> s +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> d +YOU'RE IN SLAB ROOM. + +>>> s +YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN +THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. + +THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, +BELLOWING "WATER!! WATER!!" + +>>> pour(water) +THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. + +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> climb +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE +WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A +PROFUSION OF LEAVES. + +>>> w +YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR +LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON +THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. + +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +>>> get(nest) +OK + +>>> e +THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. + +>>> w +THERE IS NO WAY TO GO THAT DIRECTION. + +THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. + +>>> n +THERE IS NO WAY TO GO THAT DIRECTION. + +THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. + +>>> s +YOU'RE IN GIANT ROOM. + +>>> n +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +>>> n +THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. + +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +>>> s +YOU'RE IN GIANT ROOM. + +>>> s +YOU'RE IN NARROW CORRIDOR. + +>>> d +YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS +A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> u +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> e +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU'RE IN EAST PIT. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN +SMALL BOTTLE +GOLDEN EGGS + +>>> get(oil) +YOUR BOTTLE IS NOW FULL OF OIL. + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +BRASS LANTERN +SMALL BOTTLE +OIL IN THE BOTTLE +GOLDEN EGGS + +>>> climb +I DON'T KNOW HOW TO APPLY THAT WORD HERE. + +YOU'RE IN EAST PIT. + +>>> u +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> climb +I DON'T KNOW HOW TO APPLY THAT WORD HERE. + +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> climb +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU'RE IN NARROW CORRIDOR. + +>>> fee +OK + +>>> fie +OK + +>>> foe +OK + +>>> fum +WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. + +>>> foo +WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. + +>>> fee +OK + +>>> fie +OK + +>>> foe +OK + +>>> foo +THE NEST OF GOLDEN EGGS HAS VANISHED! + +>>> w +YOU'RE IN GIANT ROOM. + +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +>>> get +OK + +>>> n +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +>>> pour +THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, +ALTHOUGH IT REQUIRES SOME EFFORT. + +>>> look +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. + +>>> unlock +OK + +>>> look +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. + +>>> n +YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES +OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS +THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. + +THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! + +>>> drink +YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF +MINERALS, BUT IS NOT UNPLEASANT. IT IS EXTREMELY COLD. + +>>> get(trident) +OK + +>>> w +YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD +CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A +PASSAGE LEADING BACK TO THE NORTH. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> sw +YOU'RE IN SLOPING CORRIDOR. + +>>> u +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> cross +THE TROLL REFUSES TO LET YOU CROSS. + +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> hit(troll) +TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS +THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. + +>>> throw(eggs) +THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. + +>>> look +YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING +UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY +FROM THE CHASM INTO A WINDING CORRIDOR. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> cross +YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE +CHASM ON THIS SIDE. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> cross +THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. + +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> ne +YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE +HEARD IN THE DISTANCE. + +>>> e +THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING +SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST +DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. + +>>> se +YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH +ODDLY SHAPED LIMESTONE FORMATIONS. + +>>> s +YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN +POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" + +>>> enter +YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY +EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE +FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. + +THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! + +THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! + +>>> get(chain) +THE CHAIN IS STILL LOCKED. + +>>> unlock +YOU HAVE NO KEYS! + +>>> kill(bear) +WITH WHAT? YOUR BARE HANDS? AGAINST *HIS* BEAR HANDS?? + +>>> yes +I DON'T KNOW THAT WORD. + +>>> get(bear) +YOU CAN'T BE SERIOUS! + +>>> leave +YOU'RE IN FRONT OF BARREN ROOM. + +>>> w +YOU'RE IN LIMESTONE PASSAGE. + +>>> n +YOU'RE AT FORK IN PATH. + +>>> ne +THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY +ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER +PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. + +>>> e +YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE +VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE +HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING +A LOW RUMBLING. + +THERE ARE RARE SPICES HERE! + +>>> get(spices) +OK + +>>> w +YOU'RE AT JUNCTION WITH WARM WALLS. + +>>> n +YOU ARE ON THE EDGE OF A BREATH-TAKING VIEW. FAR BELOW YOU IS AN +ACTIVE VOLCANO, FROM WHICH GREAT GOUTS OF MOLTEN LAVA COME SURGING +OUT, CASCADING BACK DOWN INTO THE DEPTHS. THE GLOWING ROCK FILLS THE +FARTHEST REACHES OF THE CAVERN WITH A BLOOD-RED GLARE, GIVING EVERY- +THING AN EERIE, MACABRE APPEARANCE. THE AIR IS FILLED WITH FLICKERING +SPARKS OF ASH AND A HEAVY SMELL OF BRIMSTONE. THE WALLS ARE HOT TO +THE TOUCH, AND THE THUNDERING OF THE VOLCANO DROWNS OUT ALL OTHER +SOUNDS. EMBEDDED IN THE JAGGED ROOF FAR OVERHEAD ARE MYRIAD TWISTED +FORMATIONS COMPOSED OF PURE WHITE ALABASTER, WHICH SCATTER THE MURKY +LIGHT INTO SINISTER APPARITIONS UPON THE WALLS. TO ONE SIDE IS A DEEP +GORGE, FILLED WITH A BIZARRE CHAOS OF TORTURED ROCK WHICH SEEMS TO +HAVE BEEN CRAFTED BY THE DEVIL HIMSELF. AN IMMENSE RIVER OF FIRE +CRASHES OUT FROM THE DEPTHS OF THE VOLCANO, BURNS ITS WAY THROUGH THE +GORGE, AND PLUMMETS INTO A BOTTOMLESS PIT FAR OFF TO YOUR LEFT. TO +THE RIGHT, AN IMMENSE GEYSER OF BLISTERING STEAM ERUPTS CONTINUOUSLY +FROM A BARREN ISLAND IN THE CENTER OF A SULFUROUS LAKE, WHICH BUBBLES +OMINOUSLY. THE FAR RIGHT WALL IS AFLAME WITH AN INCANDESCENCE OF ITS +OWN, WHICH LENDS AN ADDITIONAL INFERNAL SPLENDOR TO THE ALREADY +HELLISH SCENE. A DARK, FOREBODING PASSAGE EXITS TO THE SOUTH. + +>>> s +YOU'RE AT JUNCTION WITH WARM WALLS. + +>>> s +YOU'RE AT FORK IN PATH. + +>>> w +YOU'RE IN CORRIDOR. + +>>> w +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> throw(spices) +THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. + +>>> cross +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> sw +YOU'RE IN SLOPING CORRIDOR. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> se +YOU'RE IN ORIENTAL ROOM. + +>>> se +YOU'RE IN SWISS CHEESE ROOM. + +>>> ne +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> e +YOU'RE AT COMPLEX JUNCTION. + +>>> n +YOU'RE IN SHELL ROOM. + +THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> unlock(clam) +A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, +THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING +BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. + +>>> d +YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. + +>>> d +YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. + +OFF TO ONE SIDE LIES A GLISTENING PEARL! + +>>> get(pearl) +OK + +>>> u +YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. + +>>> u +YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND +WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A +SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS +UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. + +THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> s +YOU'RE AT COMPLEX JUNCTION. + +>>> u +YOU'RE IN DUSTY ROCK ROOM. + +>>> e +YOU'RE IN DIRTY PASSAGE. + +>>> u +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +YOU'RE AT "Y2". + +A HOLLOW VOICE SAYS "PLUGH". + +>>> plugh +YOU'RE INSIDE BUILDING. + +A SMALL VELVET PILLOW LIES ON THE FLOOR. + +THERE IS FOOD HERE. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE ARE BARS OF SILVER HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> drop(trident) +OK + +>>> drop(pearl) +OK + +>>> get(food) +OK + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 175 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> xyzzy +YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. +A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS +HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL +SAYS "MAGIC WORD XYZZY". + +>>> w +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> w +YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN +RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT +FROM EAST AND WEST SIDES OF THE CHAMBER. + +>>> w +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO +THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE +STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST +SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE +STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> w +YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. +THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> w +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> w +YOU'RE AT WEST END OF HALL OF MISTS. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> n +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU'RE AT BRINK OF PIT. + +>>> n +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> nw +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +DEAD END + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A LITTLE AXE HERE. + +>>> get(keys) +OK + +>>> get(axe) +OK + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. + +DEAD END + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> se +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> w +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU'RE AT BRINK OF PIT. + +>>> d +YOU'RE IN BIRD CHAMBER. + +>>> w +AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST +PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> d +YOU'RE IN HALL OF MT KING + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> d +YOU'RE IN DIRTY PASSAGE. + +>>> w +YOU'RE IN DUSTY ROCK ROOM. + +>>> d +YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE +NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE +GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. + +>>> w +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> w +YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES +GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE +BEDROCK BLOCK. + +>>> w +YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS +LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. +THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST +AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE +WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> climb +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU'RE IN NARROW CORRIDOR. + +>>> w +YOU'RE IN GIANT ROOM. + +>>> fee +OK + +>>> fie +OK + +>>> foe +OK + +>>> foo +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +>>> get(eggs) +OK + +>>> n +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. + +>>> n +YOU'RE IN CAVERN WITH WATERFALL. + +>>> w +YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> sw +YOU'RE IN SLOPING CORRIDOR. + +>>> u +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> cross +THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. + +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> throw(axe) +THE TROLL DEFTLY CATCHES THE AXE, EXAMINES IT CAREFULLY, AND TOSSES IT +BACK, DECLARING, "GOOD WORKMANSHIP, BUT IT'S NOT VALUABLE ENOUGH." + +YOU'RE ON SW SIDE OF CHASM. + +THERE IS A LITTLE AXE HERE. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> get(axe) +OK + +>>> throw(eggs) +THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. + +>>> cross +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> ne +YOU'RE IN CORRIDOR. + +>>> e +YOU'RE AT FORK IN PATH. + +>>> se +YOU'RE IN LIMESTONE PASSAGE. + +>>> s +YOU'RE IN FRONT OF BARREN ROOM. + +>>> enter +YOU'RE IN BARREN ROOM. + +THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! + +THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! + +>>> throw(food) +THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM +DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. + +>>> get(bear) +THE BEAR IS STILL CHAINED TO THE WALL. + +>>> get(chain) +THE CHAIN IS STILL LOCKED. + +>>> unlock(chain) +THE CHAIN IS NOW UNLOCKED. + +>>> get(chain) +OK + +>>> get(bear) +OK + +>>> look +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY +EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE +FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. + +>>> leave +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE IN FRONT OF BARREN ROOM. + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE IN LIMESTONE PASSAGE. + +>>> n +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE AT FORK IN PATH. + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE IN CORRIDOR. + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> cross +THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. + +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE +CHASM ON THIS SIDE. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> drop(bear) +THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND +SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. + +>>> cross +YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING +UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY +FROM THE CHASM INTO A WINDING CORRIDOR. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> sw +YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH +DIRECTIONS. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> se +YOU'RE IN ORIENTAL ROOM. + +>>> se +YOU'RE IN SWISS CHEESE ROOM. + +>>> w +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN +THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> climb +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU'RE IN NARROW CORRIDOR. + +>>> w +YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR +LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON +THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. + +>>> fee +OK + +>>> fie +OK + +>>> foe +OK + +>>> foo +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +>>> get(eggs) +OK + +>>> s +YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE +WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A +PROFUSION OF LEAVES. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> u +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU'RE IN SLAB ROOM. + +>>> u +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> s +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. + +>>> e +YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. + +>>> e +YOU'RE IN HALL OF MT KING + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +YOU'RE AT "Y2". + +A HOLLOW VOICE SAYS "PLUGH". + +>>> say(plugh) +YOU'RE INSIDE BUILDING. + +A SMALL VELVET PILLOW LIES ON THE FLOOR. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE ARE BARS OF SILVER HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! + +THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +OFF TO ONE SIDE LIES A GLISTENING PEARL! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +SET OF KEYS +BRASS LANTERN +SMALL BOTTLE +DWARF'S AXE +GOLDEN EGGS +GOLDEN CHAIN + +>>> drop(eggs) +OK + +>>> drop(chain) +OK + +>>> plugh +YOU'RE AT "Y2". + +>>> plover +YOU'RE IN PLOVER ROOM. + +>>> ne +YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. + +A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: +"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" + +THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! + +>>> get(pyramid) +OK + +>>> s +YOU'RE IN PLOVER ROOM. + +>>> plover +YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE +WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON +A ROCK IN THE ROOM'S CENTER. + +>>> plugh +YOU'RE INSIDE BUILDING. + +A SMALL VELVET PILLOW LIES ON THE FLOOR. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE ARE BARS OF SILVER HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! + +THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +OFF TO ONE SIDE LIES A GLISTENING PEARL! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! + +>>> drop(pyramid) +OK + +>>> score +IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 219 OUT OF A POSSIBLE 350. + +DO YOU INDEED WISH TO QUIT NOW? + +>>> no +OK + +>>> plugh +YOU'RE AT "Y2". + +>>> e +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> u +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> w +YOU'RE ON EAST BANK OF FISSURE. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> w +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> n +YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH +OF THE HALL OF MISTS. + +YOU'RE AT WEST END OF HALL OF MISTS. + +>>> w +YOU'RE AT EAST END OF LONG HALL. + +>>> w +YOU'RE AT WEST END OF LONG HALL. + +>>> n +YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. + +>>> e +YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. +A PASSAGE CONTINUES WEST AND UP HERE. + +>>> e +YOU'RE IN HALL OF MT KING + +>>> sw +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +>>> sw +YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A +VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE +TO GET BACK UP. + +>>> d +YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. + +>>> u +THERE IS NO WAY TO GO THAT DIRECTION. + +YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. + +>>> s +THE CANYON HERE BECOMES TOO TIGHT TO GO FURTHER SOUTH. + +>>> n +YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. + +>>> n +YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND +SEEMS TO OPEN UP. + +>>> w +THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. + +>>> e +THERE IS NO WAY TO GO THAT DIRECTION. + +THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. + +>>> n +THERE IS NO WAY TO GO THAT DIRECTION. + +THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. + +>>> s +YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND +SEEMS TO OPEN UP. + +>>> n +YOU'RE IN SWISS CHEESE ROOM. + +>>> ne +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> e +YOU'RE AT COMPLEX JUNCTION. + +>>> e +YOU'RE IN ANTEROOM. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> read(magazine) +I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. + +>>> u +YOU'RE AT COMPLEX JUNCTION. + +>>> u +A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING +SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." + +YOU'RE IN DUSTY ROCK ROOM. + +>>> e +YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE +WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. + +>>> u +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +YOU'RE AT "Y2". + +>>> plugh +A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: + "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." + +YOU'RE AT "Y2". + +>>> e +YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. + +>>> u +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> u +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> e +YOU'RE IN BIRD CHAMBER. + +>>> e +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> e +YOU'RE IN DEBRIS ROOM. + +>>> xyzzy +A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: + "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." + +YOU'RE IN DEBRIS ROOM. + +>>> e +YOU'RE IN COBBLE CRAWL. + +>>> e +YOU'RE BELOW THE GRATE. + +THE GRATE IS LOCKED. + +>>> unlock +A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: + "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." + +>>> w +YOU'RE IN COBBLE CRAWL. + +>>> w +YOU'RE IN DEBRIS ROOM. + +>>> w +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> w +YOU'RE IN BIRD CHAMBER. + +>>> w +THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES +FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE +SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... + +YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE +GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" +PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY +YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL +OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED +OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND +A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES +ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO +NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE +WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER +SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. + +>>> get(bottle) +OK + +>>> drop(bottle) +OK + +>>> look +YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE +GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" +PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY +YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL +OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED +OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND +A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES +ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO +NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE +WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER +SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. + +THERE IS AN EMPTY BOTTLE HERE. + +>>> sw +YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT +FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL +WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE +CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A +LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A +VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE +STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. +KEYS IN MAIN OFFICE." + +>>> get(bird) +OK + +>>> inventory +YOU ARE CURRENTLY HOLDING THE FOLLOWING: + +WICKER CAGE +LITTLE BIRD IN CAGE + +>>> ne +YOU'RE AT NE END. + +THERE IS AN EMPTY BOTTLE HERE. + +>>> drop(bird) +OK + +>>> look +YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE +GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" +PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY +YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL +OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED +OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND +A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES +ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO +NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE +WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER +SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +THERE IS AN EMPTY BOTTLE HERE. + +>>> get(oyster) +OK + +INTERESTING. THERE SEEMS TO BE SOMETHING WRITTEN ON THE UNDERSIDE OF +THE OYSTER. + +>>> read +HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO +READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? + +>>> no +OK + +>>> shazam +GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD. + +>>> sw +YOU'RE AT SW END. + +>>> get(rod) +OK + +>>> drop(rod) +OK + +>>> ne +YOU'RE AT NE END. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +THERE IS AN EMPTY BOTTLE HERE. + +>>> blast +THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR +WALL, BURYING THE SNAKES IN THE RUBBLE. A RIVER OF MOLTEN LAVA POURS +IN THROUGH THE HOLE, DESTROYING EVERYTHING IN ITS PATH, INCLUDING YOU! + + +YOU SCORED 278 OUT OF A POSSIBLE 350 USING 698 TURNS. + +YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS C. + +TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 53 MORE POINTS + diff --git a/adventure/walkthrough2.txt b/adventure/walkthrough2.txt new file mode 100644 index 0000000..d90793c --- /dev/null +++ b/adventure/walkthrough2.txt @@ -0,0 +1,1345 @@ +>>> import play +>>> play.play(seed=2) +WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? + +>>> no +YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. +AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND +DOWN A GULLY. + +>>> brief +OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME +YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". + +>>> enter +YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A SHINY BRASS LAMP NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> get(lamp) +OK + +>>> xyzzy +IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. + +>>> on +YOUR LAMP IS NOW ON. + +YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. +A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS +HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL +SAYS "MAGIC WORD XYZZY". + +A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. + +>>> get(rod) +OK + +>>> e +YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT +AT THE EAST END OF THE PASSAGE. + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +>>> get(cage) +OK + +>>> w +YOU'RE IN DEBRIS ROOM. + +>>> w +YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. + +>>> w +YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN +RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT +FROM EAST AND WEST SIDES OF THE CHAMBER. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> drop(rod) +OK + +>>> get(bird) +OK + +>>> get(rod) +OK + +>>> w +AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST +PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO +THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE +STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST +SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE +STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> d +YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL +DIRECTIONS. + +A HUGE GREEN FIERCE SNAKE BARS THE WAY! + +>>> drop(bird) +THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY +DRIVES THE SNAKE AWAY. + +>>> drop(cage) +OK + +>>> u +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> w +YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. +THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. + +>>> swing(rod) +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +>>> drop(rod) +OK + +>>> w +YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. + +A CRYSTAL BRIDGE NOW SPANS THE FISSURE. + +THERE ARE DIAMONDS HERE! + +>>> get(diamonds) +OK + +>>> w +YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES +WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET +OFF THE FLOOR. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> s +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> n +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> e +A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE +AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. + +YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN +DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK +UP. THE MAZE CONTINUES AT THIS LEVEL. + +THERE IS A LITTLE AXE HERE. + +>>> e +OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," +HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME +CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO +THE GLOOM. + +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> nw +DEAD END + +THERE ARE DIAMONDS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +>>> get(chest) +OK + +>>> get(diamonds) +OK + +>>> se +YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. + +>>> n +YOU'RE AT BRINK OF PIT. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> d +YOU'RE IN BIRD CHAMBER. + +>>> w +YOU'RE AT TOP OF SMALL PIT. + +ROUGH STONE STEPS LEAD DOWN THE PIT. + +>>> d +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY +BLACK SMOKE. + +YOU'RE IN HALL OF MISTS. + +ROUGH STONE STEPS LEAD UP THE DOME. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> s +THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, +"YOU WON'T GET IT UP THE STEPS". + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +>>> get(gold) +OK + +>>> n +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +ONE SHARP NASTY KNIFE IS THROWN AT YOU! + +IT MISSES! + +YOU'RE IN HALL OF MISTS. + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. + +YOU'RE IN HALL OF MISTS. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> d +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> w +YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. +A PASSAGE CONTINUES WEST AND UP HERE. + +THERE ARE MANY COINS HERE! + +>>> get(coins) +OK + +>>> e +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> s +YOU ARE IN THE SOUTH SIDE CHAMBER. + +THERE IS PRECIOUS JEWELRY HERE! + +>>> get(jewelry) +OK + +>>> n +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> drop(axe) +OK + +>>> sw +YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A +VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE +TO GET BACK UP. + +>>> w +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +A HUGE GREEN FIERCE DRAGON BARS THE WAY! + +THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! + +>>> kill(dragon) +WITH WHAT? YOUR BARE HANDS? + +>>> yes +CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE +HANDS! (UNBELIEVABLE, ISN'T IT?) + +YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. + +THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> get(rug) +OK + +>>> e +YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. + +>>> e +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +THERE IS A LITTLE AXE HERE. + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +THERE ARE BARS OF SILVER HERE! + +>>> n +YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE +WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON +A ROCK IN THE ROOM'S CENTER. + +>>> plugh +YOU'RE INSIDE BUILDING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> drop(gold) +OK + +>>> drop(diamonds) +OK + +>>> drop(jewelry) +OK + +>>> drop(coins) +OK + +>>> drop(chest) +OK + +>>> drop(rug) +OK + +>>> plugh +YOU'RE AT "Y2". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +THERE ARE BARS OF SILVER HERE! + +>>> s +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +THERE IS A LITTLE AXE HERE. + +>>> get(axe) +OK + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +THERE ARE BARS OF SILVER HERE! + +>>> get(silver) +OK + +>>> n +YOU'RE AT "Y2". + +>>> plover +YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY +NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +>>> ne +YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. + +A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: +"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" + +THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! + +>>> get(platinum) +OK + +>>> s +YOU'RE IN PLOVER ROOM. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +>>> plover +YOU'RE AT "Y2". + +>>> plugh +YOU'RE INSIDE BUILDING. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> drop(silver) +OK + +>>> drop(platinum) +OK + +>>> get(keys) +OK + +>>> get(food) +OK + +>>> get(bottle) +OK + +>>> plugh +YOU'RE AT "Y2". + +A HOLLOW VOICE SAYS "PLUGH". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> d +YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE +WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. + +>>> w +YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN +THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. + +>>> d +YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE +NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE +GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. + +>>> w +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> w +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES +GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE +BEDROCK BLOCK. + +>>> oriental +THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! + +THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE +WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER +PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +>>> throw(axe) +YOU KILLED A LITTLE DWARF. + +YOU'RE IN ORIENTAL ROOM. + +THERE IS A LITTLE AXE HERE. + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +>>> n +YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. +FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE +HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH +EXITS TO THE SOUTH AND WEST. + +>>> w +YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT +DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY +TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. + +>>> drop(keys) +OK + +>>> drop(lantern) +OK + +>>> drop(food) +OK + +>>> drop(bottle) +OK + +>>> e +YOU'RE IN PLOVER ROOM. + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +>>> get(emerald) +OK + +>>> w +YOU'RE IN ALCOVE. + +THERE ARE SOME KEYS ON THE GROUND HERE. + +THERE IS A LAMP SHINING NEARBY. + +THERE IS FOOD HERE. + +THERE IS A BOTTLE OF WATER HERE. + +>>> get(keys) +OK + +>>> get(lantern) +OK + +>>> get(food) +OK + +>>> get(bottle) +OK + +>>> nw +YOU'RE IN MISTY CAVERN. + +>>> s +YOU'RE IN ORIENTAL ROOM. + +THERE IS A LITTLE AXE HERE. + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +>>> se +YOU'RE IN SWISS CHEESE ROOM. + +>>> w +YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS +LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. +THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST +AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE +WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. + +>>> w +YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN +THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. + +>>> d +YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS +A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. + +THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." + +>>> pour(water) +THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. + +YOU'RE IN WEST PIT. + +THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, +BELLOWING "WATER!! WATER!!" + +>>> u +YOU'RE AT WEST END OF TWOPIT ROOM. + +THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. + +>>> w +YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB +FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE +LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL +PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST +AROUND THE BOULDERS. + +>>> u +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> n +YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS +COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND +UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR +ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND +MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED +FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A +SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. + +>>> n +YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD +OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS +FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET +OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE +MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. + +>>> get(water) +YOUR BOTTLE IS NOW FULL OF WATER. + +>>> s +YOU'RE IN MIRROR CANYON. + +>>> s +YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. + +>>> d +YOU'RE IN SLAB ROOM. + +>>> s +YOU'RE AT WEST END OF TWOPIT ROOM. + +THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, +BELLOWING "WATER!! WATER!!" + +>>> pour(water) +THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. + +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> u +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> e +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS +A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. + +>>> get(oil) +YOUR BOTTLE IS NOW FULL OF OIL. + +>>> u +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> climb +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE +WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A +PROFUSION OF LEAVES. + +>>> w +YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR +LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON +THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. + +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +>>> get(eggs) +OK + +>>> n +YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. + +THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. + +>>> pour(oil) +THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, +ALTHOUGH IT REQUIRES SOME EFFORT. + +>>> drop(bottle) +OK + +>>> n +YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES +OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS +THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. + +THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! + +>>> get(trident) +OK + +>>> w +YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD +CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A +PASSAGE LEADING BACK TO THE NORTH. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> sw +YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH +DIRECTIONS. + +>>> u +YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING +UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY +FROM THE CHASM INTO A WINDING CORRIDOR. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> throw(eggs) +THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. + +>>> cross +YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE +CHASM ON THIS SIDE. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> ne +YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE +HEARD IN THE DISTANCE. + +>>> e +THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING +SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST +DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. + +>>> se +YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH +ODDLY SHAPED LIMESTONE FORMATIONS. + +>>> s +YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN +POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" + +>>> e +YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY +EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE +FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. + +THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! + +THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! + +>>> feed(bear) +THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM +DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. + +>>> unlock(chain) +THE CHAIN IS NOW UNLOCKED. + +>>> drop(keys) +OK + +>>> get(chain) +OK + +>>> get(bear) +OK + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE IN FRONT OF BARREN ROOM. + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE IN LIMESTONE PASSAGE. + +>>> n +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE AT FORK IN PATH. + +>>> ne +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY +ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER +PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. + +>>> e +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE +VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE +HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING +A LOW RUMBLING. + +THERE ARE RARE SPICES HERE! + +>>> get(spices) +OK + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE AT JUNCTION WITH WARM WALLS. + +>>> s +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE AT FORK IN PATH. + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE IN CORRIDOR. + +>>> w +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> sw +THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. + +YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. + +YOU'RE ON NE SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A +TREASURE BEFORE YOU MAY CROSS. + +>>> drop(bear) +THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND +SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. + +>>> sw +YOU'RE ON SW SIDE OF CHASM. + +A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE +MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" + +THE TROLL IS NOWHERE TO BE SEEN. + +>>> sw +YOU'RE IN SLOPING CORRIDOR. + +>>> d +YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. + +>>> se +YOU'RE IN ORIENTAL ROOM. + +THERE IS A LITTLE AXE HERE. + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +>>> se +YOU'RE IN SWISS CHEESE ROOM. + +>>> w +YOU'RE AT EAST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> climb +YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. + +YOU'RE IN NARROW CORRIDOR. + +>>> w +YOU'RE IN GIANT ROOM. + +>>> fee +OK + +>>> fie +OK + +>>> foe +OK + +>>> foo +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +>>> get(eggs) +OK + +>>> s +YOU'RE IN NARROW CORRIDOR. + +>>> d +YOU'RE IN WEST PIT. + +THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. + +>>> u +YOU'RE AT WEST END OF TWOPIT ROOM. + +THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. + +>>> w +YOU'RE IN SLAB ROOM. + +>>> n +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> e +YOU'RE AT COMPLEX JUNCTION. + +>>> n +YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND +WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A +SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS +UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. + +THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> unlock(clam) +A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, +THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING +BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. + +>>> d +YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. + +>>> d +YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. + +OFF TO ONE SIDE LIES A GLISTENING PEARL! + +>>> get(pearl) +OK + +>>> u +YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. + +>>> u +YOU'RE IN SHELL ROOM. + +THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. + +>>> s +YOU'RE AT COMPLEX JUNCTION. + +>>> u +YOU'RE IN DUSTY ROCK ROOM. + +>>> e +YOU'RE IN DIRTY PASSAGE. + +>>> u +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +YOU'RE AT "Y2". + +>>> plugh +YOU'RE INSIDE BUILDING. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE ARE BARS OF SILVER HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +>>> drop(eggs) +OK + +>>> drop(trident) +OK + +>>> drop(emerald) +OK + +>>> drop(pearl) +OK + +>>> drop(spices) +OK + +>>> drop(chain) +OK + +>>> plugh +YOU'RE AT "Y2". + +A HOLLOW VOICE SAYS "PLUGH". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> d +YOU'RE IN DIRTY PASSAGE. + +>>> w +YOU'RE IN DUSTY ROCK ROOM. + +>>> d +YOU'RE AT COMPLEX JUNCTION. + +>>> w +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> w +YOU'RE IN SWISS CHEESE ROOM. + +>>> oriental +YOU'RE IN ORIENTAL ROOM. + +THERE IS A LITTLE AXE HERE. + +THERE IS A DELICATE, PRECIOUS, MING VASE HERE! + +>>> get(vase) +OK + +>>> se +YOU'RE IN SWISS CHEESE ROOM. + +>>> e +YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, +THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. + +A SMALL VELVET PILLOW LIES ON THE FLOOR. + +>>> get(pillow) +OK + +>>> w +YOU'RE IN SWISS CHEESE ROOM. + +>>> ne +YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. +TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. + +>>> e +YOU'RE AT COMPLEX JUNCTION. + +>>> u +YOU'RE IN DUSTY ROCK ROOM. + +>>> e +YOU'RE IN DIRTY PASSAGE. + +>>> u +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +YOU'RE AT "Y2". + +>>> plugh +YOU'RE INSIDE BUILDING. + +THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! + +THERE ARE DIAMONDS HERE! + +THERE ARE BARS OF SILVER HERE! + +THERE IS PRECIOUS JEWELRY HERE! + +THERE ARE MANY COINS HERE! + +THE PIRATE'S TREASURE CHEST IS HERE! + +THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! + +THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! + +THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! + +THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! + +OFF TO ONE SIDE LIES A GLISTENING PEARL! + +THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! + +THERE ARE RARE SPICES HERE! + +THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! + +>>> drop(pillow) +OK + +>>> drop(vase) +THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW. + +>>> adventure._game.clock1 +5 +>>> plugh +YOU'RE AT "Y2". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> s +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> s +YOU ARE IN THE SOUTH SIDE CHAMBER. + +>>> n +YOU'RE IN HALL OF MT KING + +THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. + +A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. + +>>> n +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> n +A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING +SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." + +YOU'RE AT "Y2". + +>>> plugh +A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: + "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." + +YOU'RE AT "Y2". + +>>> s +YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES +DOWN TO AN E/W PASSAGE. + +>>> d +YOU'RE IN DIRTY PASSAGE. + +>>> w +YOU'RE IN DUSTY ROCK ROOM. + +>>> d +YOU'RE AT COMPLEX JUNCTION. + +>>> e +YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL +PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. +A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. +PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> get(magazine) +OK + +>>> e +YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. + +>>> drop(magazine) +OK + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> n +YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE +MAIN PASSAGE. + +YOU'RE AT WITT'S END. + +THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. + +>>> n +THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES +FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE +SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... + +YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE +GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" +PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY +YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL +OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED +OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND +A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES +ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO +NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE +WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER +SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. + +>>> sw +YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT +FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL +WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE +CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A +LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A +VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE +STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. +KEYS IN MAIN OFFICE." + +>>> get(rod) +OK + +>>> ne +YOU'RE AT NE END. + +>>> drop(rod) +OK + +>>> sw +YOU'RE AT SW END. + +>>> blast +THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR +WALL, BURYING THE DWARVES IN THE RUBBLE. YOU MARCH THROUGH THE HOLE +AND FIND YOURSELF IN THE MAIN OFFICE, WHERE A CHEERING BAND OF +FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET. + + +YOU SCORED 350 OUT OF A POSSIBLE 350 USING 266 TURNS. + +ALL OF ADVENTUREDOM GIVES TRIBUTE TO YOU, ADVENTURER GRANDMASTER! + +TO ACHIEVE THE NEXT HIGHER RATING WOULD BE A NEAT TRICK! + +CONGRATULATIONS!! + From 1b11012f88a51daaf3935463f63221477504ee1d Mon Sep 17 00:00:00 2001 From: JeremyHide Date: Fri, 28 Oct 2016 10:53:28 -0400 Subject: [PATCH 3/4] test two more tests and fixed them --- adventure/README.txt | 3 ++- adventure/test_walks.py | 4 ++-- adventure/walkthrough1.txt | 2 +- adventure/walkthrough2.txt | 2 +- sl5924/answers.txt | 16 +++++++++++----- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/adventure/README.txt b/adventure/README.txt index 380e1f4..4b2d16c 100644 --- a/adventure/README.txt +++ b/adventure/README.txt @@ -1,3 +1,4 @@ +.sa This is a faithful port of the “Adventureâ€� game to Python 3 from the original 1977 FORTRAN code by Crowther and Woods (it is driven by the same ``advent.dat`` file!) that lets you explore Colossal Cave, where @@ -38,7 +39,7 @@ long word, so you can type the long or short version as you please. You can save your game at any time by calling the ``save`` command with a filename, and then can resume it later:: - > save advent.save + > save advent GAME SAVED > quit DO YOU REALLY WANT TO QUIT NOW? diff --git a/adventure/test_walks.py b/adventure/test_walks.py index 887a862..6240fde 100644 --- a/adventure/test_walks.py +++ b/adventure/test_walks.py @@ -6,6 +6,6 @@ def load_tests(loader, tests, pattern): os.unlink('advent.save') # to avoid an error during README.txt tests.addTests(doctest.DocFileSuite('syntax.txt')) tests.addTests(doctest.DocFileSuite('vignettes.txt')) -# tests.addTests(doctest.DocFileSuite('walkthrough1.txt')) -# tests.addTests(doctest.DocFileSuite('walkthrough2.txt')) + tests.addTests(doctest.DocFileSuite('walkthrough1.txt')) + tests.addTests(doctest.DocFileSuite('walkthrough2.txt')) return tests diff --git a/adventure/walkthrough1.txt b/adventure/walkthrough1.txt index 6913854..1d3bad3 100644 --- a/adventure/walkthrough1.txt +++ b/adventure/walkthrough1.txt @@ -860,7 +860,7 @@ YOU HAVE GOTTEN YOURSELF KILLED. >>> savefile.seek(0) 0 ->>> adventure.resume(savefile) +>>> play.resume(savefile) GAME RESTORED diff --git a/adventure/walkthrough2.txt b/adventure/walkthrough2.txt index d90793c..87a183c 100644 --- a/adventure/walkthrough2.txt +++ b/adventure/walkthrough2.txt @@ -1169,7 +1169,7 @@ OK >>> drop(vase) THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW. ->>> adventure._game.clock1 +>>> play._game.clock1 5 >>> plugh YOU'RE AT "Y2". diff --git a/sl5924/answers.txt b/sl5924/answers.txt index 39ba58f..f2654e2 100644 --- a/sl5924/answers.txt +++ b/sl5924/answers.txt @@ -1,5 +1,5 @@ 1. -change raw_input() to input() +change raw_input() to input() (Other problems exit, but they are not caused by version of python) 2. (1) module; In order to separate concerns, for example, adventure module enable us to interact with the program. Also, it imports load_advent_dat from play.py module and Game from game.py, making the program easier to understand. @@ -14,7 +14,7 @@ For example, in play.py, the author uses names such as (a) load_advent_dat which obviously means that the function is going to load data for the adventure.py. (b) In model.py, is_dark, is_forced, etc. such functions¡¯ names are very easy to be understood. -For the meaningless names, the author defines start2() and start() which are meaningless since we cannot tell the differences between than before we actually look into the contents of the functions. +For the meaningless names, the author defines start2() and start() which are meaningless since we cannot tell the differences between them before we actually look into the contents of the functions. 4. Some of the codes only do one thing: @@ -59,16 +59,22 @@ The author usually put the comments to explain the use of each module but some v def start_closing_cave(self): #10000 11. -In model.py, the class Object(object), the author first put a group of initiating variables together, and then put a blank line to separate the following functions. Moreover, different functions are separated by blank lines. +In model.py, in the class Object(object) + +the author first put a group of initiating variables together, and then put a blank line to separate the following functions. Moreover, different functions are separated by blank lines. 12. -All tests passed when I ran them. +All 28 tests passed when I ran them. Ran 28 tests in 10.814s +OK +However, when we ran two more tests, which are walkthrough1.txt and walkthrough2.txt, both failed. After I changed module adventure to play, all 30 tests passed. +Ran 30 tests in 10.926s + OK For the F.I.R.S.T criteria: (1) Fast: The tests are fast, since they take only about 11.314 seconds to do the job. (2) Independent: They are also independent to each other since they all can be ran isolated. (3) Repeatable: They are repeatable since they can be ran repeatedly. -(4) self-validating: they are self-validated since we can tell whether the test is passed or not from the terminal which shows OK. +(4) self-validating: they are self-validated since we can tell whether the test is passed or failed from the terminal. (5) Timely: However, they don¡¯t meet timely criteria since we can see the date of ¡°100% test coverage¡± is 02/15/2011 late than the ¡°first public release¡± which is on 31/01/2011. This means the author very likely writes the tests after the program is completed. \ No newline at end of file From 470dcc2ea18c4aa3416a28675068bc0e82ef2723 Mon Sep 17 00:00:00 2001 From: JeremyHide Date: Sat, 29 Oct 2016 23:45:40 -0400 Subject: [PATCH 4/4] delete adventrue folder --- adventure/.project | 17 - adventure/.pydevproject | 5 - adventure/README.txt | 87 - adventure/TODO.txt | 3 - adventure/__init__.py | 0 adventure/advent | Bin 49365 -> 0 bytes adventure/advent.dat | 1808 --------------- adventure/adventure.py | 46 - adventure/building | Bin 55085 -> 0 bytes adventure/data.py | 225 -- adventure/game.py | 1713 -------------- adventure/model.py | 187 -- adventure/play.py | 38 - adventure/prompt.py | 38 - adventure/syntax.txt | 63 - adventure/test_commands.py | 28 - adventure/test_data.py | 84 - adventure/test_walks.py | 11 - adventure/tests/__init__.py | 0 adventure/tests/syntax.txt | 63 - adventure/tests/test_commands.py | 28 - adventure/tests/test_data.py | 84 - adventure/tests/test_walks.py | 11 - adventure/tests/vignettes.txt | 1453 ------------ adventure/tests/walkthrough1.txt | 3710 ------------------------------ adventure/tests/walkthrough2.txt | 1345 ----------- adventure/vignettes.txt | 1453 ------------ adventure/walkthrough1.txt | 3710 ------------------------------ adventure/walkthrough2.txt | 1345 ----------- 29 files changed, 17555 deletions(-) delete mode 100644 adventure/.project delete mode 100644 adventure/.pydevproject delete mode 100644 adventure/README.txt delete mode 100644 adventure/TODO.txt delete mode 100644 adventure/__init__.py delete mode 100644 adventure/advent delete mode 100644 adventure/advent.dat delete mode 100644 adventure/adventure.py delete mode 100644 adventure/building delete mode 100644 adventure/data.py delete mode 100644 adventure/game.py delete mode 100644 adventure/model.py delete mode 100644 adventure/play.py delete mode 100644 adventure/prompt.py delete mode 100644 adventure/syntax.txt delete mode 100644 adventure/test_commands.py delete mode 100644 adventure/test_data.py delete mode 100644 adventure/test_walks.py delete mode 100644 adventure/tests/__init__.py delete mode 100644 adventure/tests/syntax.txt delete mode 100644 adventure/tests/test_commands.py delete mode 100644 adventure/tests/test_data.py delete mode 100644 adventure/tests/test_walks.py delete mode 100644 adventure/tests/vignettes.txt delete mode 100644 adventure/tests/walkthrough1.txt delete mode 100644 adventure/tests/walkthrough2.txt delete mode 100644 adventure/vignettes.txt delete mode 100644 adventure/walkthrough1.txt delete mode 100644 adventure/walkthrough2.txt diff --git a/adventure/.project b/adventure/.project deleted file mode 100644 index c1c2723..0000000 --- a/adventure/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - adventure - - - - - - org.python.pydev.PyDevBuilder - - - - - - org.python.pydev.pythonNature - - diff --git a/adventure/.pydevproject b/adventure/.pydevproject deleted file mode 100644 index 40e9f40..0000000 --- a/adventure/.pydevproject +++ /dev/null @@ -1,5 +0,0 @@ - - -Default -python 2.7 - diff --git a/adventure/README.txt b/adventure/README.txt deleted file mode 100644 index 4b2d16c..0000000 --- a/adventure/README.txt +++ /dev/null @@ -1,87 +0,0 @@ -.sa -This is a faithful port of the “Adventureâ€� game to Python 3 from the -original 1977 FORTRAN code by Crowther and Woods (it is driven by the -same ``advent.dat`` file!) that lets you explore Colossal Cave, where -others have found fortunes in treasure and gold, though it is rumored -that some who enter are never seen again. Use your operating -system command line to run the package:: - - $ python adventure.py - WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - - > no - YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. - AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND - DOWN A GULLY. - - > east - YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - THERE ARE SOME KEYS ON THE GROUND HERE. - THERE IS A SHINY BRASS LAMP NEARBY. - THERE IS FOOD HERE. - THERE IS A BOTTLE OF WATER HERE. - - > get lamp - OK - - > leave - YOU'RE AT END OF ROAD AGAIN. - - > south - YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A - ROCKY BED. - -The original Adventure paid attention to only the first five letters of -each command, so a long command like ``inventory`` could simply be typed -as ``inven``. This package defines a symbol for both versions of every -long word, so you can type the long or short version as you please. - -You can save your game at any time by calling the ``save`` command -with a filename, and then can resume it later:: - - > save advent - GAME SAVED - > quit - DO YOU REALLY WANT TO QUIT NOW? - > y - OK - - $ python -m adventure mygame - GAME RESTORED - > look - SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE - LONG DESCRIPTION OF YOUR LOCATION. - YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A - ROCKY BED. - -You can find two complete, working walkthroughs of the game in its -``tests`` directory, which you can run using the ``discover`` module:: - - $ python -m unittest discover - -I wrote most of this package over Christmas vacation 2010, to learn more -about the workings of the game that so enthralled me as a child; the -project also gave me practice writing Python 3. I still forget the -parentheses when writing ``print()`` if I am not paying attention. - -For extra authenticity, the output of the Adventure game in this mode is -typed to your screen at 1200 baud. You will note that although this -prints the text faster than you can read it anyway, your experience of -the game will improve considerably, especially when a move results in a -surprise. - -Why is the game better at 1200 baud? When a paragraph of text is -allowed to appear on the screen all at once, your eyes scan the entire -paragraph for important information, often ruining any surprises before -you can then settle down and read it from the beginning. But at 1200 -baud, you wind up reading the text in order as it appears, which unfolds -the narrative sequentially as the author of Adventure intended. - -Changelog -========= - -| 1.3 — 2012 April 27 — installs on Windows; fixed undefined commands -| 1.2 — 2012 April 5 — restoring saves from command line; 5-letter commands -| 1.1 — 2011 March 12 — traditional mode; more flexible Python syntax -| 1.0 — 2011 February 15 — 100% test coverage, feature-complete -| 0.3 — 2011 January 31 — first public release diff --git a/adventure/TODO.txt b/adventure/TODO.txt deleted file mode 100644 index 396c5f7..0000000 --- a/adventure/TODO.txt +++ /dev/null @@ -1,3 +0,0 @@ - -* Test whether climbing down the dome with the gold nugget breaks your neck. -* Test dropping into the secret canyon from the direction that gets no dragon. diff --git a/adventure/__init__.py b/adventure/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/adventure/advent b/adventure/advent deleted file mode 100644 index 3855896b471c231586feee1235db8fa906026e42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49365 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 -32 YOU CAN'T GET BY THE SNAKE. -33 YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -33 WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -33 A ROCK IN THE ROOM'S CENTER. -34 YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. -35 YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF -35 SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF -35 WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE RIGHT. -35 MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT -35 SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND -35 25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A -35 SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. -36 YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -36 WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. -37 YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS -37 WEST. -38 YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH -38 ENTERS AND EXITS THROUGH TINY SLITS. -39 YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN -39 THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. -40 YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH -40 OF THE HALL OF MISTS. -41 YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES -41 WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET -41 OFF THE FLOOR. -42 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -43 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -44 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -45 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -46 DEAD END -47 DEAD END -48 DEAD END -49 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -50 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -51 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -52 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -53 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -54 DEAD END -55 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -56 DEAD END -57 YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN -57 DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK -57 UP. THE MAZE CONTINUES AT THIS LEVEL. -58 DEAD END -59 YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH -59 OF THE HALL OF MISTS. -60 YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -60 CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -60 ROUND TWO FOOT HOLE SLANTS DOWN. -61 YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. THE HALL -61 JOINS UP WITH A NARROW NORTH/SOUTH PASSAGE. -62 YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. -63 DEAD END -64 YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -64 NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -64 GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. -65 YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -65 TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. -66 YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -66 GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -66 BEDROCK BLOCK. -67 YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -67 LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -67 THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -67 AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -67 WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. -68 YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB -68 FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE -68 LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL -68 PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST -68 AROUND THE BOULDERS. -69 YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. -70 YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. -71 YOU ARE IN A SECRET CANYON AT A JUNCTION OF THREE CANYONS, BEARING -71 NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL AS THE OTHER TWO -71 COMBINED. -72 YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. -73 DEAD END CRAWL. -74 YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -74 VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -74 TO GET BACK UP. -75 YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. -76 THE CANYON HERE BECOMES TOO TIGHT TO GO FURTHER SOUTH. -77 YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND -77 SEEMS TO OPEN UP. -78 THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. -79 THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER PIPES. -79 IT WOULD BE ADVISABLE TO USE THE EXIT. -80 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -81 DEAD END -82 DEAD END -83 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -84 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -85 DEAD END -86 DEAD END -87 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. -88 YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -88 WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -88 PROFUSION OF LEAVES. -89 THERE IS NOTHING HERE TO CLIMB. USE "UP" OR "OUT" TO LEAVE THE PIT. -90 YOU HAVE CLIMBED UP THE PLANT AND OUT OF THE PIT. -91 YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD -91 CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A -91 PASSAGE LEADING BACK TO THE NORTH. -92 YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -92 LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -92 THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. -93 THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. -94 YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. -95 YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES -95 OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS -95 THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. -96 YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, -96 THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. -97 THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -97 WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -97 PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. -98 YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. -98 FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE -98 HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH -98 EXITS TO THE SOUTH AND WEST. -99 YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -99 DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -99 TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. -100 YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -100 NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. -101 YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. -102 YOU ARE IN AN ARCHED HALL. A CORAL PASSAGE ONCE CONTINUED UP AND EAST -102 FROM HERE, BUT IS NOW BLOCKED BY DEBRIS. THE AIR SMELLS OF SEA WATER. -103 YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -103 WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -103 SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -103 UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. -104 YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. -105 YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. -106 YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL -106 PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. -106 A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. -106 PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" -107 YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL DIFFERENT. -108 YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. -109 YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS -109 COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND -109 UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR -109 ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND -109 MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED -109 FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A -109 SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. -110 YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF -110 SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF -110 WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE LEFT. -110 MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT -110 SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND -110 25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A -110 SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. -111 A LARGE STALACTITE EXTENDS FROM THE ROOF AND ALMOST REACHES THE FLOOR -111 BELOW. YOU COULD CLIMB DOWN IT, AND JUMP FROM IT TO THE FLOOR, BUT -111 HAVING DONE SO YOU WOULD BE UNABLE TO REACH IT TO CLIMB BACK UP. -112 YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. -113 YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD -113 OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS -113 FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET -113 OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE -113 MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. -114 DEAD END -115 YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -115 GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -115 PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -115 YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -115 OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -115 OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -115 A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -115 ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -115 NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -115 WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -115 SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. -116 YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT -116 FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL -116 WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE -116 CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A -116 LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A -116 VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE -116 STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. -116 KEYS IN MAIN OFFICE." -117 YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -117 UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -117 FROM THE CHASM INTO A WINDING CORRIDOR. -118 YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -118 DIRECTIONS. -119 YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. -120 YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. -121 YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. -122 YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -122 CHASM ON THIS SIDE. -123 YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE -123 HEARD IN THE DISTANCE. -124 THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING -124 SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST -124 DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. -125 THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY -125 ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER -125 PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. -126 YOU ARE ON THE EDGE OF A BREATH-TAKING VIEW. FAR BELOW YOU IS AN -126 ACTIVE VOLCANO, FROM WHICH GREAT GOUTS OF MOLTEN LAVA COME SURGING -126 OUT, CASCADING BACK DOWN INTO THE DEPTHS. THE GLOWING ROCK FILLS THE -126 FARTHEST REACHES OF THE CAVERN WITH A BLOOD-RED GLARE, GIVING EVERY- -126 THING AN EERIE, MACABRE APPEARANCE. THE AIR IS FILLED WITH FLICKERING -126 SPARKS OF ASH AND A HEAVY SMELL OF BRIMSTONE. THE WALLS ARE HOT TO -126 THE TOUCH, AND THE THUNDERING OF THE VOLCANO DROWNS OUT ALL OTHER -126 SOUNDS. EMBEDDED IN THE JAGGED ROOF FAR OVERHEAD ARE MYRIAD TWISTED -126 FORMATIONS COMPOSED OF PURE WHITE ALABASTER, WHICH SCATTER THE MURKY -126 LIGHT INTO SINISTER APPARITIONS UPON THE WALLS. TO ONE SIDE IS A DEEP -126 GORGE, FILLED WITH A BIZARRE CHAOS OF TORTURED ROCK WHICH SEEMS TO -126 HAVE BEEN CRAFTED BY THE DEVIL HIMSELF. AN IMMENSE RIVER OF FIRE -126 CRASHES OUT FROM THE DEPTHS OF THE VOLCANO, BURNS ITS WAY THROUGH THE -126 GORGE, AND PLUMMETS INTO A BOTTOMLESS PIT FAR OFF TO YOUR LEFT. TO -126 THE RIGHT, AN IMMENSE GEYSER OF BLISTERING STEAM ERUPTS CONTINUOUSLY -126 FROM A BARREN ISLAND IN THE CENTER OF A SULFUROUS LAKE, WHICH BUBBLES -126 OMINOUSLY. THE FAR RIGHT WALL IS AFLAME WITH AN INCANDESCENCE OF ITS -126 OWN, WHICH LENDS AN ADDITIONAL INFERNAL SPLENDOR TO THE ALREADY -126 HELLISH SCENE. A DARK, FOREBODING PASSAGE EXITS TO THE SOUTH. -127 YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE -127 VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE -127 HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING -127 A LOW RUMBLING. -128 YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH -128 ODDLY SHAPED LIMESTONE FORMATIONS. -129 YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN -129 POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" -130 YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -130 EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -130 FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. -131 YOU ARE IN A MAZE OF TWISTING LITTLE PASSAGES, ALL DIFFERENT. -132 YOU ARE IN A LITTLE MAZE OF TWISTY PASSAGES, ALL DIFFERENT. -133 YOU ARE IN A TWISTING MAZE OF LITTLE PASSAGES, ALL DIFFERENT. -134 YOU ARE IN A TWISTING LITTLE MAZE OF PASSAGES, ALL DIFFERENT. -135 YOU ARE IN A TWISTY LITTLE MAZE OF PASSAGES, ALL DIFFERENT. -136 YOU ARE IN A TWISTY MAZE OF LITTLE PASSAGES, ALL DIFFERENT. -137 YOU ARE IN A LITTLE TWISTY MAZE OF PASSAGES, ALL DIFFERENT. -138 YOU ARE IN A MAZE OF LITTLE TWISTING PASSAGES, ALL DIFFERENT. -139 YOU ARE IN A MAZE OF LITTLE TWISTY PASSAGES, ALL DIFFERENT. -140 DEAD END --1 END -2 -1 YOU'RE AT END OF ROAD AGAIN. -2 YOU'RE AT HILL IN ROAD. -3 YOU'RE INSIDE BUILDING. -4 YOU'RE IN VALLEY. -5 YOU'RE IN FOREST. -6 YOU'RE IN FOREST. -7 YOU'RE AT SLIT IN STREAMBED. -8 YOU'RE OUTSIDE GRATE. -9 YOU'RE BELOW THE GRATE. -10 YOU'RE IN COBBLE CRAWL. -11 YOU'RE IN DEBRIS ROOM. -13 YOU'RE IN BIRD CHAMBER. -14 YOU'RE AT TOP OF SMALL PIT. -15 YOU'RE IN HALL OF MISTS. -17 YOU'RE ON EAST BANK OF FISSURE. -18 YOU'RE IN NUGGET OF GOLD ROOM. -19 YOU'RE IN HALL OF MT KING -23 YOU'RE AT WEST END OF TWOPIT ROOM. -24 YOU'RE IN EAST PIT. -25 YOU'RE IN WEST PIT. -33 YOU'RE AT "Y2". -35 YOU'RE AT WINDOW ON PIT. -36 YOU'RE IN DIRTY PASSAGE. -39 YOU'RE IN DUSTY ROCK ROOM. -41 YOU'RE AT WEST END OF HALL OF MISTS. -57 YOU'RE AT BRINK OF PIT. -60 YOU'RE AT EAST END OF LONG HALL. -61 YOU'RE AT WEST END OF LONG HALL. -64 YOU'RE AT COMPLEX JUNCTION. -66 YOU'RE IN SWISS CHEESE ROOM. -67 YOU'RE AT EAST END OF TWOPIT ROOM. -68 YOU'RE IN SLAB ROOM. -71 YOU'RE AT JUNCTION OF THREE SECRET CANYONS. -74 YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. -88 YOU'RE IN NARROW CORRIDOR. -91 YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. -92 YOU'RE IN GIANT ROOM. -95 YOU'RE IN CAVERN WITH WATERFALL. -96 YOU'RE IN SOFT ROOM. -97 YOU'RE IN ORIENTAL ROOM. -98 YOU'RE IN MISTY CAVERN. -99 YOU'RE IN ALCOVE. -100 YOU'RE IN PLOVER ROOM. -101 YOU'RE IN DARK-ROOM. -102 YOU'RE IN ARCHED HALL. -103 YOU'RE IN SHELL ROOM. -106 YOU'RE IN ANTEROOM. -108 YOU'RE AT WITT'S END. -109 YOU'RE IN MIRROR CANYON. -110 YOU'RE AT WINDOW ON PIT. -111 YOU'RE AT TOP OF STALACTITE. -113 YOU'RE AT RESERVOIR. -115 YOU'RE AT NE END. -116 YOU'RE AT SW END. -117 YOU'RE ON SW SIDE OF CHASM. -118 YOU'RE IN SLOPING CORRIDOR. -122 YOU'RE ON NE SIDE OF CHASM. -123 YOU'RE IN CORRIDOR. -124 YOU'RE AT FORK IN PATH. -125 YOU'RE AT JUNCTION WITH WARM WALLS. -126 YOU'RE AT BREATH-TAKING VIEW. -127 YOU'RE IN CHAMBER OF BOULDERS. -128 YOU'RE IN LIMESTONE PASSAGE. -129 YOU'RE IN FRONT OF BARREN ROOM. -130 YOU'RE IN BARREN ROOM. --1 -3 -1 2 2 44 29 -1 3 3 12 19 43 -1 4 5 13 14 46 30 -1 5 6 45 43 -1 8 63 -2 1 2 12 7 43 45 30 -2 5 6 45 46 -3 1 3 11 32 44 -3 11 62 -3 33 65 -3 79 5 14 -4 1 4 12 45 -4 5 6 43 44 29 -4 7 5 46 30 -4 8 63 -5 4 9 43 30 -5 50005 6 7 45 -5 6 6 -5 5 44 46 -6 1 2 45 -6 4 9 43 44 30 -6 5 6 46 -7 1 12 -7 4 4 45 -7 5 6 43 44 -7 8 5 15 16 46 -7 595 60 14 30 -8 5 6 43 44 46 -8 1 12 -8 7 4 13 45 -8 303009 3 19 30 -8 593 3 -9 303008 11 29 -9 593 11 -9 10 17 18 19 44 -9 14 31 -9 11 51 -10 9 11 20 21 43 -10 11 19 22 44 51 -10 14 31 -11 303008 63 -11 9 64 -11 10 17 18 23 24 43 -11 12 25 19 29 44 -11 3 62 -11 14 31 -12 303008 63 -12 9 64 -12 11 30 43 51 -12 13 19 29 44 -12 14 31 -13 303008 63 -13 9 64 -13 11 51 -13 12 25 43 -13 14 23 31 44 -14 303008 63 -14 9 64 -14 11 51 -14 13 23 43 -14 150020 30 31 34 -14 15 30 -14 16 33 44 -15 18 36 46 -15 17 7 38 44 -15 19 10 30 45 -15 150022 29 31 34 35 23 43 -15 14 29 -15 34 55 -16 14 1 -17 15 38 43 -17 312596 39 -17 412021 7 -17 412597 41 42 44 69 -17 27 41 -18 15 38 11 45 -19 15 10 29 43 -19 311028 45 36 -19 311029 46 37 -19 311030 44 7 -19 32 45 -19 35074 49 -19 211032 49 -19 74 66 -20 0 1 -21 0 1 -22 15 1 -23 67 43 42 -23 68 44 61 -23 25 30 31 -23 648 52 -24 67 29 11 -25 23 29 11 -25 724031 56 -25 26 56 -26 88 1 -27 312596 39 -27 412021 7 -27 412597 41 42 43 69 -27 17 41 -27 40 45 -27 41 44 -28 19 38 11 46 -28 33 45 55 -28 36 30 52 -29 19 38 11 45 -30 19 38 11 43 -30 62 44 29 -31 524089 1 -31 90 1 -32 19 1 -33 3 65 -33 28 46 -33 34 43 53 54 -33 35 44 -33 159302 71 -33 100 71 -34 33 30 55 -34 15 29 -35 33 43 55 -35 20 39 -36 37 43 17 -36 28 29 52 -36 39 44 -36 65 70 -37 36 44 17 -37 38 30 31 56 -38 37 56 29 11 -38 595 60 14 30 4 5 -39 36 43 23 -39 64 30 52 58 -39 65 70 -40 41 1 -41 42 46 29 23 56 -41 27 43 -41 59 45 -41 60 44 17 -42 41 29 -42 42 45 -42 43 43 -42 45 46 -42 80 44 -43 42 44 -43 44 46 -43 45 43 -44 43 43 -44 48 30 -44 50 46 -44 82 45 -45 42 44 -45 43 45 -45 46 43 -45 47 46 -45 87 29 30 -46 45 44 11 -47 45 43 11 -48 44 29 11 -49 50 43 -49 51 44 -50 44 43 -50 49 44 -50 51 30 -50 52 46 -51 49 44 -51 50 29 -51 52 43 -51 53 46 -52 50 44 -52 51 43 -52 52 46 -52 53 29 -52 55 45 -52 86 30 -53 51 44 -53 52 45 -53 54 46 -54 53 44 11 -55 52 44 -55 55 45 -55 56 30 -55 57 43 -56 55 29 11 -57 13 30 56 -57 55 44 -57 58 46 -57 83 45 -57 84 43 -58 57 43 11 -59 27 1 -60 41 43 29 17 -60 61 44 -60 62 45 30 52 -61 60 43 -61 62 45 -61 100107 46 -62 60 44 -62 63 45 -62 30 43 -62 61 46 -63 62 46 11 -64 39 29 56 59 -64 65 44 70 -64 103 45 74 -64 106 43 -65 64 43 -65 66 44 -65 80556 46 -65 68 61 -65 80556 29 -65 50070 29 -65 39 29 -65 60556 45 -65 75072 45 -65 71 45 -65 80556 30 -65 106 30 -66 65 47 -66 67 44 -66 80556 46 -66 77 25 -66 96 43 -66 50556 50 -66 97 72 -67 66 43 -67 23 44 42 -67 24 30 31 -68 23 46 -68 69 29 56 -68 65 45 -69 68 30 61 -69 331120 46 -69 119 46 -69 109 45 -69 113 75 -70 71 45 -70 65 30 23 -70 111 46 -71 65 48 -71 70 46 -71 110 45 -72 65 70 -72 118 49 -72 73 45 -72 97 48 72 -73 72 46 17 11 -74 19 43 -74 331120 44 -74 121 44 -74 75 30 -75 76 46 -75 77 45 -76 75 45 -77 75 43 -77 78 44 -77 66 45 17 -78 77 46 -79 3 1 -80 42 45 -80 80 44 -80 80 46 -80 81 43 -81 80 44 11 -82 44 46 11 -83 57 46 -83 84 43 -83 85 44 -84 57 45 -84 83 44 -84 114 50 -85 83 43 11 -86 52 29 11 -87 45 29 30 -88 25 30 56 43 -88 20 39 -88 92 44 27 -89 25 1 -90 23 1 -91 95 45 73 23 -91 72 30 56 -92 88 46 -92 93 43 -92 94 45 -93 92 46 27 11 -94 92 46 27 23 -94 309095 45 3 73 -94 611 45 -95 94 46 11 -95 92 27 -95 91 44 -96 66 44 11 -97 66 48 -97 72 44 17 -97 98 29 45 73 -98 97 46 72 -98 99 44 -99 98 50 73 -99 301 43 23 -99 100 43 -100 301 44 23 11 -100 99 44 -100 159302 71 -100 33 71 -100 101 47 22 -101 100 46 71 11 -102 103 30 74 11 -103 102 29 38 -103 104 30 -103 114618 46 -103 115619 46 -103 64 46 -104 103 29 74 -104 105 30 -105 104 29 11 -105 103 74 -106 64 29 -106 65 44 -106 108 43 -107 131 46 -107 132 49 -107 133 47 -107 134 48 -107 135 29 -107 136 50 -107 137 43 -107 138 44 -107 139 45 -107 61 30 -108 95556 43 45 46 47 48 49 50 29 30 -108 106 43 -108 626 44 -109 69 46 -109 113 45 75 -110 71 44 -110 20 39 -111 70 45 -111 40050 30 39 56 -111 50053 30 -111 45 30 -112 131 49 -112 132 45 -112 133 43 -112 134 50 -112 135 48 -112 136 47 -112 137 44 -112 138 30 -112 139 29 -112 140 46 -113 109 46 11 109 -114 84 48 -115 116 49 -116 115 47 -116 593 30 -117 118 49 -117 233660 41 42 69 47 -117 332661 41 -117 303 41 -117 332021 39 -117 596 39 -118 72 30 -118 117 29 -119 69 45 11 -119 653 43 7 -120 69 45 -120 74 43 -121 74 43 11 -121 653 45 7 -122 123 47 -122 233660 41 42 69 49 -122 303 41 -122 596 39 -122 124 77 -122 126 28 -122 129 40 -123 122 44 -123 124 43 77 -123 126 28 -123 129 40 -124 123 44 -124 125 47 36 -124 128 48 37 30 -124 126 28 -124 129 40 -125 124 46 77 -125 126 45 28 -125 127 43 17 -126 125 46 23 11 -126 124 77 -126 610 30 39 -127 125 44 11 17 -127 124 77 -127 126 28 -128 124 45 29 77 -128 129 46 30 40 -128 126 28 -129 128 44 29 -129 124 77 -129 130 43 19 40 3 -129 126 28 -130 129 44 11 -130 124 77 -130 126 28 -131 107 44 -131 132 48 -131 133 50 -131 134 49 -131 135 47 -131 136 29 -131 137 30 -131 138 45 -131 139 46 -131 112 43 -132 107 50 -132 131 29 -132 133 45 -132 134 46 -132 135 44 -132 136 49 -132 137 47 -132 138 43 -132 139 30 -132 112 48 -133 107 29 -133 131 30 -133 132 44 -133 134 47 -133 135 49 -133 136 43 -133 137 45 -133 138 50 -133 139 48 -133 112 46 -134 107 47 -134 131 45 -134 132 50 -134 133 48 -134 135 43 -134 136 30 -134 137 46 -134 138 29 -134 139 44 -134 112 49 -135 107 45 -135 131 48 -135 132 30 -135 133 46 -135 134 43 -135 136 44 -135 137 49 -135 138 47 -135 139 50 -135 112 29 -136 107 43 -136 131 44 -136 132 29 -136 133 49 -136 134 30 -136 135 46 -136 137 50 -136 138 48 -136 139 47 -136 112 45 -137 107 48 -137 131 47 -137 132 46 -137 133 30 -137 134 29 -137 135 50 -137 136 45 -137 138 49 -137 139 43 -137 112 44 -138 107 30 -138 131 43 -138 132 47 -138 133 29 -138 134 44 -138 135 45 -138 136 46 -138 137 48 -138 139 49 -138 112 50 -139 107 49 -139 131 50 -139 132 43 -139 133 44 -139 134 45 -139 135 30 -139 136 48 -139 137 29 -139 138 46 -139 112 47 -140 112 45 11 --1 -4 -2 ROAD -2 HILL -3 ENTER -4 UPSTR -5 DOWNS -6 FORES -7 FORWA -7 CONTI -7 ONWAR -8 BACK -8 RETUR -8 RETRE -9 VALLE -10 STAIR -11 OUT -11 OUTSI -11 EXIT -11 LEAVE -12 BUILD -12 HOUSE -13 GULLY -14 STREA -15 ROCK -16 BED -17 CRAWL -18 COBBL -19 INWAR -19 INSID -19 IN -20 SURFA -21 NULL -21 NOWHE -22 DARK -23 PASSA -23 TUNNE -24 LOW -25 CANYO -26 AWKWA -27 GIANT -28 VIEW -29 UPWAR -29 UP -29 U -29 ABOVE -29 ASCEN -30 D -30 DOWNW -30 DOWN -30 DESCE -31 PIT -32 OUTDO -33 CRACK -34 STEPS -35 DOME -36 LEFT -37 RIGHT -38 HALL -39 JUMP -40 BARRE -41 OVER -42 ACROS -43 EAST -43 E -44 WEST -44 W -45 NORTH -45 N -46 SOUTH -46 S -47 NE -48 SE -49 SW -50 NW -51 DEBRI -52 HOLE -53 WALL -54 BROKE -55 Y2 -56 CLIMB -57 LOOK -57 EXAMI -57 TOUCH -57 DESCR -58 FLOOR -59 ROOM -60 SLIT -61 SLAB -61 SLABR -62 XYZZY -63 DEPRE -64 ENTRA -65 PLUGH -66 SECRE -67 CAVE -69 CROSS -70 BEDQU -71 PLOVE -72 ORIEN -73 CAVER -74 SHELL -75 RESER -76 MAIN -76 OFFIC -77 FORK -1001 KEYS -1001 KEY -1002 LAMP -1002 HEADL -1002 LANTE -1003 GRATE -1004 CAGE -1005 ROD -1006 ROD (MUST BE NEXT OBJECT AFTER "REAL" ROD) -1007 STEPS -1008 BIRD -1009 DOOR -1010 PILLO -1010 VELVE -1011 SNAKE -1012 FISSU -1013 TABLE -1014 CLAM -1015 OYSTE -1016 MAGAZ -1016 ISSUE -1016 SPELU -1016 "SPEL -1017 DWARF -1017 DWARV -1018 KNIFE -1018 KNIVE -1019 FOOD -1019 RATIO -1020 BOTTL -1020 JAR -1021 WATER -1021 H2O -1022 OIL -1023 MIRRO -1024 PLANT -1024 BEANS -1025 PLANT (MUST BE NEXT OBJECT AFTER "REAL" PLANT) -1026 STALA -1027 SHADO -1027 FIGUR -1028 AXE -1029 DRAWI -1030 PIRAT -1031 DRAGO -1032 CHASM -1033 TROLL -1034 TROLL (MUST BE NEXT OBJECT AFTER "REAL" TROLL) -1035 BEAR -1036 MESSA -1037 VOLCA -1037 GEYSE (SAME AS VOLCANO) -1038 MACHI -1038 VENDI -1039 BATTE -1040 CARPE -1040 MOSS -1050 GOLD -1050 NUGGE -1051 DIAMO -1052 SILVE -1052 BARS -1053 JEWEL -1054 COINS -1055 CHEST -1055 BOX -1055 TREAS -1056 EGGS -1056 EGG -1056 NEST -1057 TRIDE -1058 VASE -1058 MING -1058 SHARD -1058 POTTE -1059 EMERA -1060 PLATI -1060 PYRAM -1061 PEARL -1062 RUG -1062 PERSI -1063 SPICE -1064 CHAIN -2001 CARRY -2001 TAKE -2001 KEEP -2001 CATCH -2001 STEAL -2001 CAPTU -2001 GET -2001 TOTE -2002 DROP -2002 RELEA -2002 FREE -2002 DISCA -2002 DUMP -2003 SAY -2003 CHANT -2003 SING -2003 UTTER -2003 MUMBL -2004 UNLOC -2004 OPEN -2005 NOTHI -2006 LOCK -2006 CLOSE -2007 LIGHT -2007 ON -2008 EXTIN -2008 OFF -2009 WAVE -2009 SHAKE -2009 SWING -2010 CALM -2010 PLACA -2010 TAME -2011 WALK -2011 RUN -2011 TRAVE -2011 GO -2011 PROCE -2011 CONTI -2011 EXPLO -2011 GOTO -2011 FOLLO -2011 TURN -2012 ATTAC -2012 KILL -2012 FIGHT -2012 HIT -2012 STRIK -2013 POUR -2014 EAT -2014 DEVOU -2015 DRINK -2016 RUB -2017 THROW -2017 TOSS -2018 QUIT -2019 FIND -2019 WHERE -2020 INVEN -2021 FEED -2022 FILL -2023 BLAST -2023 DETON -2023 IGNIT -2023 BLOWU -2024 SCORE -2025 FEE -2025 FIE -2025 FOE -2025 FOO -2025 FUM -2026 BRIEF -2027 READ -2027 PERUS -2028 BREAK -2028 SHATT -2028 SMASH -2029 WAKE -2029 DISTU -2030 SUSPE -2030 PAUSE -2030 SAVE -2031 HOURS -3001 FEE -3002 FIE -3003 FOE -3004 FOO -3005 FUM -3050 SESAM -3050 OPENS -3050 ABRA -3050 ABRAC -3050 SHAZA -3050 HOCUS -3050 POCUS -3051 HELP -3051 ? -3064 TREE -3064 TREES -3066 DIG -3066 EXCAV -3068 LOST -3069 MIST -3079 FUCK -3139 STOP -3142 INFO -3142 INFOR -3147 SWIM --1 -5 -1 SET OF KEYS -000 THERE ARE SOME KEYS ON THE GROUND HERE. -2 BRASS LANTERN -000 THERE IS A SHINY BRASS LAMP NEARBY. -100 THERE IS A LAMP SHINING NEARBY. -3 *GRATE -000 THE GRATE IS LOCKED. -100 THE GRATE IS OPEN. -4 WICKER CAGE -000 THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. -5 BLACK ROD -000 A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. -6 BLACK ROD -000 A THREE FOOT BLACK ROD WITH A RUSTY MARK ON AN END LIES NEARBY. -7 *STEPS -000 ROUGH STONE STEPS LEAD DOWN THE PIT. -100 ROUGH STONE STEPS LEAD UP THE DOME. -8 LITTLE BIRD IN CAGE -000 A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. -100 THERE IS A LITTLE BIRD IN THE CAGE. -9 *RUSTY DOOR -000 THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. -100 THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. -10 VELVET PILLOW -000 A SMALL VELVET PILLOW LIES ON THE FLOOR. -11 *SNAKE -000 A HUGE GREEN FIERCE SNAKE BARS THE WAY! -100 >$< (CHASED AWAY) -12 *FISSURE -000 >$< -100 A CRYSTAL BRIDGE NOW SPANS THE FISSURE. -200 THE CRYSTAL BRIDGE HAS VANISHED! -13 *STONE TABLET -000 A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: -000 "CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" -14 GIANT CLAM >GRUNT!< -000 THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. -15 GIANT OYSTER >GROAN!< -000 THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. -100 INTERESTING. THERE SEEMS TO BE SOMETHING WRITTEN ON THE UNDERSIDE OF -100 THE OYSTER. -16 "SPELUNKER TODAY" -000 THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. -19 TASTY FOOD -000 THERE IS FOOD HERE. -20 SMALL BOTTLE -000 THERE IS A BOTTLE OF WATER HERE. -100 THERE IS AN EMPTY BOTTLE HERE. -200 THERE IS A BOTTLE OF OIL HERE. -21 WATER IN THE BOTTLE -22 OIL IN THE BOTTLE -23 *MIRROR -000 >$< -24 *PLANT -000 THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." -100 THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. -200 THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -200 BELLOWING "WATER!! WATER!!" -300 THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. -400 THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. -500 YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP! IT'S, IT'S... -25 *PHONY PLANT (SEEN IN TWOPIT ROOM ONLY WHEN TALL ENOUGH) -000 >$< -100 THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. -200 THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. -26 *STALACTITE -000 >$< -27 *SHADOWY FIGURE -000 THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. -28 DWARF'S AXE -000 THERE IS A LITTLE AXE HERE. -100 THERE IS A LITTLE AXE LYING BESIDE THE BEAR. -29 *CAVE DRAWINGS -000 >$< -30 *PIRATE -000 >$< -31 *DRAGON -000 A HUGE GREEN FIERCE DRAGON BARS THE WAY! -100 CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE -100 HANDS! (UNBELIEVABLE, ISN'T IT?) -200 THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. -32 *CHASM -000 A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -000 MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" -100 THE WRECKAGE OF A BRIDGE (AND A DEAD BEAR) CAN BE SEEN AT THE BOTTOM -100 OF THE CHASM. -33 *TROLL -000 A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -000 TREASURE BEFORE YOU MAY CROSS. -100 THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. -200 >$< (CHASED AWAY) -34 *PHONY TROLL -000 THE TROLL IS NOWHERE TO BE SEEN. -35 >$< (BEAR USES RTEXT 141) -000 THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! -100 THERE IS A GENTLE CAVE BEAR SITTING PLACIDLY IN ONE CORNER. -200 THERE IS A CONTENTED-LOOKING BEAR WANDERING ABOUT NEARBY. -300 >$< (DEAD) -36 *MESSAGE IN SECOND MAZE -000 THERE IS A MESSAGE SCRAWLED IN THE DUST IN A FLOWERY SCRIPT, READING: -000 "THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." -37 *VOLCANO AND/OR GEYSER -000 >$< -38 *VENDING MACHINE -000 THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -000 "DROP COINS HERE TO RECEIVE FRESH BATTERIES." -39 BATTERIES -000 THERE ARE FRESH BATTERIES HERE. -100 SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. -40 *CARPET AND/OR MOSS -000 >$< -50 LARGE GOLD NUGGET -000 THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! -51 SEVERAL DIAMONDS -000 THERE ARE DIAMONDS HERE! -52 BARS OF SILVER -000 THERE ARE BARS OF SILVER HERE! -53 PRECIOUS JEWELRY -000 THERE IS PRECIOUS JEWELRY HERE! -54 RARE COINS -000 THERE ARE MANY COINS HERE! -55 TREASURE CHEST -000 THE PIRATE'S TREASURE CHEST IS HERE! -56 GOLDEN EGGS -000 THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! -100 THE NEST OF GOLDEN EGGS HAS VANISHED! -200 DONE! -57 JEWELED TRIDENT -000 THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! -58 MING VASE -000 THERE IS A DELICATE, PRECIOUS, MING VASE HERE! -100 THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW. -200 THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. -300 THE MING VASE DROPS WITH A DELICATE CRASH. -59 EGG-SIZED EMERALD -000 THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! -60 PLATINUM PYRAMID -000 THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! -61 GLISTENING PEARL -000 OFF TO ONE SIDE LIES A GLISTENING PEARL! -62 PERSIAN RUG -000 THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! -100 THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! -63 RARE SPICES -000 THERE ARE RARE SPICES HERE! -64 GOLDEN CHAIN -000 THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! -100 THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! -200 THERE IS A GOLDEN CHAIN LOCKED TO THE WALL! --1 -6 -1 SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN -1 TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER -1 SEEN AGAIN. MAGIC IS SAID TO WORK IN THE CAVE. I WILL BE YOUR EYES -1 AND HANDS. DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS. I SHOULD WARN -1 YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL -1 HAVE TO ENTER "NORTHEAST" AS "NE" TO DISTINGUISH IT FROM "NORTH". -1 (SHOULD YOU GET STUCK, TYPE "HELP" FOR SOME GENERAL HINTS. FOR INFOR- -1 MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE "INFO".) -1 - - - -1 THIS PROGRAM WAS ORIGINALLY DEVELOPED BY WILLIE CROWTHER. MOST OF THE -1 FEATURES OF THE CURRENT PROGRAM WERE ADDED BY DON WOODS (DON @ SU-AI). -1 CONTACT DON IF YOU HAVE ANY QUESTIONS, COMMENTS, ETC. -2 A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY. -3 A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -3 AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. -4 THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! -5 ONE SHARP NASTY KNIFE IS THROWN AT YOU! -6 NONE OF THEM HIT YOU! -7 ONE OF THEM GETS YOU! -8 A HOLLOW VOICE SAYS "PLUGH". -9 THERE IS NO WAY TO GO THAT DIRECTION. -10 I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. -11 I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING -11 IN THE GENERAL DIRECTION YOU WANT TO GO. -12 I DON'T KNOW HOW TO APPLY THAT WORD HERE. -13 I DON'T UNDERSTAND THAT! -14 I'M GAME. WOULD YOU CARE TO EXPLAIN HOW? -15 SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -15 LONG DESCRIPTION OF YOUR LOCATION. -16 IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. -17 IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST. -18 ARE YOU TRYING TO CATCH THE BIRD? -19 THE BIRD IS FRIGHTENED RIGHT NOW AND YOU CANNOT CATCH IT NO MATTER -19 WHAT YOU TRY. PERHAPS YOU MIGHT TRY LATER. -20 ARE YOU TRYING TO SOMEHOW DEAL WITH THE SNAKE? -21 YOU CAN'T KILL THE SNAKE, OR DRIVE IT AWAY, OR AVOID IT, OR ANYTHING -21 LIKE THAT. THERE IS A WAY TO GET BY, BUT YOU DON'T HAVE THE NECESSARY -21 RESOURCES RIGHT NOW. -22 DO YOU REALLY WANT TO QUIT NOW? -23 YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! -24 YOU ARE ALREADY CARRYING IT! -25 YOU CAN'T BE SERIOUS! -26 THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES -26 DISTURBED AND YOU CANNOT CATCH IT. -27 YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. -28 THERE IS NOTHING HERE WITH A LOCK! -29 YOU AREN'T CARRYING IT! -30 THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -30 DRIVES THE SNAKE AWAY. -31 YOU HAVE NO KEYS! -32 IT HAS NO LOCK. -33 I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING. -34 IT WAS ALREADY LOCKED. -35 THE GRATE IS NOW LOCKED. -36 THE GRATE IS NOW UNLOCKED. -37 IT WAS ALREADY UNLOCKED. -38 YOU HAVE NO SOURCE OF LIGHT. -39 YOUR LAMP IS NOW ON. -40 YOUR LAMP IS NOW OFF. -41 THERE IS NO WAY TO GET PAST THE BEAR TO UNLOCK THE CHAIN, WHICH IS -41 PROBABLY JUST AS WELL. -42 NOTHING HAPPENS. -43 WHERE? -44 THERE IS NOTHING HERE TO ATTACK. -45 THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS. -46 ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS. -47 YOU KILLED A LITTLE DWARF. -48 YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. -49 WITH WHAT? YOUR BARE HANDS? -50 GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD. -51 I KNOW OF PLACES, ACTIONS, AND THINGS. MOST OF MY VOCABULARY -51 DESCRIBES PLACES AND IS USED TO MOVE YOU THERE. TO MOVE, TRY WORDS -51 LIKE FOREST, BUILDING, DOWNSTREAM, ENTER, EAST, WEST, NORTH, SOUTH, -51 UP, OR DOWN. I KNOW ABOUT A FEW SPECIAL OBJECTS, LIKE A BLACK ROD -51 HIDDEN IN THE CAVE. THESE OBJECTS CAN BE MANIPULATED USING SOME OF -51 THE ACTION WORDS THAT I KNOW. USUALLY YOU WILL NEED TO GIVE BOTH THE -51 OBJECT AND ACTION WORDS (IN EITHER ORDER), BUT SOMETIMES I CAN INFER -51 THE OBJECT FROM THE VERB ALONE. SOME OBJECTS ALSO IMPLY VERBS; IN -51 PARTICULAR, "INVENTORY" IMPLIES "TAKE INVENTORY", WHICH CAUSES ME TO -51 GIVE YOU A LIST OF WHAT YOU'RE CARRYING. THE OBJECTS HAVE SIDE -51 EFFECTS; FOR INSTANCE, THE ROD SCARES THE BIRD. USUALLY PEOPLE HAVING -51 TROUBLE MOVING JUST NEED TO TRY A FEW MORE WORDS. USUALLY PEOPLE -51 TRYING UNSUCCESSFULLY TO MANIPULATE AN OBJECT ARE ATTEMPTING SOMETHING -51 BEYOND THEIR (OR MY!) CAPABILITIES AND SHOULD TRY A COMPLETELY -51 DIFFERENT TACK. TO SPEED THE GAME YOU CAN SOMETIMES MOVE LONG -51 DISTANCES WITH A SINGLE WORD. FOR EXAMPLE, "BUILDING" USUALLY GETS -51 YOU TO THE BUILDING FROM ANYWHERE ABOVE GROUND EXCEPT WHEN LOST IN THE -51 FOREST. ALSO, NOTE THAT CAVE PASSAGES TURN A LOT, AND THAT LEAVING A -51 ROOM TO THE NORTH DOES NOT GUARANTEE ENTERING THE NEXT FROM THE SOUTH. -51 GOOD LUCK! -52 IT MISSES! -53 IT GETS YOU! -54 OK -55 YOU CAN'T UNLOCK THE KEYS. -56 YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -56 MAIN PASSAGE. -57 I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM CAN RUN ON -57 THE SURFACE FOR LONG. I WOULD TRY THE STREAM. -58 I NEED MORE DETAILED INSTRUCTIONS TO DO THAT. -59 I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT AND MANIPULATE -59 THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS ARE. -60 I DON'T KNOW THAT WORD. -61 WHAT? -62 ARE YOU TRYING TO GET INTO THE CAVE? -63 THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT -63 ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND -63 LOOKING ELSEWHERE FOR THE KEYS. -64 THE TREES OF THE FOREST ARE LARGE HARDWOOD OAK AND MAPLE, WITH AN -64 OCCASIONAL GROVE OF PINE OR SPRUCE. THERE IS QUITE A BIT OF UNDER- -64 GROWTH, LARGELY BIRCH AND ASH SAPLINGS PLUS NONDESCRIPT BUSHES OF -64 VARIOUS SORTS. THIS TIME OF YEAR VISIBILITY IS QUITE RESTRICTED BY -64 ALL THE LEAVES, BUT TRAVEL IS QUITE EASY IF YOU DETOUR AROUND THE -64 SPRUCE AND BERRY BUSHES. -65 WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? -66 DDIGGING WITHOUT A SHOVEL IS QUITE IMPRACTICAL. EVEN WITH A SHOVEL -66 PROGRESS IS UNLIKELY. -67 BLASTING REQUIRES DYNAMITE. -68 I'M AS CONFUSED AS YOU ARE. -69 MIST IS A WHITE VAPOR, USUALLY WATER, SEEN FROM TIME TO TIME IN -69 CAVERNS. IT CAN BE FOUND ANYWHERE BUT IS FREQUENTLY A SIGN OF A DEEP -69 PIT LEADING DOWN TO WATER. -70 YOUR FEET ARE NOW WET. -71 I THINK I JUST LOST MY APPETITE. -72 THANK YOU, IT WAS DELICIOUS! -73 YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF -73 MINERALS, BUT IS NOT UNPLEASANT. IT IS EXTREMELY COLD. -74 THE BOTTLE OF WATER IS NOW EMPTY. -75 RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, -75 NOTHING EXCITING HAPPENS. -76 PECULIAR. NOTHING UNEXPECTED HAPPENS. -77 YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. -78 YOU CAN'T POUR THAT. -79 WATCH IT! -80 WHICH WAY? -81 OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -81 HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -81 TO TRY TO REINCARNATE YOU? -82 ALL RIGHT. BUT DON'T BLAME ME IF SOMETHING GOES WR...... -82 --- POOF!! --- -82 YOU ARE ENGULFED IN A CLOUD OF ORANGE SMOKE. COUGHING AND GASPING, -82 YOU EMERGE FROM THE SMOKE AND FIND.... -83 YOU CLUMSY OAF, YOU'VE DONE IT AGAIN! I DON'T KNOW HOW LONG I CAN -83 KEEP THIS UP. DO YOU WANT ME TO TRY REINCARNATING YOU AGAIN? -84 OKAY, NOW WHERE DID I PUT MY ORANGE SMOKE?.... >POOF!< -84 EVERYTHING DISAPPEARS IN A DENSE CLOUD OF ORANGE SMOKE. -85 NOW YOU'VE REALLY DONE IT! I'M OUT OF ORANGE SMOKE! YOU DON'T EXPECT -85 ME TO DO A DECENT REINCARNATION WITHOUT ANY ORANGE SMOKE, DO YOU? -86 OKAY, IF YOU'RE SO SMART, DO IT YOURSELF! I'M LEAVING! -90 >>> MESSAGES 81 THRU 90 ARE RESERVED FOR "OBITUARIES". <<< -91 SORRY, BUT I NO LONGER SEEM TO REMEMBER HOW IT WAS YOU GOT HERE. -92 YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. -93 YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! -94 I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. -95 YOU DON'T FIT THROUGH A TWO-INCH SLIT! -96 I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING. -97 THERE IS NO WAY ACROSS THE FISSURE. -98 YOU'RE NOT CARRYING ANYTHING. -99 YOU ARE CURRENTLY HOLDING THE FOLLOWING: -100 IT'S NOT HUNGRY (IT'S MERELY PININ' FOR THE FJORDS). BESIDES, YOU -100 HAVE NO BIRD SEED. -101 THE SNAKE HAS NOW DEVOURED YOUR BIRD. -102 THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). -103 YOU FOOL, DWARVES EAT ONLY COAL! NOW YOU'VE MADE HIM *REALLY* MAD!! -104 YOU HAVE NOTHING IN WHICH TO CARRY IT. -105 YOUR BOTTLE IS ALREADY FULL. -106 THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE. -107 YOUR BOTTLE IS NOW FULL OF WATER. -108 YOUR BOTTLE IS NOW FULL OF OIL. -109 YOU CAN'T FILL THAT. -110 DON'T BE RIDICULOUS! -111 THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. -112 THE PLANT INDIGNANTLY SHAKES THE OIL OFF ITS LEAVES AND ASKS, "WATER?" -113 THE HINGES ARE QUITE THOROUGHLY RUSTED NOW AND WON'T BUDGE. -114 THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, -114 ALTHOUGH IT REQUIRES SOME EFFORT. -115 THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE. -116 THE DWARVES' KNIVES VANISH AS THEY STRIKE THE WALLS OF THE CAVE. -117 SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. -117 YOU'D BEST TAKE INVENTORY AND DROP SOMETHING. -118 YOU CAN'T FIT THIS FIVE-FOOT CLAM THROUGH THAT LITTLE PASSAGE! -119 YOU CAN'T FIT THIS FIVE-FOOT OYSTER THROUGH THAT LITTLE PASSAGE! -120 I ADVISE YOU TO PUT DOWN THE CLAM BEFORE OPENING IT. >STRAIN!< -121 I ADVISE YOU TO PUT DOWN THE OYSTER BEFORE OPENING IT. >WRENCH!< -122 YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE CLAM. -123 YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE OYSTER. -124 A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -124 THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -124 BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. -125 THE OYSTER CREAKS OPEN, REVEALING NOTHING BUT OYSTER INSIDE. IT -125 PROMPTLY SNAPS SHUT AGAIN. -126 YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY -126 BLOCKED BY A RECENT CAVE-IN. YOU ARE NOW BACK IN THE MAIN PASSAGE. -127 THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. -128 OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -128 HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -128 CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -128 THE GLOOM. -129 A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING -129 SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." -130 A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: -130 "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." -131 IT LOOKS AS THOUGH YOU'RE DEAD. WELL, SEEING AS HOW IT'S SO CLOSE TO -131 CLOSING TIME ANYWAY, I THINK WE'LL JUST CALL IT A DAY. -132 THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -132 FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -132 SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... -133 THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR -133 WALL, BURYING THE DWARVES IN THE RUBBLE. YOU MARCH THROUGH THE HOLE -133 AND FIND YOURSELF IN THE MAIN OFFICE, WHERE A CHEERING BAND OF -133 FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET. -134 THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR -134 WALL, BURYING THE SNAKES IN THE RUBBLE. A RIVER OF MOLTEN LAVA POURS -134 IN THROUGH THE HOLE, DESTROYING EVERYTHING IN ITS PATH, INCLUDING YOU! -135 THERE IS A LOUD EXPLOSION, AND YOU ARE SUDDENLY SPLASHED ACROSS THE -135 WALLS OF THE ROOM. -136 THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -136 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -136 KNIVES AT YOU! ALL OF THEM GET YOU! -137 OH, LEAVE THE POOR UNHAPPY BIRD ALONE. -138 I DARESAY WHATEVER YOU WANT IS AROUND HERE SOMEWHERE. -139 I DON'T KNOW THE WORD "STOP". USE "QUIT" IF YOU WANT TO GIVE UP. -140 YOU CAN'T GET THERE FROM HERE. -141 YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. -142 IF YOU WANT TO END YOUR ADVENTURE EARLY, SAY "QUIT". TO SUSPEND YOUR -142 ADVENTURE SUCH THAT YOU CAN CONTINUE LATER, SAY "SUSPEND" (OR "PAUSE" -142 OR "SAVE"). TO SEE WHAT HOURS THE CAVE IS NORMALLY OPEN, SAY "HOURS". -142 TO SEE HOW WELL YOU'RE DOING, SAY "SCORE". TO GET FULL CREDIT FOR A -142 TREASURE, YOU MUST HAVE LEFT IT SAFELY IN THE BUILDING, THOUGH YOU GET -142 PARTIAL CREDIT JUST FOR LOCATING IT. YOU LOSE POINTS FOR GETTING -142 KILLED, OR FOR QUITTING, THOUGH THE FORMER COSTS YOU MORE. THERE ARE -142 ALSO POINTS BASED ON HOW MUCH (IF ANY) OF THE CAVE YOU'VE MANAGED TO -142 EXPLORE; IN PARTICULAR, THERE IS A LARGE BONUS JUST FOR GETTING IN (TO -142 DISTINGUISH THE BEGINNERS FROM THE REST OF THE PACK), AND THERE ARE -142 OTHER WAYS TO DETERMINE WHETHER YOU'VE BEEN THROUGH SOME OF THE MORE -142 HARROWING SECTIONS. IF YOU THINK YOU'VE FOUND ALL THE TREASURES, JUST -142 KEEP EXPLORING FOR A WHILE. IF NOTHING INTERESTING HAPPENS, YOU -142 HAVEN'T FOUND THEM ALL YET. IF SOMETHING INTERESTING *DOES* HAPPEN, -142 IT MEANS YOU'RE GETTING A BONUS AND HAVE AN OPPORTUNITY TO GARNER MANY -142 MORE POINTS IN THE MASTER'S SECTION. I MAY OCCASIONALLY OFFER HINTS -142 IF YOU SEEM TO BE HAVING TROUBLE. IF I DO, I'LL WARN YOU IN ADVANCE -142 HOW MUCH IT WILL AFFECT YOUR SCORE TO ACCEPT THE HINTS. FINALLY, TO -142 SAVE PAPER, YOU MAY SPECIFY "BRIEF", WHICH TELLS ME NEVER TO REPEAT -142 THE FULL DESCRIPTION OF A PLACE UNLESS YOU EXPLICITLY ASK ME TO. -143 DO YOU INDEED WISH TO QUIT NOW? -144 THERE IS NOTHING HERE WITH WHICH TO FILL THE VASE. -145 THE SUDDEN CHANGE IN TEMPERATURE HAS DELICATELY SHATTERED THE VASE. -146 IT IS BEYOND YOUR POWER TO DO THAT. -147 I DON'T KNOW HOW. -148 IT IS TOO FAR UP FOR YOU TO REACH. -149 YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY -149 BLACK SMOKE. -150 THE SHELL IS VERY STRONG AND IS IMPERVIOUS TO ATTACK. -151 WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. -152 THE AXE BOUNCES HARMLESSLY OFF THE DRAGON'S THICK SCALES. -153 THE DRAGON LOOKS RATHER NASTY. YOU'D BEST NOT TRY TO GET BY. -154 THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY -154 GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. -155 ON WHAT? -156 OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -156 YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". -157 TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS -157 THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. -158 THE TROLL DEFTLY CATCHES THE AXE, EXAMINES IT CAREFULLY, AND TOSSES IT -158 BACK, DECLARING, "GOOD WORKMANSHIP, BUT IT'S NOT VALUABLE ENOUGH." -159 THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. -160 THE TROLL REFUSES TO LET YOU CROSS. -161 THERE IS NO LONGER ANY WAY ACROSS THE CHASM. -162 JUST AS YOU REACH THE OTHER SIDE, THE BRIDGE BUCKLES BENEATH THE -162 WEIGHT OF THE BEAR, WHICH WAS STILL FOLLOWING YOU AROUND. YOU -162 SCRABBLE DESPERATELY FOR SUPPORT, BUT AS THE BRIDGE COLLAPSES YOU -162 STUMBLE BACK AND FALL INTO THE CHASM. -163 THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -163 SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. -164 THE AXE MISSES AND LANDS NEAR THE BEAR WHERE YOU CAN'T GET AT IT. -165 WITH WHAT? YOUR BARE HANDS? AGAINST *HIS* BEAR HANDS?? -166 THE BEAR IS CONFUSED; HE ONLY WANTS TO BE YOUR FRIEND. -167 FOR CRYING OUT LOUD, THE POOR THING IS ALREADY DEAD! -168 THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -168 DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. -169 THE BEAR IS STILL CHAINED TO THE WALL. -170 THE CHAIN IS STILL LOCKED. -171 THE CHAIN IS NOW UNLOCKED. -172 THE CHAIN IS NOW LOCKED. -173 THERE IS NOTHING HERE TO WHICH THE CHAIN CAN BE LOCKED. -174 THERE IS NOTHING HERE TO EAT. -175 DO YOU WANT THE HINT? -176 DO YOU NEED HELP GETTING OUT OF THE MAZE? -177 YOU CAN MAKE THE PASSAGES LOOK LESS ALIKE BY DROPPING THINGS. -178 ARE YOU TRYING TO EXPLORE BEYOND THE PLOVER ROOM? -179 THERE IS A WAY TO EXPLORE THAT REGION WITHOUT HAVING TO WORRY ABOUT -179 FALLING INTO A PIT. NONE OF THE OBJECTS AVAILABLE IS IMMEDIATELY -179 USEFUL IN DISCOVERING THE SECRET. -180 DO YOU NEED HELP GETTING OUT OF HERE? -181 DON'T GO WEST. -182 GLUTTONY IS NOT ONE OF THE TROLL'S VICES. AVARICE, HOWEVER, IS. -183 YOUR LAMP IS GETTING DIM. YOU'D BEST START WRAPPING THIS UP, UNLESS -183 YOU CAN FIND SOME FRESH BATTERIES. I SEEM TO RECALL THERE'S A VENDING -183 MACHINE IN THE MAZE. BRING SOME COINS WITH YOU. -184 YOUR LAMP HAS RUN OUT OF POWER. -185 THERE'S NOT MUCH POINT IN WANDERING AROUND OUT HERE, AND YOU CAN'T -185 EXPLORE THE CAVE WITHOUT A LAMP. SO LET'S JUST CALL IT A DAY. -186 THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. AS YOU -186 TURN TOWARD THEM, THE BEAM OF YOUR LAMP FALLS ACROSS A BEARDED PIRATE. -186 HE IS CARRYING A LARGE CHEST. "SHIVER ME TIMBERS!" HE CRIES, "I'VE -186 BEEN SPOTTED! I'D BEST HIE MESELF OFF TO THE MAZE TO HIDE ME CHEST!" -186 WITH THAT, HE VANISHES INTO THE GLOOM. -187 YOUR LAMP IS GETTING DIM. YOU'D BEST GO BACK FOR THOSE BATTERIES. -188 YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE -188 BATTERIES. -189 YOUR LAMP IS GETTING DIM, AND YOU'RE OUT OF SPARE BATTERIES. YOU'D -189 BEST START WRAPPING THIS UP. -190 I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. -191 "THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." -192 HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO -192 READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? -193 IT SAYS, "THERE IS SOMETHING STRANGE ABOUT THIS PLACE, SUCH THAT ONE -193 OF THE WORDS I'VE ALWAYS KNOWN NOW HAS A NEW EFFECT." -194 IT SAYS THE SAME THING IT DID BEFORE. -195 I'M AFRAID I DON'T UNDERSTAND. -196 "CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" -197 YOU STRIKE THE MIRROR A RESOUNDING BLOW, WHEREUPON IT SHATTERS INTO A -197 MYRIAD TINY FRAGMENTS. -198 YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. -199 YOU PROD THE NEAREST DWARF, WHO WAKES UP GRUMPILY, TAKES ONE LOOK AT -199 YOU, CURSES, AND GRABS FOR HIS AXE. -200 IS THIS ACCEPTABLE? -201 THERE'S NO POINT IN SUSPENDING A DEMONSTRATION GAME. --1 -7 -1 3 -2 3 -3 8 9 -4 10 -5 11 -6 0 -7 14 15 -8 13 -9 94 -1 -10 96 -11 19 -1 -12 17 27 -13 101 -1 -14 103 -15 0 -16 106 -17 0 -1 -18 0 -19 3 -20 3 -21 0 -22 0 -23 109 -1 -24 25 -1 -25 23 67 -26 111 -1 -27 35 110 -28 0 -29 97 -1 -30 0 -1 -31 119 121 -32 117 122 -33 117 122 -34 0 0 -35 130 -1 -36 0 -1 -37 126 -1 -38 140 -1 -39 0 -40 96 -1 -50 18 -51 27 -52 28 -53 29 -54 30 -55 0 -56 92 -57 95 -58 97 -59 100 -60 101 -61 0 -62 119 121 -63 127 -64 130 -1 --1 -8 -1 24 -2 29 -3 0 -4 33 -5 0 -6 33 -7 38 -8 38 -9 42 -10 14 -11 43 -12 110 -13 29 -14 110 -15 73 -16 75 -17 29 -18 13 -19 59 -20 59 -21 174 -22 109 -23 67 -24 13 -25 147 -26 155 -27 195 -28 146 -29 110 -30 13 -31 13 --1 -9 -0 1 2 3 4 5 6 7 8 9 10 -0 100 115 116 126 -2 1 3 4 7 38 95 113 24 -1 24 -3 46 47 48 54 56 58 82 85 86 -3 122 123 124 125 126 127 128 129 130 -4 8 -5 13 -6 19 -7 42 43 44 45 46 47 48 49 50 51 -7 52 53 54 55 56 80 81 82 86 87 -8 99 100 101 -9 108 --1 -10 -35 YOU ARE OBVIOUSLY A RANK AMATEUR. BETTER LUCK NEXT TIME. -100 YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. -130 YOU HAVE ACHIEVED THE RATING: "EXPERIENCED ADVENTURER". -200 YOU MAY NOW CONSIDER YOURSELF A "SEASONED ADVENTURER". -250 YOU HAVE REACHED "JUNIOR MASTER" STATUS. -300 YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS C. -330 YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS B. -349 YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS A. -9999 ALL OF ADVENTUREDOM GIVES TRIBUTE TO YOU, ADVENTURER GRANDMASTER! --1 -11 -2 9999 10 0 0 -3 9999 5 0 0 -4 4 2 62 63 -5 5 2 18 19 -6 8 2 20 21 -7 75 4 176 177 -8 25 5 178 179 -9 20 3 180 181 --1 -12 -1 A LARGE CLOUD OF GREEN SMOKE APPEARS IN FRONT OF YOU. IT CLEARS AWAY -1 TO REVEAL A TALL WIZARD, CLOTHED IN GREY. HE FIXES YOU WITH A STEELY -1 GLARE AND DECLARES, "THIS ADVENTURE HAS LASTED TOO LONG." WITH THAT -1 HE MAKES A SINGLE PASS OVER YOU WITH HIS HANDS, AND EVERYTHING AROUND -1 YOU FADES AWAY INTO A GREY NOTHINGNESS. -2 EVEN WIZARDS HAVE TO WAIT LONGER THAN THAT! -3 I'M TERRIBLY SORRY, BUT COLOSSAL CAVE IS CLOSED. OUR HOURS ARE: -4 ONLY WIZARDS ARE PERMITTED WITHIN THE CAVE RIGHT NOW. -5 WE DO ALLOW VISITORS TO MAKE SHORT EXPLORATIONS DURING OUR OFF HOURS. -5 WOULD YOU LIKE TO DO THAT? -6 COLOSSAL CAVE IS OPEN TO REGULAR ADVENTURERS AT THE FOLLOWING HOURS: -7 VERY WELL. -8 ONLY A WIZARD MAY CONTINUE AN ADVENTURE THIS SOON. -9 I SUGGEST YOU RESUME YOUR ADVENTURE AT A LATER TIME. -10 DO YOU WISH TO SEE THE HOURS? -11 DO YOU WISH TO CHANGE THE HOURS? -12 NEW MAGIC WORD (NULL TO LEAVE UNCHANGED): -13 NEW MAGIC NUMBER (NULL TO LEAVE UNCHANGED): -14 DO YOU WISH TO CHANGE THE MESSAGE OF THE DAY? -15 OKAY. YOU CAN SAVE THIS VERSION NOW. -16 ARE YOU A WIZARD? -17 PROVE IT! SAY THE MAGIC WORD! -18 THAT IS NOT WHAT I THOUGHT IT WAS. DO YOU KNOW WHAT I THOUGHT IT WAS? -19 OH DEAR, YOU REALLY *ARE* A WIZARD! SORRY TO HAVE BOTHERED YOU . . . -20 FOO, YOU ARE NOTHING BUT A CHARLATAN! -21 NEW HOURS SPECIFIED BY DEFINING "PRIME TIME". GIVE ONLY THE HOUR -21 (E.G. 14, NOT 14:00 OR 2PM). ENTER A NEGATIVE NUMBER AFTER LAST PAIR. -22 NEW HOURS FOR COLOSSAL CAVE: -23 LIMIT LINES TO 70 CHARS. END WITH NULL LINE. -24 LINE TOO LONG, RETYPE: -25 NOT ENOUGH ROOM FOR ANOTHER LINE. ENDING MESSAGE HERE. -26 DO YOU WISH TO (RE)SCHEDULE THE NEXT HOLIDAY? -27 TO BEGIN HOW MANY DAYS FROM TODAY? -28 TO LAST HOW MANY DAYS (ZERO IF NO HOLIDAY)? -29 TO BE CALLED WHAT (UP TO 20 CHARACTERS)? -30 TOO SMALL! ASSUMING MINIMUM VALUE (45 MINUTES). -31 BREAK OUT OF THIS AND SAVE YOUR CORE-IMAGE. -32 BE SURE TO SAVE YOUR CORE-IMAGE... --1 -0 diff --git a/adventure/adventure.py b/adventure/adventure.py deleted file mode 100644 index e8abcaa..0000000 --- a/adventure/adventure.py +++ /dev/null @@ -1,46 +0,0 @@ -"""Offer Adventure at a custom command prompt.""" - -import argparse -import os -import re -from sys import executable, stdout -from time import sleep -from play import load_advent_dat -from game import Game - -BAUD = 1200 - -def baudout(s): - for c in s: - sleep(9. / BAUD) # 8 bits + 1 stop bit @ the given baud rate - stdout.write(c) - stdout.flush() - -def loop(): - parser = argparse.ArgumentParser( - description='Adventure into the Colossal Caves.', - prog='{} -m adventure'.format(os.path.basename(executable))) - parser.add_argument( - 'savefile', nargs='?', help='The filename of game you have saved.') - args = parser.parse_args() - - if args.savefile is None: - game = Game() - load_advent_dat(game) - game.start() - baudout(game.output) - else: - game = Game.resume(args.savefile) - baudout('GAME RESTORED\n') - - while not game.is_finished: - line = input('> ') - words = re.findall(r'\w+', line) - if words: - baudout(game.do_command(words)) - -if __name__ == "__main__": - try: - loop() - except EOFError: - pass diff --git a/adventure/building b/adventure/building deleted file mode 100644 index 6da238f28b68742b30775264c0463dd4309ee0e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55085 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 diff --git a/adventure/data.py b/adventure/data.py deleted file mode 100644 index c38a0f5..0000000 --- a/adventure/data.py +++ /dev/null @@ -1,225 +0,0 @@ -"""Parse the original PDP ``advent.dat`` file.""" - -from operator import attrgetter -from model import Hint, Message, Move, Object, Room, Word - -# The Adventure data file knows only the first five characters of each -# word in the game, so we have to know the full verion of each word. - -long_words = { w[:5]: w for w in """upstream downstream forest -forward continue onward return retreat valley staircase outside building stream -cobble inward inside surface nowhere passage tunnel canyon awkward -upward ascend downward descend outdoors barren across debris broken -examine describe slabroom depression entrance secret bedquilt plover -oriental cavern reservoir office headlamp lantern pillow velvet fissure tablet -oyster magazine spelunker dwarves knives rations bottle mirror beanstalk -stalactite shadow figure drawings pirate dragon message volcano geyser -machine vending batteries carpet nuggets diamonds silver jewelry treasure -trident shards pottery emerald platinum pyramid pearl persian spices capture -release discard mumble unlock nothing extinguish placate travel proceed -continue explore follow attack strike devour inventory detonate ignite -blowup peruse shatter disturb suspend sesame opensesame abracadabra -shazam excavate information""".split() } - -class Data(object): - def __init__(self): - self.rooms = {} - self.vocabulary = {} - self.objects = {} - self.messages = {} - self.class_messages = [] - self.hints = {} - self.magic_messages = {} - - def referent(self, word): - if word.kind == 'noun': - return self.objects[word.n % 1000] - -# Helper functions. - -def make_object(dictionary, klass, n): - if n not in dictionary: - dictionary[n] = obj = klass() - obj.n = n - return dictionary[n] - -def expand_tabs(segments): - it = iter(segments) - line = next(it) - for segment in it: - spaces = 8 - len(line) % 8 - line += ' ' * spaces + segment - return line - -def accumulate_message(dictionary, n, line): - dictionary[n] = dictionary.get(n, '') + line + '\n' - -# Knowledge of what each section contains. - -def section1(data, n, *etc): - room = make_object(data.rooms, Room, n) - if not etc[0].startswith('>$<'): - room.long_description += expand_tabs(etc) + '\n' - -def section2(data, n, line): - make_object(data.rooms, Room, n).short_description += line + '\n' - -def section3(data, x, y, *verbs): - last_travel = data._last_travel - if last_travel[0] == x and last_travel[1][0] == verbs[0]: - verbs = last_travel[1] # same first verb implies use whole list - else: - data._last_travel = [x, verbs] - - m, n = divmod(y, 1000) - mh, mm = divmod(m, 100) - - if m == 0: - condition = (None,) - elif 0 < m < 100: - condition = ('%', m) - elif m == 100: - condition = ('not_dwarf',) - elif 100 < m <= 200: - condition = ('carrying', mm) - elif 200 < m <= 300: - condition = ('carrying_or_in_room_with', mm) - elif 300 < m: - condition = ('prop!=', mm, mh - 3) - - if n <= 300: - action = make_object(data.rooms, Room, n) - elif 300 < n <= 500: - action = n # special computed goto - else: - action = make_object(data.messages, Message, n - 500) - - move = Move() - if len(verbs) == 1 and verbs[0] == 1: - move.is_forced = True - else: - move.verbs = [ make_object(data.vocabulary, Word, verb_n) - for verb_n in verbs if verb_n < 100 ] # skip bad "109" - move.condition = condition - move.action = action - data.rooms[x].travel_table.append(move) - -def section4(data, n, text, *etc): - text = text.lower() - text = long_words.get(text, text) - word = make_object(data.vocabulary, Word, n) - if word.text is None: # this is the first word with index "n" - word.text = text - else: # there is already a word sitting at "n", so create a synonym - original = word - word = Word() - word.n = n - word.text = text - original.add_synonym(word) - word.kind = ['travel', 'noun', 'verb', 'snappy_comeback'][n // 1000] - if word.kind == 'noun': - n %= 1000 - obj = make_object(data.objects, Object, n) - obj.names.append(text) - obj.is_treasure = (n >= 50) - data.objects[text] = obj - if text not in data.vocabulary: # since duplicate names exist - data.vocabulary[text] = word - -def section5(data, n, *etc): - if 1 <= n <= 99: - data._object = make_object(data.objects, Object, n) - data._object.inventory_message = expand_tabs(etc) - else: - n /= 100 - messages = data._object.messages - if etc[0].startswith('>$<'): - more = '' - else: - more = expand_tabs(etc) + '\n' - messages[n] = messages.get(n, '') + more - -def section6(data, n, *etc): - message = make_object(data.messages, Message, n) - message.text += expand_tabs(etc) + '\n' - -def section7(data, n, room_n, *etc): - if not room_n: - return - obj = make_object(data.objects, Object, n) - room = make_object(data.rooms, Room, room_n) - obj.drop(room) - if len(etc): - if etc[0] == -1: - obj.is_fixed = True - else: - room2 = make_object(data.rooms, Room, etc[0]) - obj.rooms.append(room2) # exists two places, like grate - obj.starting_rooms = list(obj.rooms) # remember where things started - -def section8(data, word_n, message_n): - if not message_n: - return - word = make_object(data.vocabulary, Word, word_n + 2000) - message = make_object(data.messages, Message, message_n) - for word2 in word.synonyms: - word2.default_message = message - -def section9(data, bit, *nlist): - for n in nlist: - room = make_object(data.rooms, Room, n) - if bit == 0: - room.is_light = True - elif bit == 1: - room.liquid = make_object(data.objects, Object, 22) #oil - elif bit == 2: - room.liquid = make_object(data.objects, Object, 21) #water - elif bit == 3: - room.is_forbidden_to_pirate = True - else: - hint = make_object(data.hints, Hint, bit) - hint.rooms.append(room) - -def section10(data, score, line, *etc): - data.class_messages.append((score, line)) - -def section11(data, n, turns_needed, penalty, question_n, message_n): - hint = make_object(data.hints, Hint, n) - hint.turns_needed = turns_needed - hint.penalty = penalty - hint.question = make_object(data.messages, Message, question_n) - hint.message = make_object(data.messages, Message, message_n) - -def section12(data, n, line): - accumulate_message(data.magic_messages, n, line) - -# Process every section of the file in turn. - -def parse(data, datafile): - """Read the Adventure data file and return a ``Data`` object.""" - data._last_travel = [0, [0]] # x and verbs used by section 3 - - while True: - section_number = int(datafile.readline()) - if not section_number: # no further sections - break - store = globals().get('section%d' % section_number) - while True: - fields = [ (int(field) if field.lstrip('-').isdigit() else field) - for field in datafile.readline().strip().split('\t') ] - if fields[0] == -1: # end-of-section marker - break - store(data, *fields) - - del data._last_travel # state used by section 3 - del data._object # state used by section 5 - - data.object_list = sorted(set(data.objects.values()), key=attrgetter('n')) - #data.room_list = sorted(set(data.rooms.values()), key=attrgetter('n')) - for obj in data.object_list: - name = obj.names[0] - if hasattr(data, name): - name = name + '2' # create identifiers like ROD2, PLANT2 - setattr(data, name, obj) - - return data diff --git a/adventure/game.py b/adventure/game.py deleted file mode 100644 index 48ad13e..0000000 --- a/adventure/game.py +++ /dev/null @@ -1,1713 +0,0 @@ -"""How we keep track of the state of the game.""" - -# Numeric comments scattered through this file refer to FORTRAN line -# numbers, for those comparing this file and `advent.for`; so "#2012" -# refers to FORTRAN line number 2012 (which you can find easily in the -# FORTRAN using Emacs with an interactive search for newline-2012-tab, -# that is typed C-s C-q C-j 2 0 1 2 C-i). - -import os -import pickle -import random -import zlib -from operator import attrgetter -from data import Data -from model import Room, Message, Dwarf, Pirate - -YESNO_ANSWERS = {'y': True, 'yes': True, 'n': False, 'no': False} - -class Game(Data): - - look_complaints = 3 # how many times to "SORRY, BUT I AM NOT ALLOWED..." - full_description_period = 5 # how often we use a room's full description - full_wests = 0 # how many times they have typed "west" instead of "w" - dwarf_stage = 0 # DFLAG how active the dwarves are - dwarves_killed = 0 # DKILL - knife_location = None # KNFLOC - foobar = -1 # FOOBAR turn number of most recent still-valid "fee" - gave_up = False - treasures_not_found = 0 # TALLY how many treasures have not yet been seen - impossible_treasures = 0 # TALLY2 how many treasures can never be retrieved - lamp_turns = 330 - warned_about_dim_lamp = False - bonus = 0 # how they exited the final bonus round - is_dead = False # whether we are currently dead - deaths = 0 # how many times the player has died - max_deaths = 3 # how many times the player can die - turns = 0 - - def __init__(self, seed=None): - Data.__init__(self) - self.output = '' - self.yesno_callback = False - self.yesno_casual = False # whether to insist they answer - - self.clock1 = 30 # counts down from finding last treasure - self.clock2 = 50 # counts down until cave closes - self.is_closing = False # is the cave closing? - self.panic = False # they tried to leave during closing? - self.is_closed = False # is the cave closed? - self.is_done = False # caller can check for "game over" - self.could_fall_in_pit = False # could the player fall into a pit? - - self.random_generator = random.Random() - if seed is not None: - self.random_generator.seed(seed) - - def random(self): - return self.random_generator.random() - - def choice(self, seq): - return self.random_generator.choice(seq) - - def write(self, more): - """Append the Unicode representation of `s` to our output.""" - if more: - self.output += str(more).upper() - self.output += '\n' - - def write_message(self, n): - self.write(self.messages[n]) - - def yesno(self, s, yesno_callback, casual=False): - """Ask a question and prepare to receive a yes-or-no answer.""" - self.write(s) - self.yesno_callback = yesno_callback - self.yesno_casual = casual - - # Properties of the cave. - - @property - def is_dark(self): - lamp = self.objects['lamp'] - if self.is_here(lamp) and lamp.prop: - return False - return self.loc.is_dark - - @property - def inventory(self): - return [ obj for obj in self.object_list if obj.is_toting ] - - @property - def treasures(self): - return [ obj for obj in self.object_list if obj.is_treasure ] - - @property - def objects_here(self): - return self.objects_at(self.loc) - - def objects_at(self, room): - return [ obj for obj in self.object_list if room in obj.rooms ] - - def is_here(self, obj): - if isinstance(obj, Dwarf): - return self.loc is obj.room - else: - return obj.is_toting or (self.loc in obj.rooms) - - @property - def is_finished(self): - return (self.is_dead or self.is_done) and not self.yesno_callback - - # Game startup - - def start(self): - """Start the game.""" - - # For old-fashioned players, accept five-letter truncations like - # "inven" instead of insisting on full words like "inventory". - - for key, value in list(self.vocabulary.items()): - if isinstance(key, str) and len(key) > 5: - self.vocabulary[key[:5]] = value - - # Set things going. - - self.chest_room = self.rooms[114] - self.bottle.contents = self.water - self.yesno(self.messages[65], self.start2) # want instructions? - - def start2(self, yes): - """Display instructions if the user wants them.""" - if yes: - self.write_message(1) - self.hints[3].used = True - self.lamp_turns = 1000 - - self.oldloc2 = self.oldloc = self.loc = self.rooms[1] - self.dwarves = [ Dwarf(self.rooms[n]) for n in (19, 27, 33, 44, 64) ] - self.pirate = Pirate(self.chest_room) - - treasures = self.treasures - self.treasures_not_found = len(treasures) - for treasure in treasures: - treasure.prop = -1 - - self.describe_location() - - # Routines that handle the aftermath of "big" actions like movement. - # Although these are called at the end of each `do_command()` cycle, - # we place here at the top of `game.py` to mirror the order in the - # advent.for file. - - def move_to(self, newloc=None): #2 - loc = self.loc - if newloc is None: - newloc = loc - - if self.is_closing and newloc.is_aboveground: - self.write_message(130) - newloc = loc # cancel move and put him back underground - if not self.panic: - self.clock2 = 15 - self.panic = True - - must_allow_move = ((newloc is loc) or (loc.is_forced) - or (loc.is_forbidden_to_pirate)) - - dwarf_blocking_the_way = any( - dwarf.old_room is newloc and dwarf.has_seen_adventurer - for dwarf in self.dwarves - ) - - if not must_allow_move and dwarf_blocking_the_way: - newloc = loc # cancel move they were going to make - self.write_message(2) # dwarf is blocking the way - - self.loc = loc = newloc #74 - - # IF LOC.EQ.0 ? - is_dwarf_area = not (loc.is_forced or loc.is_forbidden_to_pirate) - if is_dwarf_area and self.dwarf_stage > 0: - self.move_dwarves() - else: - if is_dwarf_area and loc.is_after_hall_of_mists: - self.dwarf_stage = 1 - self.describe_location() - - def move_dwarves(self): - - #6000 - if self.dwarf_stage == 1: - - # 5% chance per turn of meeting first dwarf - if self.loc.is_before_hall_of_mists or self.random() < .95: - self.describe_location() - return - self.dwarf_stage = 2 - for i in range(2): # randomly remove 0, 1, or 2 dwarves - if self.random() < .5: - self.dwarves.remove(self.choice(self.dwarves)) - for dwarf in self.dwarves: - if dwarf.room is self.loc: # move dwarf away from our loc - dwarf.start_at(self.rooms[18]) - self.write_message(3) # dwarf throws axe and curses - self.axe.drop(self.loc) - self.describe_location() - return - - #6010 - dwarf_count = dwarf_attacks = knife_wounds = 0 - - for dwarf in self.dwarves + [ self.pirate ]: - - locations = { move.action for move in dwarf.room.travel_table - if dwarf.can_move(move) - and move.action is not dwarf.old_room - and move.action is not dwarf.room } - # Without stabilizing the order with a sort, the room chosen - # would depend on how the Room addresses in memory happen to - # order the rooms in the set() - and make it impossible to - # test the game by setting the random number generator seed - # and then playing through the game. - locations = sorted(locations, key=attrgetter('n')) - if locations: - new_room = self.choice(locations) - else: - new_room = dwarf.old_room - dwarf.old_room, dwarf.room = dwarf.room, new_room - if self.loc in (dwarf.room, dwarf.old_room): - dwarf.has_seen_adventurer = True - elif self.loc.is_before_hall_of_mists: - dwarf.has_seen_adventurer = False - - if not dwarf.has_seen_adventurer: - continue - - dwarf.room = self.loc - - if dwarf.is_dwarf: - dwarf_count += 1 - # A dwarf cannot walk and attack at the same time. - if dwarf.room is dwarf.old_room: - dwarf_attacks += 1 - self.knife_location = self.loc - if self.random() < .095 * (self.dwarf_stage - 2): - knife_wounds += 1 - - else: # the pirate - pirate = dwarf - - if self.loc is self.chest_room or self.chest.prop >= 0: - continue # decide that the pirate is not really here - - treasures = [ t for t in self.treasures if t.is_toting ] - if (self.platinum in treasures and self.loc.n in (100, 101)): - treasures.remove(self.platinum) - - if not treasures: - h = any( t for t in self.treasures if self.is_here(t) ) - one_treasure_left = (self.treasures_not_found == - self.impossible_treasures + 1) - shiver_me_timbers = ( - one_treasure_left and not h and not(self.chest.rooms) - and self.is_here(self.lamp) and self.lamp.prop == 1 - ) - - if not shiver_me_timbers: - if (pirate.old_room != pirate.room - and self.random() < .2): - self.write_message(127) - continue # pragma: no cover - - self.write_message(186) - self.chest.drop(self.chest_room) - self.message.drop(self.rooms[140]) - - else: - #6022 I'll just take all this booty - self.write_message(128) - if not self.message.rooms: - self.chest.drop(self.chest_room) - self.message.drop(self.rooms[140]) - for treasure in treasures: - treasure.drop(self.chest_room) - - #6024 - pirate.old_room = pirate.room = self.chest_room - pirate.has_seen_adventurer = False # free to move - - # Report what has happened. - - if dwarf_count == 1: - self.write_message(4) - elif dwarf_count: - self.write('There are {} threatening little dwarves in the' - ' room with you.\n'.format(dwarf_count)) - - if dwarf_attacks and self.dwarf_stage == 2: - self.dwarf_stage = 3 - - if dwarf_attacks == 1: - self.write_message(5) - k = 52 - elif dwarf_attacks: - self.write('{} of them throw knives at you!\n'.format(dwarf_attacks)) - k = 6 - - if not dwarf_attacks: - pass - elif not knife_wounds: - self.write_message(k) - else: - if knife_wounds == 1: - self.write_message(k + 1) - else: - self.write('{} of them get you!\n'.format(knife_wounds)) - self.oldloc2 = self.loc - self.die() - return - - self.describe_location() - - def describe_location(self): #2000 - - loc = self.loc - - could_fall = self.is_dark and self.could_fall_in_pit - if could_fall and not loc.is_forced and self.random() < .35: - self.die_here() - return - - if self.bear.is_toting: - self.write_message(141) - - if self.is_dark and not loc.is_forced: - self.write_message(16) - else: - do_short = loc.times_described % self.full_description_period - loc.times_described += 1 - if do_short and loc.short_description: - self.write(loc.short_description) - else: - self.write(loc.long_description) - - if loc.is_forced: - self.do_motion(self.vocabulary[2]) # dummy motion verb - return - - if loc.n == 33 and self.random() < .25 and not self.is_closing: - self.write_message(8) - - if not self.is_dark: - for obj in self.objects_here: - - if obj is self.steps and self.gold.is_toting: - continue - - if obj.prop < 0: # finding a treasure the first time - if self.is_closed: - continue - obj.prop = 1 if obj in (self.rug, self.chain) else 0 - self.treasures_not_found -= 1 - if (self.treasures_not_found > 0 and - self.treasures_not_found == self.impossible_treasures): - self.lamp_turns = min(35, self.lamp_turns) - - if obj is self.steps and self.loc is self.steps.rooms[1]: - prop = 1 - else: - prop = obj.prop - - self.write(obj.messages[prop]) - - self.finish_turn() - - def say_okay_and_finish(self, *ignored): #2009 - self.write_message(54) - self.finish_turn() - - #2009 sets SPK="OK" then... - #2010 sets SPK to K - #2011 speaks SPK then... - #2012 blanks VERB and OBJ and calls: - def finish_turn(self, obj=None): #2600 - - # Advance random number generator so each input affects future. - self.random() - - # Check whether we should offer a hint. - for hint in self.hints.values(): - if hint.turns_needed == 9999 or hint.used: - continue - if self.loc in hint.rooms: - hint.turn_counter += 1 - if hint.turn_counter >= hint.turns_needed: - if hint.n != 5: # hint 5 counter does not get reset - hint.turn_counter = 0 - if self.should_offer_hint(hint, obj): - hint.turn_counter = 0 - - def callback(yes): - if yes: - self.write(hint.message) - hint.used = True - else: - self.write_message(54) - - self.yesno(hint.question, callback) - return - else: - hint.turn_counter = 0 - - if self.is_closed: - if self.oyster.prop < 0 and self.oyster.is_toting: - self.write(self.oyster.messages[1]) - for obj in self.inventory: - if obj.prop < 0: - obj.prop = - 1 - obj.prop - - self.could_fall_in_pit = self.is_dark #2605 - if self.knife_location and self.knife_location is not self.loc: - self.knife_location = None - - # The central do_command() method, that should be called over and - # over again with words supplied by the user. - - def do_command(self, words): - """Parse and act upon the command in the list of strings `words`.""" - self.output = '' - self._do_command(words) - return self.output - - def _do_command(self, words): - if self.yesno_callback is not None: - answer = YESNO_ANSWERS.get(words[0], None) - if answer is None: - if self.yesno_casual: - self.yesno_callback = None - else: - self.write('Please answer the question.') - return - else: - callback = self.yesno_callback - self.yesno_callback = None - callback(answer) - return - - if self.is_dead: - self.write('You have gotten yourself killed.') - return - - #2608 - self.turns += 1 - if (self.treasures_not_found == 0 - and self.loc.n >= 15 and self.loc.n != 33): - self.clock1 -= 1 - if self.clock1 == 0: - self.start_closing_cave() # no "return", to do their command - if self.clock1 < 0: - self.clock2 -= 1 - if self.clock2 == 0: - return self.close_cave() # "return", to cancel their command - - if self.lamp.prop == 1: - self.lamp_turns -= 1 - - if self.lamp_turns <= 30 and self.is_here(self.batteries) \ - and self.batteries.prop == 0 and self.is_here(self.lamp): - #12000 - self.write_message(188) - self.batteries.prop = 1 - if self.batteries.is_toting: - self.batteries.drop(self.loc) - self.lamp_turns += 2500 - self.warned_about_dim_lamp = False - elif self.lamp_turns == 0: - #12400 - self.lamp_turns = -1 - self.lamp.prop = 0 - if self.is_here(self.lamp): - self.write_message(184) - elif self.lamp_turns < 0 and self.loc.is_aboveground: - #12600 - self.write_message(185) - self.gave_up = True - self.score_and_exit() - return - elif self.lamp_turns <= 30 and not self.warned_about_dim_lamp \ - and self.is_here(self.lamp): - #12200 - self.warned_about_dim_lamp = True - if self.batteries.prop == 1: - self.write_message(189) - elif not self.batteries.rooms: - self.write_message(183) - else: - self.write_message(187) - - self.dispatch_command(words) - - def dispatch_command(self, words): #19999 - - if not 1 <= len(words) <= 2: - return self.dont_understand() - - if words[0] == 'save' and len(words) > 1: - # Handle suspend separately, since filename can be anything, - # and is not restricted to being a vocabulary word (and, in - # fact, it can be an open file). - return self.t_suspend(words[0], words[1]) - - words = [ self.vocabulary.get(word) for word in words ] - if None in words: - return self.dont_understand() - - word1 = words[0] - word2 = words[1] if len(words) == 2 else None - - if word1 == 'enter' and (word2 == 'stream' or word2 == 'water'): - if self.loc.liquid is self.water: - self.write_message(70) - else: - self.write_message(43) - return self.finish_turn() - - if (word1 == 'enter' or word1 == 'walk') and word2: - #2800 'enter house' becomes simply 'house' and so forth - word1, word2 = word2, None - - if ((word1 == 'water' or word1 == 'oil') and - (word2 == 'plant' or word2 == 'door') and - self.is_here(self.referent(word2))): - word1, word2 = self.vocabulary['pour'], word1 - - if word1 == 'say': - return self.t_say(word1, word2) if word2 else self.i_say(word1) - - kinds = (word1.kind, word2.kind if word2 else None) - - #2630 - if kinds == ('travel', None): - if word1.text == 'west': #2610 - self.full_wests += 1 - if self.full_wests == 10: - self.write_message(17) - return self.do_motion(word1) - - if kinds == ('snappy_comeback', None): - self.write_message(word1.n % 1000) - return self.finish_turn() - - if kinds == ('noun', None): - verb, noun = None, word1 - elif kinds == ('verb', None): - verb, noun = word1, None - elif kinds == ('verb', 'noun'): - verb, noun = word1, word2 - elif kinds == ('noun', 'verb'): - noun, verb = word1, word2 - else: - return self.dont_understand() - - if not noun: - obj = None - else: - obj = self.referent(noun) - obj_here = self.is_here(obj) - if not obj_here: - if obj is self.grate: - if self.loc.n in (1, 4, 7): - return self.dispatch_command([ 'depression' ]) - elif 9 < self.loc.n < 15: - return self.dispatch_command([ 'entrance' ]) - elif noun == 'dwarf': - obj_here = any( d.room is self.loc for d in self.dwarves ) - elif obj is self.bottle.contents and self.is_here(self.bottle): - obj_here = True - elif obj is self.loc.liquid: - obj_here = True - elif (obj is self.plant and self.is_here(self.plant2) - and self.plant2.prop != 0): - obj = self.plant2 - obj_here = True - elif obj is self.knife and self.knife_location is self.loc: - self.knife_location = None - self.write_message(116) - return self.finish_turn() - elif obj is self.rod and self.is_here(self.rod2): - obj = self.rod2 - obj_here = True - elif verb and (verb == 'find' or verb == 'inventory'): - obj_here = True # lie; these verbs work for absent objects - - if not obj_here: - return self.i_see_no(noun) - - if not verb: - self.write('What do you want to do with the {}?\n'.format( - noun.text)) - return self.finish_turn() - - verb_name = verb.synonyms[0].text - if obj: - method_name = 't_' + verb_name - args = (verb, obj) - else: - method_name = 'i_' + verb_name - args = (verb,) - method = getattr(self, method_name) - method(*args) - - def dont_understand(self): - #3000 (a bit earlier than in the Fortran code) - n = self.random() - if n < 0.20: # 20% of the entire 1.0 range of random() - self.write_message(61) - elif n < 0.36: # 20% of the remaining 0.8 left - self.write_message(13) - else: - self.write_message(60) - self.finish_turn() - - def i_see_no(self, thing): - self.write('I see no {} here.\n'.format(getattr(thing, 'text', thing))) - self.finish_turn() - - # Motion. - - def do_motion(self, word): #8 - - if word == 'null': #2 - self.move_to() - return - - elif word == 'back': #20 - dest = self.oldloc2 if self.oldloc.is_forced else self.oldloc - self.oldloc2, self.oldloc = self.oldloc, self.loc - if dest is self.loc: - self.write_message(91) - self.move_to() - return - alt = None - for move in self.loc.travel_table: - if move.action is dest: - word = move.verbs[0] # arbitrary verb going to `dest` - break # Fall through, to attempt the move. - elif (isinstance(move.action, Room) - and move.action.is_forced - and move.action.travel_table[0].action is dest): - alt = move.verbs[0] - else: # no direct route is available - if alt is not None: - word = alt # take a forced move if it's the only option - else: - self.write_message(140) - self.move_to() - return - - elif word == 'look': #30 - if self.look_complaints > 0: - self.write_message(15) - self.look_complaints -= 1 - self.loc.times_described = 0 - self.move_to() - self.could_fall_in_pit = False - return - - elif word == 'cave': #40 - self.write_message(57 if self.loc.is_aboveground else 58) - self.move_to() - return - - self.oldloc2, self.oldloc = self.oldloc, self.loc - - for move in self.loc.travel_table: - if move.is_forced or word in move.verbs: - c = move.condition - - if c[0] is None or c[0] == 'not_dwarf': - allowed = True - elif c[0] == '%': - allowed = 100 * self.random() < c[1] - elif c[0] == 'carrying': - allowed = self.objects[c[1]].is_toting - elif c[0] == 'carrying_or_in_room_with': - allowed = self.is_here(self.objects[c[1]]) - elif c[0] == 'prop!=': - allowed = self.objects[c[1]].prop != c[2] - - if not allowed: - continue - - if isinstance(move.action, Room): - self.move_to(move.action) - return - - elif isinstance(move.action, Message): - self.write(move.action) - self.move_to() - return - - elif move.action == 301: #30100 - inv = self.inventory - if len(inv) != 0 and inv != [ self.emerald ]: - self.write_message(117) - self.move_to() - elif self.loc.n == 100: - self.move_to(self.rooms[99]) - else: - self.move_to(self.rooms[100]) - return - - elif move.action == 302: #30200 - self.emerald.drop(self.loc) - self.do_motion(word) - return - - elif move.action == 303: #30300 - troll, troll2 = self.troll, self.troll2 - if troll.prop == 1: - self.write(troll.messages[1]) - troll.prop = 0 - troll.rooms = list(troll.starting_rooms) - troll2.destroy() - self.move_to() - return - else: - places = list(troll.starting_rooms) - places.remove(self.loc) - self.loc = places[0] # "the other side of the bridge" - if troll.prop == 0: - troll.prop = 1 - if not self.bear.is_toting: - self.move_to() - return - self.write_message(162) - self.chasm.prop = 1 - troll.prop = 2 - self.bear.drop(self.loc) - self.bear.is_fixed = True - self.bear.prop = 3 - if self.spices.prop < 0: - self.impossible_treasures += 1 - self.oldloc2 = self.loc # refuse to strand belongings - self.die() - return - - #50 - n = word.n - if 29 <= n <= 30 or 43 <= n <= 50: - self.write_message(9) - elif n in (7, 36, 37): - self.write_message(10) - elif n in (11, 19): - self.write_message(11) - elif n in (62, 65): - self.write_message(42) - elif n == 17: - self.write_message(80) - else: - self.write_message(12) - self.move_to() - return - - # Death and reincarnation. - - def die_here(self): #90 - self.write_message(23) - self.oldloc2 = self.loc - self.die() - - def die(self): #99 - self.deaths += 1 - self.is_dead = True - - if self.is_closing: - self.write_message(131) - self.score_and_exit() - return - - def callback(yes): - if yes: - self.write_message(80 + self.deaths * 2) - if self.deaths < self.max_deaths: - # do water and oil thing - self.is_dead = False - if self.lamp.is_toting: - self.lamp.prop = 0 - for obj in self.inventory: - if obj is self.lamp: - obj.drop(self.rooms[1]) - else: - obj.drop(self.oldloc2) - self.loc = self.rooms[3] - self.describe_location() - return - else: - self.write_message(54) - self.score_and_exit() - - self.yesno(self.messages[79 + self.deaths * 2], callback) - - # Verbs. - - def ask_verb_what(self, verb, *args): #8000 - self.write('{} What?\n'.format(verb.text)) - self.finish_turn() - - i_walk = ask_verb_what - i_drop = ask_verb_what - i_say = ask_verb_what - i_nothing = say_okay_and_finish - i_wave = ask_verb_what - i_calm = ask_verb_what - i_rub = ask_verb_what - i_throw = ask_verb_what - i_find = ask_verb_what - i_feed = ask_verb_what - i_break = ask_verb_what - i_wake = ask_verb_what - - def write_default_message(self, verb, *args): - self.write(verb.default_message) - self.finish_turn() - - t_nothing = say_okay_and_finish - t_calm = write_default_message - t_quit = write_default_message - t_score = write_default_message - t_fee = write_default_message - t_brief = write_default_message - t_hours = write_default_message - - def i_carry(self, verb): #8010 - is_dwarf_here = any( dwarf.room == self.loc for dwarf in self.dwarves ) - objs = self.objects_here - if len(objs) != 1 or is_dwarf_here: - self.ask_verb_what(verb) - else: - self.t_carry(verb, objs[0]) - - def t_carry(self, verb, obj): #9010 - if obj.is_toting: - self.write(verb.default_message) - self.finish_turn() - return - if obj.is_fixed or len(obj.rooms) > 1: - if obj is self.plant and obj.prop <= 0: - self.write_message(115) - elif obj is self.bear and obj.prop == 1: - self.write_message(169) - elif obj is self.chain and self.chain.prop != 0: - self.write_message(170) - else: - self.write_message(25) - self.finish_turn() - return - if obj is self.water or obj is self.oil: - if self.is_here(self.bottle) and self.bottle.contents is obj: - # They want to carry the filled bottle. - obj = self.bottle - else: - # They must mean they want to fill the bottle. - if not self.bottle.is_toting: - self.write_message(104) - elif self.bottle.contents is not None: - self.write_message(105) - else: - self.t_fill(verb, self.bottle) # hand off control to "fill" - return - self.finish_turn() - return - if len(self.inventory) >= 7: - self.write_message(92) - self.finish_turn() - return - if obj is self.bird and obj.prop == 0: - if self.rod.is_toting: - self.write_message(26) - self.finish_turn(obj) # needs obj to decide to give hint - return - if not self.cage.is_toting: - self.write_message(27) - self.finish_turn() - return - self.bird.prop = 1 - if (obj is self.bird or obj is self.cage) and self.bird.prop != 0: - self.bird.carry() - self.cage.carry() - else: - obj.carry() - if obj is self.bottle and self.bottle.contents is not None: - self.bottle.contents.carry() - self.say_okay_and_finish() - - def t_drop(self, verb, obj): #9020 - if obj is self.rod and not self.rod.is_toting and self.rod2.is_toting: - obj = self.rod2 - - if not obj.is_toting: - self.write(verb.default_message) - self.finish_turn() - return - - bird, snake, dragon, bear, troll = self.bird, self.snake, self.dragon, \ - self.bear, self.troll - - if obj is bird and self.is_here(snake): - self.write_message(30) - if self.is_closed: - self.wake_repository_dwarves() - return - snake.prop = 1 - snake.destroy() - - elif obj is self.coins and self.is_here(self.machine): - obj.destroy() - self.batteries.drop(self.loc) - self.write(self.batteries.messages[0]) - self.finish_turn() - return - - elif obj is bird and self.is_here(dragon) and dragon.prop == 0: - self.write_message(154) - bird.destroy() - bird.prop = 0 - if snake.rooms: - self.impossible_treasures += 1 - self.finish_turn() - return - - elif obj is bear and self.is_here(troll): - self.write_message(163) - troll.destroy() - self.troll2.rooms = list(self.troll.starting_rooms) - troll.prop = 2 - - elif obj is self.vase and self.loc is not self.rooms[96]: - if self.pillow.is_at(self.loc): - self.vase.prop = 0 - else: - self.vase.prop = 2 - self.vase.is_fixed = True - self.write(self.vase.messages[self.vase.prop + 1]) - - else: - self.write_message(54) - - #9021 - if obj is self.bottle.contents: - obj = self.bottle - if obj is self.bottle and self.bottle.contents: - self.bottle.contents.hide() - if obj is self.cage and self.bird.prop != 0: - bird.drop(self.loc) - elif obj is self.bird: - obj.prop = 0 - obj.drop(self.loc) - self.finish_turn() - return - - def t_say(self, verb, word): #9030 - if word.n in (62, 65, 71, 2025): - self.dispatch_command([ word.text ]) - else: - self.write('Okay, "{}".'.format(word.text)) - self.finish_turn() - - def i_unlock(self, verb): #8040 Handles "unlock" case as well - objs = (self.grate, self.door, self.oyster, self.clam, self.chain) - objs = list(filter(self.is_here, objs)) - if len(objs) > 1: - self.ask_verb_what(verb) - elif len(objs) == 1: - self.t_unlock(verb, objs[0]) - else: - self.write_message(28) - self.finish_turn() - - i_lock = i_unlock - - def t_unlock(self, verb, obj): #9040 Handles "lock" case as well - if obj is self.clam or obj is self.oyster: - #9046 - oy = 1 if (obj is self.oyster) else 0 - if verb == 'lock': - self.write_message(61) - elif not self.trident.is_toting: - self.write_message(122 + oy) - elif obj.is_toting: - self.write_message(120 + oy) - elif obj is self.oyster: - self.write_message(125) - else: - self.write_message(124) - self.clam.destroy() - self.oyster.drop(self.loc) - self.pearl.drop(self.rooms[105]) - elif obj is self.door: - if obj.prop == 1: - self.write_message(54) - else: - self.write_message(111) - elif obj is self.cage: - self.write_message(32) - elif obj is self.keys: - self.write_message(55) - elif obj is self.grate or obj is self.chain: - if not self.is_here(self.keys): - self.write_message(31) - elif obj is self.chain: - #9048 - if verb == 'unlock': - if self.chain.prop == 0: - self.write_message(37) - elif self.bear.prop == 0: - self.write_message(41) - else: - self.chain.prop = 0 - self.chain.is_fixed = False - if self.bear.prop != 3: - self.bear.prop = 2 - self.bear.is_fixed = 2 - self.bear.prop - self.write_message(171) - else: - #9049 - if self.loc not in self.chain.starting_rooms: - self.write_message(173) - elif self.chain.prop != 0: - self.write_message(34) - else: - self.chain.prop = 2 - if self.chain.is_toting: - self.chain.drop(self.loc) - self.chain.is_fixed = True - self.write_message(172) - elif self.is_closing: - if not self.panic: - self.clock2 = 15 - self.panic = True - self.write_message(130) - else: - #9043 - oldprop = obj.prop - obj.prop = 0 if verb == 'lock' else 1 - self.write_message(34 + oldprop + 2 * obj.prop) - else: - self.write(verb.default_message) - self.finish_turn() - - t_lock = t_unlock - - def t_light(self, verb, obj=None): #9070 - if not self.is_here(self.lamp): - self.write(verb.default_message) - elif self.lamp_turns <= 0: - self.write_message(184) - else: - self.lamp.prop = 1 - self.write_message(39) - if self.loc.is_dark: - return self.describe_location() - self.finish_turn() - - i_light = t_light - - def t_extinguish(self, verb, obj=None): #9080 - if not self.is_here(self.lamp): - self.write(verb.default_message) - else: - self.lamp.prop = 0 - self.write_message(40) - if self.loc.is_dark: - self.write_message(16) - self.finish_turn() - - i_extinguish = t_extinguish - - def t_wave(self, verb, obj): #9090 - fissure = self.fissure - - if (obj is self.rod and obj.is_toting and self.is_here(fissure) - and not self.is_closing): - fissure.prop = 0 if fissure.prop else 1 - self.write(fissure.messages[2 - fissure.prop]) - else: - if obj.is_toting or (obj is self.rod and self.rod2.is_toting): - self.write(verb.default_message) - else: - self.write_message(29) - - self.finish_turn() - - def i_attack(self, verb): #9120 - enemies = [ self.snake, self.dragon, self.troll, self.bear ] - if self.dwarf_stage >= 2: - enemies.extend(self.dwarves) - dangers = list(filter(self.is_here, enemies)) - if len(dangers) > 1: - return self.ask_verb_what(verb) - if len(dangers) == 1: - return self.t_attack(verb, dangers[0]) - targets = [] - if self.is_here(self.bird) and verb != 'throw': - targets.append(self.bird) - if self.is_here(self.clam) or self.is_here(self.oyster): - targets.append(self.clam) - if len(targets) > 1: - return self.ask_verb_what(verb) - elif len(targets) == 1: - return self.t_attack(verb, targets[0]) - else: - return self.t_attack(verb, None) - - def t_attack(self, verb, obj): #9124 (but control goes to 9120 first) - if obj is self.bird: - if self.is_closed: - self.write_message(137) - else: - obj.destroy() - obj.prop = 0 - if self.snake.rooms: - self.impossible_treasures += 1 - self.write_message(45) - elif obj is self.clam or obj is self.oyster: - self.write_message(150) - elif obj is self.snake: - self.write_message(46) - elif obj is self.dwarf: - if self.is_closed: - self.wake_repository_dwarves() - return - self.write_message(49) - elif obj is self.dragon: - if self.dragon.prop != 0: - self.write_message(167) - else: - def callback(yes): - self.write(obj.messages[1]) - obj.prop = 2 - obj.is_fixed = True - oldroom1 = obj.rooms[0] - oldroom2 = obj.rooms[1] - newroom = self.rooms[ (oldroom1.n + oldroom2.n) // 2 ] - obj.drop(newroom) - self.rug.prop = 0 - self.rug.is_fixed = False - self.rug.drop(newroom) - for oldroom in (oldroom1, oldroom2): - for o in self.objects_at(oldroom): - o.drop(newroom) - self.move_to(newroom) - self.yesno(self.messages[49], callback, casual=True) - return - elif obj is self.troll: - self.write_message(157) - elif obj is self.bear: - self.write_message(165 + (self.bear.prop + 1) // 2) - else: - self.write_message(44) - self.finish_turn() - - def i_pour(self, verb): #9130 - if self.bottle.contents is None: - self.ask_verb_what(verb) - else: - self.t_pour(verb, self.bottle.contents) - - def t_pour(self, verb, obj): - if obj is self.bottle: - return self.i_pour(verb) - if not obj.is_toting: - self.write(verb.default_message) - elif obj is not self.oil and obj is not self.water: - self.write_message(78) - else: - self.bottle.prop = 1 - self.bottle.contents = None - obj.hide() - if self.is_here(self.plant): - if obj is not self.water: - self.write_message(112) - else: - self.write(self.plant.messages[self.plant.prop + 1]) - self.plant.prop = (self.plant.prop + 2) % 6 - self.plant2.prop = self.plant.prop // 2 - return self.move_to() - elif self.is_here(self.door): - #9132 - self.door.prop = 1 if obj is self.oil else 0 - self.write_message(113 + self.door.prop) - else: - self.write_message(77) - return self.finish_turn() - - def i_eat(self, verb): #8140 - if self.is_here(self.food): - self.t_eat(verb, self.food) - else: - self.ask_verb_what(verb) - - def t_eat(self, verb, obj): #9140 - if obj is self.food: - #8142 - self.food.destroy() - self.write_message(72) - elif obj in (self.bird, self.snake, self.clam, self.oyster, - self.dwarf, self.dragon, self.troll, self.bear): - self.write_message(71) - else: - self.write(verb.default_message) - self.finish_turn() - - def i_drink(self, verb): #9150 - if self.is_here(self.water) or self.loc.liquid is self.water: - self.t_drink(verb, self.water) - else: - self.ask_verb_what(verb) - - def t_drink(self, verb, obj): #9150 - if obj is not self.water: - self.write_message(110) - elif self.is_here(self.water): - self.bottle.prop = 1 - self.bottle.contents = None - self.water.destroy() - self.write_message(74) - elif self.loc.liquid is self.water: - self.write(verb.default_message) - self.finish_turn() - - def t_rub(self, verb, obj): #9160 - if obj is self.lamp: - self.write(verb.default_message) - else: - self.write_message(71) - self.finish_turn() - - def t_throw(self, verb, obj): #9170 - if obj is self.rod and not self.rod.is_toting and self.rod2.is_toting: - obj = self.rod2 - - if not obj.is_toting: - self.write(verb.default_message) - self.finish_turn() - return - - if obj.is_treasure and self.is_here(self.troll): - # Pay the troll toll - self.write_message(159) - obj.destroy() - self.troll.destroy() - self.troll2.rooms = list(self.troll.starting_rooms) - self.finish_turn() - return - - if obj is self.food and self.is_here(self.bear): - self.t_feed(verb, self.bear) - return - - if obj is not self.axe: - self.t_drop(verb, obj) - return - - dwarves_here = [ d for d in self.dwarves if d.room is self.loc ] - if dwarves_here: - # 1/3rd chance that throwing the axe kills a dwarf - if self.choice((True, False, False)): - self.dwarves.remove(dwarves_here[0]) - self.dwarves_killed += 1 - if self.dwarves_killed == 1: - self.write_message(149) - else: - self.write_message(47) - else: - self.write_message(48) # Miss - self.axe.drop(self.loc) - self.do_motion(self.vocabulary['null']) - return - - if self.is_here(self.dragon) and self.dragon.prop == 0: - self.write_message(152) - self.axe.drop(self.loc) - self.do_motion(self.vocabulary['null']) - return - - if self.is_here(self.troll): - self.write_message(158) - self.axe.drop(self.loc) - self.do_motion(self.vocabulary['null']) - return - - if self.is_here(self.bear) and self.bear.prop == 0: - self.write_message(164) - self.axe.drop(self.loc) - self.axe.is_fixed = True - self.axe.prop = 1 - self.finish_turn() - return - - self.t_attack(verb, None) - - def i_quit(self, verb): #8180 - def callback(yes): - self.write_message(54) - if yes: - self.score_and_exit() - self.yesno(self.messages[22], callback) - - def t_find(self, verb, obj): #9190 - if obj.is_toting: - self.write_message(24) - elif self.is_closed: - self.write_message(138) - elif (self.is_here(obj) or - obj is self.loc.liquid or - obj is self.dwarf and any(d.room is self.loc for d in self.dwarves)): - self.write_message(94) - else: - self.write(verb.default_message) - self.finish_turn() - - t_inventory = t_find - - def i_inventory(self, verb): #8200 - first = True - objs = [ obj for obj in self.inventory if obj is not self.bear ] - for obj in objs: - if first: - self.write_message(99) - first = False - self.write(obj.inventory_message) - if self.bear.is_toting: - self.write_message(141) - if not objs: - self.write_message(98) - self.finish_turn() - - def t_feed(self, verb, obj): #9210 - if obj is self.bird: - self.write_message(100) - elif obj is self.troll: - self.write_message(182) - elif obj is self.dragon: - if self.dragon.prop != 0: - self.write_message(110) - else: - self.write_message(102) - elif obj is self.snake: - if self.is_closed or not self.is_here(self.bird): - self.write_message(102) - else: - self.write_message(101) - self.bird.destroy() - self.bird.prop = 0 - self.impossible_treasures += 1 - elif obj is self.dwarf: - if self.is_here(self.food): - self.write_message(103) - self.dwarf_stage += 1 - else: - self.write(verb.default_message) - elif obj is self.bear: - if not self.is_here(self.food): - if self.bear.prop == 0: - self.write_message(102) - elif self.bear.prop == 3: - self.write_message(110) - else: - self.write(verb.default_message) - else: - self.food.destroy() - self.bear.prop = 1 - self.axe.is_fixed = False - self.axe.prop = 0 - self.write_message(168) - else: - self.write_message(14) - self.finish_turn() - - def i_fill(self, verb): #9220 - if self.is_here(self.bottle): - return self.t_fill(verb, self.bottle) - self.ask_verb_what(verb) - - def t_fill(self, verb, obj): - if obj is self.bottle: - liquid = self.loc.liquid - if liquid is None: - self.write_message(106) - elif self.bottle.contents: - self.write_message(105) - else: - self.bottle.contents = liquid - if self.bottle.is_toting: - liquid.is_toting = True - if liquid is self.oil: - self.write_message(108) - else: - self.write_message(107) - elif obj is self.vase: - #9222 - if self.vase.is_toting: - if self.loc.liquid is None: - self.write_message(144) - else: - self.write_message(145) - self.vase.drop(self.loc) - self.vase.prop = 2 - self.vase.is_fixed = True - else: - self.write(verb.default_message) - else: - self.write(verb.default_message) - self.finish_turn() - - def t_blast(self, verb, obj=None): #9230 - if self.rod2.prop < 0 or not self.is_closed: - self.write(verb.default_message) - self.finish_turn() - return - if self.is_here(self.rod2): - self.bonus = 135 - elif self.loc.n == 115: - self.bonus = 134 - else: - self.bonus = 133 - self.write_message(self.bonus) - self.score_and_exit() - - i_blast = t_blast - - def i_score(self, verb): #8240 - score, max_score = self.compute_score(for_score_command=True) - self.write('If you were to quit now, you would score {}' - ' out of a possible {}.\n'.format(score, max_score)) - def callback(yes): - self.write_message(54) - if yes: - self.score_and_exit() - self.yesno(self.messages[143], callback) - - def i_fee(self, verb): #8250 - for n in range(5): - if verb.synonyms[n].text == verb.text: - break # so that 0=fee, 1=fie, 2=foe, 3=foo, 4=fum - if n == 0: - self.foobar = self.turns - self.write_message(54) - elif n != self.turns - self.foobar: - self.write_message(151) - elif n < 3: - self.write_message(54) - else: - self.foobar = -1 - eggs = self.eggs - start = eggs.starting_rooms[0] - if (eggs.is_at(start) or eggs.is_toting and self.loc is start): - self.write_message(54) - else: - troll = self.troll - if not eggs.rooms and not troll.rooms and not troll.prop: - self.troll.prop = 1 - if self.loc is start: - self.write(eggs.messages[0]) - elif self.is_here(eggs): - self.write(eggs.messages[1]) - else: - self.write(eggs.messages[2]) - eggs.rooms = list(eggs.starting_rooms) - eggs.is_toting = False - self.finish_turn() - - def i_brief(self, verb): #8260 - self.write_message(156) - self.full_description_period = 10000 - self.look_complaints = 0 - self.finish_turn() - - def i_read(self, verb): #8270 - if self.is_closed and self.oyster.is_toting: - return self.t_read(verb, self.oyster) - objs = (self.magazine, self.tablet, self.message) - objs = list(filter(self.is_here, objs)) - if len(objs) != 1 or self.is_dark: - self.ask_verb_what(verb) - else: - self.t_read(verb, objs[0]) - - def t_read(self, verb, obj): #9270 - if self.is_dark: - return self.i_see_no(obj.names[0]) - elif (obj is self.oyster and not self.hints[2].used and - self.oyster.is_toting): - def callback(yes): - if yes: - self.hints[2].used = True - self.write_message(193) - else: - self.write_message(54) - self.yesno(self.messages[192], callback) - elif obj is self.oyster and self.hints[2].used: - self.write_message(194) - elif obj is self.message: - self.write_message(191) - elif obj is self.tablet: - self.write_message(196) - elif obj is self.magazine: - self.write_message(190) - else: - self.write(verb.default_message) - self.finish_turn() - - def t_break(self, verb, obj): #9280 - if obj is self.vase and self.vase.prop == 0: - self.write_message(198) - if self.vase.is_toting: - self.vase.drop(self.loc) - self.vase.prop = 2 - self.vase.is_fixed = True - elif obj is self.mirror and self.is_closed: - self.write_message(197) - self.wake_repository_dwarves() - return - elif obj is self.mirror: - self.write_message(148) - else: - self.write(verb.default_message) - self.finish_turn() - - def t_wake(self, verb, obj): #9290 - if obj is self.dwarf and self.is_closed: - self.write_message(199) - self.wake_repository_dwarves() - else: - self.write(verb.default_message) - self.finish_turn() - - def i_suspend(self, verb): - self.write('Provide "{}" with a filename or open file'.format( - verb.text)) - self.finish_turn() - - def t_suspend(self, verb, obj): - if isinstance(obj, str): - if os.path.exists(obj): # pragma: no cover - self.write('I refuse to overwrite an existing file.') - return - savefile = open(obj, 'wb') - else: - savefile = obj - r = self.random_generator # must replace live object with static state - self.random_state = r.getstate() - try: - del self.random_generator - savefile.write(zlib.compress(pickle.dumps(self), 9)) - finally: - self.random_generator = r - if savefile is not obj: - savefile.close() - self.write('Game saved') - - def i_hours(self, verb): - self.write('Open all day') - - @classmethod - def resume(self, obj): - """Returns an Adventure game saved to the given file.""" - if isinstance(obj, str): - savefile = open(obj, 'rb') - else: - savefile = obj - game = pickle.loads(zlib.decompress(savefile.read())) - if savefile is not obj: - savefile.close() - # Reinstate the random number generator. - game.random_generator = random.Random() - game.random_generator.setstate(game.random_state) - del game.random_state - return game - - def should_offer_hint(self, hint, obj): #40000 - if hint.n == 4: # cave - return self.grate.prop == 0 and not self.is_here(self.keys) - - elif hint.n == 5: # bird - bird = self.bird - return self.is_here(bird) and self.rod.is_toting and obj is bird - - elif hint.n == 6: # snake - return self.is_here(self.snake) and not self.is_here(self.bird) - - elif hint.n == 7: # maze - return (not len(self.objects_here) and - not len(self.objects_at(self.oldloc)) and - not len(self.objects_at(self.oldloc2)) and - len(self.inventory) > 1) - - elif hint.n == 8: # dark - return self.emerald.prop != 1 and self.platinum.prop != 1 - - elif hint.n == 9: # witt - return True - - def start_closing_cave(self): #10000 - self.grate.prop = 0 - self.fissure.prop = 0 - del self.dwarves[:] - self.troll.destroy() - self.troll2.rooms = list(self.troll.starting_rooms) - if self.bear.prop != 3: - self.bear.destroy() - for obj in self.chain, self.axe: - obj.prop = 0 - obj.is_fixed = False - self.write_message(129) - self.clock1 = -1 - self.is_closing = True - - def close_cave(self): #11000 - ne = self.rooms[115] # ne end of repository - sw = self.rooms[116] - for obj in (self.bottle, self.plant, self.oyster, self.lamp, - self.rod, self.dwarf): - obj.prop = -2 if obj is self.bottle else -1 - obj.drop(ne) - self.loc = self.oldloc = self.oldloc2 = ne - for obj in (self.grate, self.snake, self.bird, self.cage, - self.rod2, self.pillow): - obj.prop = -2 if (obj is self.bird or obj is self.snake) else -1 - obj.drop(sw) - self.mirror.rooms = [ne, sw] - self.mirror.is_fixed = 1 - self.is_closed = True - for obj in self.inventory: - obj.is_toting = False - self.write_message(132) - self.move_to() - - # TODO: 12000 - # TODO: 12200 - # TODO: 12400 - # TODO: 12600 - - def wake_repository_dwarves(self): #19000 - self.write_message(136) - self.score_and_exit() - - def compute_score(self, for_score_command=False): #20000 - score = maxscore = 2 - - for treasure in self.treasures: - # if ptext(0) is zero? - if treasure.n > self.chest.n: - value = 16 - elif treasure is self.chest: - value = 14 - else: - value = 12 - - maxscore += value - - if treasure.prop >= 0: - score += 2 - if treasure.rooms and treasure.rooms[0].n == 3 \ - and treasure.prop == 0: - score += value - 2 - - maxscore += self.max_deaths * 10 - score += (self.max_deaths - self.deaths) * 10 - - maxscore += 4 - if not for_score_command and not self.gave_up: - score += 4 - - maxscore += 25 - if self.dwarf_stage: - score += 25 - - maxscore += 25 - if self.is_closing: - score += 25 - - maxscore += 45 - if self.is_closed: - score += {0: 10, 135: 25, 134: 30, 133: 45}[self.bonus] - - maxscore += 1 - if 108 in (room.n for room in self.magazine.rooms): - score += 1 - - for hint in list(self.hints.values()): - if hint.used: - score -= hint.penalty - - return score, maxscore - - def score_and_exit(self): - score, maxscore = self.compute_score() - self.write('\nYou scored {} out of a possible {} using {} turns.' - .format(score, maxscore, self.turns)) - for i, (minimum, text) in enumerate(self.class_messages): - if minimum >= score: - break - self.write('\n{}\n'.format(text)) - if i < len(self.class_messages) - 1: - d = self.class_messages[i+1][0] + 1 - score - self.write('To achieve the next higher rating, you need' - ' {} more point{}\n'.format(d, 's' if d > 1 else '')) - else: - self.write('To achieve the next higher rating ' - 'would be a neat trick!\n\nCongratulations!!\n') - self.is_done = True diff --git a/adventure/model.py b/adventure/model.py deleted file mode 100644 index 46a89b0..0000000 --- a/adventure/model.py +++ /dev/null @@ -1,187 +0,0 @@ -"""Classes representing Adventure game components.""" - -class Move(object): - """An entry in the travel table.""" - - is_forced = False - verbs = [] - condition = None - action = None - - def __repr__(self): - verblist = [ verb.text for verb in self.verbs ] - - c = self.condition[0] - if c is None: - condition = '' - elif c == '%': - condition = ' %d%% of the time' % self.condition[1] - elif c == 'not_dwarf': - condition = ' if not a dwarf' - elif c == 'carrying': - condition = ' if carrying %s' % self.condition[1] - elif c == 'carrying_or_in_room_with': - condition = ' if carrying or in room with %s' % self.condition[1] - elif c == 'prop!=': - condition = ' if prop %d != %d' % self.condition[1:] - - if isinstance(self.action, Room): - action = 'moves to %r' % (self.action.short_description - or self.action.long_description[:20]).strip() - elif isinstance(self.action, Message): - action = 'prints %r' % self.action.text - else: - action = 'special %d' % self.action - - return '<{}{} {}>'.format('|'.join(verblist), condition, action) - -class Room(object): - """A location in the game.""" - - long_description = '' - short_description = '' - times_described = 0 - visited = False - - is_light = False - is_forbidden_to_pirate = False - liquid = None - trying_to_get_into_cave = False - trying_to_catch_bird = False - trying_to_deal_with_snake = False - lost_in_maze = False - pondering_dark_room = False - at_witts_end = False - - def __init__(self): - self.travel_table = [] - - def __repr__(self): - return ''.format(self.n, hex(id(self))) - - @property - def is_forced(self): - return self.travel_table and self.travel_table[0].is_forced - - @property - def is_aboveground(self): - return 1 <= self.n <= 8 - - @property - def is_before_hall_of_mists(self): - return self.n < 15 - - @property - def is_after_hall_of_mists(self): - return self.n >= 15 - - @property - def is_dark(self): - return not self.is_light - -class Word(object): - """A word that can be used as part of a command.""" - - text = None - kind = None - default_message = None - - def __init__(self): - self.synonyms = [ self ] - - def __repr__(self): - return ''.format(self.text) - - def __eq__(self, text): - return any( word.text == text for word in self.synonyms ) - - def add_synonym(self, other): - """Every word in a group of synonyms shares the same list.""" - self.synonyms.extend(other.synonyms) - other.synonyms = self.synonyms - -class Object(object): - """An object in the game, like a grate, or a rod with a rusty star.""" - - def __init__(self): - self.is_fixed = False - self.is_treasure = False - self.inventory_message = '' - self.messages = {} - self.names = [] - self.prop = 0 - self.rooms = [] - self.starting_rooms = [] - self.is_toting = False - self.contents = None # so the bottle can hold things - - def __repr__(self): - return '' % (self.n, '/'.join(self.names), id(self)) - - def __hash__(self): - return self.n - - def __eq__(self, other): - return any( text == other for text in self.names ) - - def is_at(self, room): - return room in self.rooms - - def carry(self): - self.rooms[:] = [] - self.is_toting = True - - def drop(self, room): - self.rooms[:] = [ room ] - self.is_toting = False - - def hide(self): - self.rooms[:] = [] - self.is_toting = False - - def destroy(self): - self.hide() - -class Message(object): - """A message for printing.""" - text = '' - - def __str__(self): - return self.text - -class Hint(object): - """A hint offered if the player loiters in one area too long.""" - - turns_needed = 0 - turn_counter = 0 - penalty = 0 - question = None - message = None - used = False - - def __init__(self): - self.rooms = [] - -class Dwarf(object): - is_dwarf = True - is_pirate = False - - def __init__(self, room): - self.start_at(room) - self.has_seen_adventurer = False - - def start_at(self, room): - self.room = room - self.old_room = room - - def can_move(self, move): - if not isinstance(move.action, Room): - return False - room = move.action - return (room.is_after_hall_of_mists - and not room.is_forced - and not move.condition == ('%', 100)) - -class Pirate(Dwarf): - is_dwarf = False - is_pirate = True diff --git a/adventure/play.py b/adventure/play.py deleted file mode 100644 index 7938edb..0000000 --- a/adventure/play.py +++ /dev/null @@ -1,38 +0,0 @@ -"""The Adventure game.""" - -def load_advent_dat(data): - import os - from data import parse - - datapath = os.path.join(os.path.dirname(__file__), 'advent.dat') - with open(datapath, 'r') as datafile: - parse(data, datafile) - -def play(seed=None): - """Turn the Python prompt into an Adventure game. - - With optional the `seed` argument the caller can supply an integer - to start the Python random number generator at a known state. - - """ - global _game - - from game import Game - from prompt import install_words - - _game = Game(seed) - load_advent_dat(_game) - install_words(_game) - _game.start() - print(_game.output[:-1]) - -def resume(savefile, quiet=False): - global _game - - from game import Game - from prompt import install_words - - _game = Game.resume(savefile) - install_words(_game) - if not quiet: - print('GAME RESTORED\n') diff --git a/adventure/prompt.py b/adventure/prompt.py deleted file mode 100644 index 10babb3..0000000 --- a/adventure/prompt.py +++ /dev/null @@ -1,38 +0,0 @@ -"""Routines that install Adventure commands for the Python prompt.""" - -import inspect - -class ReprTriggeredPhrase(object): - """Command that happens when Python calls repr() to print them.""" - - def __init__(self, game, words): - self.game = game - self.words = tuple(words) # protect against caller changing list - - def __repr__(self): - """Run this command and return the message that results.""" - output = self.game.do_command(self.words) - return output.rstrip('\n') + '\n' - - def __call__(self, arg=None): - """Return a compound command of several words, like `get(keys)`.""" - if arg is None: - return self - words = arg.words if isinstance(arg, ReprTriggeredPhrase) else (arg,) - return ReprTriggeredPhrase(self.game, self.words + words) - - def __getattr__(self, name): - return ReprTriggeredPhrase(self.game, self.words + (name,)) - - -def install_words(game): - # stack()[0] is this; stack()[1] is adventure.play(); so, stack()[2] - namespace = inspect.stack()[2][0].f_globals - words = [ k for k in game.vocabulary if isinstance(k, str) ] - words.append('yes') - words.append('no') - for word in words: - identifier = ReprTriggeredPhrase(game, [ word ]) - namespace[word] = identifier - if len(word) > 5: - namespace[word[:5]] = identifier diff --git a/adventure/syntax.txt b/adventure/syntax.txt deleted file mode 100644 index 2e3e8c9..0000000 --- a/adventure/syntax.txt +++ /dev/null @@ -1,63 +0,0 @@ ->>> import play ->>> play.play(seed=2) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> no -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> brief -OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". - - -This doctest exercises all of the different ways that people try to -invoke Adventure commands from the Python prompt. - -Simple movement can be invoked simply by typing the direction, but some -players will try to call them as functions instead. - ->>> s -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. - ->>> n() -YOU'RE AT END OF ROAD AGAIN. - - -That pretty much exhausts the possibilities when a word is being used -alone as a command. But when two words are being combined, there are -several different ways that they might be called! - -One word can be used as a function and the second as an argument: - ->>> goto(building) -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - - -Or, a period can be used to separate the words. Note that nouns and -verbs can be in either order. - ->>> get.keys -OK - ->>> lamp.get -OK - - -Why do we support putting the noun and verb in either order? Because -some users think of verbs as methods supported by the game's nouns, and -will format their commands like method calls: - ->>> food.get() -OK - diff --git a/adventure/test_commands.py b/adventure/test_commands.py deleted file mode 100644 index 5ede35c..0000000 --- a/adventure/test_commands.py +++ /dev/null @@ -1,28 +0,0 @@ -from unittest import TestCase -from play import load_advent_dat -from game import Game - -class CommandTest(TestCase): - - def setUp(self): - game = Game() - load_advent_dat(game) - self.words = set(w.synonyms[0].text for w in game.vocabulary.values()) - self.words.remove('suspend') - - def test_intransitive_commands_should_not_throw_exceptions(self): - for word in self.words: - game = Game() - load_advent_dat(game) - game.start() - game.do_command(['no']) # WOULD YOU LIKE INSTRUCTIONS? - game.do_command([word]) - - def test_transitive_commands_should_not_throw_exceptions(self): - for word in self.words: - game = Game() - load_advent_dat(game) - game.start() - game.do_command(['no']) # WOULD YOU LIKE INSTRUCTIONS? - game.do_command(['enter']) # so we are next to lamp - game.do_command([word, 'lamp']) diff --git a/adventure/test_data.py b/adventure/test_data.py deleted file mode 100644 index 586252a..0000000 --- a/adventure/test_data.py +++ /dev/null @@ -1,84 +0,0 @@ -import unittest - -class DataTest(unittest.TestCase): - - def setUp(self): - from data import Data - from play import load_advent_dat - self.data = Data() - load_advent_dat(self.data) - - def test_long_description(self): - self.assertEqual(self.data.rooms[4].long_description, """\ -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. -""") - - def test_long_description_expands_tabs(self): - self.assertIn("ALMOST AS IF ALIVE. A COLD WIND BLOWS", - self.data.rooms[15].long_description) - - def test_short_description(self): - self.assertEqual(self.data.rooms[4].short_description, - "YOU'RE IN VALLEY.\n") - - def test_object_message_expands_tabs(self): - self.assertEqual(self.data.objects[24].messages[5], """\ -YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP! IT'S, IT'S... -""") - - def test_hint(self): - hint = self.data.hints[4] - self.assertEqual(hint.turns_needed, 4) - self.assertEqual(hint.penalty, 2) - self.assertEqual(hint.question.text, - "ARE YOU TRYING TO GET INTO THE CAVE?\n") - self.assertEqual(hint.message.text, """\ -THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT -ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND -LOOKING ELSEWHERE FOR THE KEYS. -""") - -class ReprTest(unittest.TestCase): - - def setUp(self): - from data import Data - from play import load_advent_dat - self.data = Data() - load_advent_dat(self.data) - - def assertMove(self, room_i, entry_i, s): - r = repr(self.data.rooms[room_i].travel_table[entry_i]).strip() - self.assertEqual(r, s) - - def test_move_repr_look_good(self): - m = self.assertMove - m(1, 0, '') - m(108, 0, '') - m(61, 2, '') - m(15, 3, '') - m(19, 6, '') - m(17, 2, '') - - def test_move_repr_works_on_all_moves(self): - for room in self.data.rooms.values(): - for i, move in enumerate(room.travel_table): - try: - repr(move) - except: # pragma: no cover - print(room, i) - raise - - def test_room_repr(self): - self.assertRegex(repr(self.data.rooms[64]), '') - - def test_object_repr(self): - self.assertRegex(repr(self.data.objects['chest']), - r'') - - def test_word_repr(self): - self.assertRegex(repr(self.data.vocabulary['eat']), '') diff --git a/adventure/test_walks.py b/adventure/test_walks.py deleted file mode 100644 index 6240fde..0000000 --- a/adventure/test_walks.py +++ /dev/null @@ -1,11 +0,0 @@ -import doctest -import os - -def load_tests(loader, tests, pattern): - if os.path.exists('advent.save'): - os.unlink('advent.save') # to avoid an error during README.txt - tests.addTests(doctest.DocFileSuite('syntax.txt')) - tests.addTests(doctest.DocFileSuite('vignettes.txt')) - tests.addTests(doctest.DocFileSuite('walkthrough1.txt')) - tests.addTests(doctest.DocFileSuite('walkthrough2.txt')) - return tests diff --git a/adventure/tests/__init__.py b/adventure/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/adventure/tests/syntax.txt b/adventure/tests/syntax.txt deleted file mode 100644 index 2e3e8c9..0000000 --- a/adventure/tests/syntax.txt +++ /dev/null @@ -1,63 +0,0 @@ ->>> import play ->>> play.play(seed=2) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> no -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> brief -OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". - - -This doctest exercises all of the different ways that people try to -invoke Adventure commands from the Python prompt. - -Simple movement can be invoked simply by typing the direction, but some -players will try to call them as functions instead. - ->>> s -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. - ->>> n() -YOU'RE AT END OF ROAD AGAIN. - - -That pretty much exhausts the possibilities when a word is being used -alone as a command. But when two words are being combined, there are -several different ways that they might be called! - -One word can be used as a function and the second as an argument: - ->>> goto(building) -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - - -Or, a period can be used to separate the words. Note that nouns and -verbs can be in either order. - ->>> get.keys -OK - ->>> lamp.get -OK - - -Why do we support putting the noun and verb in either order? Because -some users think of verbs as methods supported by the game's nouns, and -will format their commands like method calls: - ->>> food.get() -OK - diff --git a/adventure/tests/test_commands.py b/adventure/tests/test_commands.py deleted file mode 100644 index 5ede35c..0000000 --- a/adventure/tests/test_commands.py +++ /dev/null @@ -1,28 +0,0 @@ -from unittest import TestCase -from play import load_advent_dat -from game import Game - -class CommandTest(TestCase): - - def setUp(self): - game = Game() - load_advent_dat(game) - self.words = set(w.synonyms[0].text for w in game.vocabulary.values()) - self.words.remove('suspend') - - def test_intransitive_commands_should_not_throw_exceptions(self): - for word in self.words: - game = Game() - load_advent_dat(game) - game.start() - game.do_command(['no']) # WOULD YOU LIKE INSTRUCTIONS? - game.do_command([word]) - - def test_transitive_commands_should_not_throw_exceptions(self): - for word in self.words: - game = Game() - load_advent_dat(game) - game.start() - game.do_command(['no']) # WOULD YOU LIKE INSTRUCTIONS? - game.do_command(['enter']) # so we are next to lamp - game.do_command([word, 'lamp']) diff --git a/adventure/tests/test_data.py b/adventure/tests/test_data.py deleted file mode 100644 index 586252a..0000000 --- a/adventure/tests/test_data.py +++ /dev/null @@ -1,84 +0,0 @@ -import unittest - -class DataTest(unittest.TestCase): - - def setUp(self): - from data import Data - from play import load_advent_dat - self.data = Data() - load_advent_dat(self.data) - - def test_long_description(self): - self.assertEqual(self.data.rooms[4].long_description, """\ -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. -""") - - def test_long_description_expands_tabs(self): - self.assertIn("ALMOST AS IF ALIVE. A COLD WIND BLOWS", - self.data.rooms[15].long_description) - - def test_short_description(self): - self.assertEqual(self.data.rooms[4].short_description, - "YOU'RE IN VALLEY.\n") - - def test_object_message_expands_tabs(self): - self.assertEqual(self.data.objects[24].messages[5], """\ -YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP! IT'S, IT'S... -""") - - def test_hint(self): - hint = self.data.hints[4] - self.assertEqual(hint.turns_needed, 4) - self.assertEqual(hint.penalty, 2) - self.assertEqual(hint.question.text, - "ARE YOU TRYING TO GET INTO THE CAVE?\n") - self.assertEqual(hint.message.text, """\ -THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT -ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND -LOOKING ELSEWHERE FOR THE KEYS. -""") - -class ReprTest(unittest.TestCase): - - def setUp(self): - from data import Data - from play import load_advent_dat - self.data = Data() - load_advent_dat(self.data) - - def assertMove(self, room_i, entry_i, s): - r = repr(self.data.rooms[room_i].travel_table[entry_i]).strip() - self.assertEqual(r, s) - - def test_move_repr_look_good(self): - m = self.assertMove - m(1, 0, '') - m(108, 0, '') - m(61, 2, '') - m(15, 3, '') - m(19, 6, '') - m(17, 2, '') - - def test_move_repr_works_on_all_moves(self): - for room in self.data.rooms.values(): - for i, move in enumerate(room.travel_table): - try: - repr(move) - except: # pragma: no cover - print(room, i) - raise - - def test_room_repr(self): - self.assertRegex(repr(self.data.rooms[64]), '') - - def test_object_repr(self): - self.assertRegex(repr(self.data.objects['chest']), - r'') - - def test_word_repr(self): - self.assertRegex(repr(self.data.vocabulary['eat']), '') diff --git a/adventure/tests/test_walks.py b/adventure/tests/test_walks.py deleted file mode 100644 index 887a862..0000000 --- a/adventure/tests/test_walks.py +++ /dev/null @@ -1,11 +0,0 @@ -import doctest -import os - -def load_tests(loader, tests, pattern): - if os.path.exists('advent.save'): - os.unlink('advent.save') # to avoid an error during README.txt - tests.addTests(doctest.DocFileSuite('syntax.txt')) - tests.addTests(doctest.DocFileSuite('vignettes.txt')) -# tests.addTests(doctest.DocFileSuite('walkthrough1.txt')) -# tests.addTests(doctest.DocFileSuite('walkthrough2.txt')) - return tests diff --git a/adventure/tests/vignettes.txt b/adventure/tests/vignettes.txt deleted file mode 100644 index 64fb128..0000000 --- a/adventure/tests/vignettes.txt +++ /dev/null @@ -1,1453 +0,0 @@ ->>> import io ->>> from itertools import cycle, islice - -This file tests the behavior of the Adventure game in all sorts of -specific situations that would be very tedious to arrange in actual -walkthroughs. As the basis for these tests, we will begin by starting a -game, entering the building, and carrying the lamp. - ->>> import play ->>> play.play(seed=3) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> no -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> brief -OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". - ->>> enter -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> on -YOUR LAMP IS NOW ON. - ->>> get(lamp) -OK - ->>> for _room in play._game.rooms.values(): -... _room.times_described = 1 # to avoid long descriptions - -Now we can save this game. - ->>> savefile = io.BytesIO() ->>> save(savefile) -GAME SAVED - - -Now, all of the tests below can begin by calling this restart() function -to place them back at the beginning of the adventure in a known state. -If a room is specified, note that restart() performs two turns in the -room before handing back control: the first when it asks the game to -move the caller into that room, and the second when it calls look(). - ->>> import prompt ->>> def restart(room=None, dwarves=False, objects=(), randoms=None): -... """Restart the whole Adventure game from our stringio file.""" -... -... global game -... savefile.seek(0) -... play.resume(savefile, quiet=True) -... game = play._game -... if room is not None: -... _go_to(room) -... room = game.loc -... if not dwarves: -... game.dwarf_stage = 2 -... del game.dwarves[:] -... for obj in objects: -... if isinstance(obj, prompt.ReprTriggeredPhrase): -... obj = game.referent(game.vocabulary[obj.words[0]]) -... obj.drop(room) -... if randoms is not None: -... game.random = list(randoms).pop - ->>> class go_to(object): -... """Special command that warps us directly to a location.""" -... -... def __init__(self, room): -... self.room = room -... def __repr__(self): -... game.output = '' -... _go_to(self.room) -... return game.output.rstrip('\n') + '\n' - ->>> def _go_to(room): -... game.move_to(game.rooms[room] if isinstance(room, int) else room) - ->>> def quiet(*args): -... """Run one or more commands without printing their result.""" -... -... for arg in args: -... repr(arg) -... return None - -With those definitions complete, we can proceed with the actual tests! - -------------------- -Pirates and dwarves -------------------- - -If the dwarves activate when we are standing in one of their starting -rooms, then does the dwarf at our location get moved successfully to the -gold nuggets room? - ->>> restart(room=41, dwarves=True, randoms=[None, .9, .9, .99]) ->>> [ _dwarf.room.n for _dwarf in game.dwarves ] -[19, 27, 33, 44, 64] ->>> e -A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A LITTLE AXE HERE. - -THERE ARE DIAMONDS HERE! - ->>> [ _dwarf.room.n for _dwarf in game.dwarves ] -[19, 18, 33, 44, 64] - -If the pirate encounters us in the plover room or dark room, does he -leave the platinum pyramid since learning how to remove it from the room -is one of the game's puzzles? - ->>> restart(room=100, objects=[pyramid]) ->>> look -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - - ->>> get(pyramid) -OK - ->>> get(emerald) -OK - ->>> game.pirate.room = game.loc ->>> look -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -PLATINUM PYRAMID - - -If we manage to collect all of the treasures before the pirate spots us, -then when we find him he goes to hide his treasure chest in the maze -without any other treasures to accompany it. - ->>> restart() ->>> for t in game.treasures: -... if t == 'chest': continue -... t.drop(game.loc) ->>> quiet(look) ->>> game.dwarf_stage = 2 ->>> game.loc = game.pirate.room = game.rooms[69] ->>> look -THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. AS YOU -TURN TOWARD THEM, THE BEAM OF YOUR LAMP FALLS ACROSS A BEARDED PIRATE. -HE IS CARRYING A LARGE CHEST. "SHIVER ME TIMBERS!" HE CRIES, "I'VE -BEEN SPOTTED! I'D BEST HIE MESELF OFF TO THE MAZE TO HIDE ME CHEST!" -WITH THAT, HE VANISHES INTO THE GLOOM. - -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> go_to(game.chest_room) -DEAD END - -THE PIRATE'S TREASURE CHEST IS HERE! - - -If several dwarves throw knives that hit us, does a sensible message result? - ->>> restart(room=75, dwarves=True, randoms=(.05,.05,.05,.05,.05,.05)) ->>> game.dwarf_stage = 3 ->>> for _dwarf in game.dwarves: -... _dwarf.room = game.rooms[75] ->>> look -THERE ARE 5 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -5 OF THEM THROW KNIVES AT YOU! - -5 OF THEM GET YOU! - -OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -TO TRY TO REINCARNATE YOU? - - -If, when a treasure is found, the game figures out that all remaining -treasures are impossible to acquire - like the jewelry in the south side -chamber of the Hall of the Mountain King, if the bird dies before the -snake is driven away - then the lamp should be reduced to only having 35 -turns left. - ->>> restart() ->>> for t in game.treasures: -... if t == 'jewelry' or t == 'silver': continue -... t.drop(game.loc) ->>> quiet(look) ->>> game.bird.carry() ->>> go_to(119) -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY -GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. - ->>> game.lamp_turns -326 ->>> go_to(28) -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> game.lamp_turns -35 - ----------------------------------- -Making sure that hints are offered ----------------------------------- - -If you act confused, the game should offer you a hint. Here are quick -(but certainly not thorough!) tests of whether the logic for each hint -allows it to be offered. - ->>> restart(room=8) ->>> quiet(look, look) ->>> look -YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE -DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED -LEADS INTO THE DEPRESSION. - -THE GRATE IS LOCKED. - -ARE YOU TRYING TO GET INTO THE CAVE? - ->>> yes -THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT -ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND -LOOKING ELSEWHERE FOR THE KEYS. - - ->>> restart(room=13, objects=[rod]) ->>> quiet(get(rod), look, look) ->>> get(bird) -THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES -DISTURBED AND YOU CANNOT CATCH IT. - -ARE YOU TRYING TO CATCH THE BIRD? - ->>> no -OK - - ->>> restart(room=19) ->>> quiet(*[ look ] * 6) ->>> look -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - -ARE YOU TRYING TO SOMEHOW DEAL WITH THE SNAKE? - - ->>> restart(room=42, objects=[food]) ->>> quiet(get(food), s, n) ->>> quiet(*islice(cycle((w, s, n)), 75 - 5)) ->>> look -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - -DO YOU NEED HELP GETTING OUT OF THE MAZE? - ->>> yes -YOU CAN MAKE THE PASSAGES LOOK LESS ALIKE BY DROPPING THINGS. - - ->>> quiet(restart(room=99)) ->>> quiet([ look ] * (25 - 2)) ->>> look -YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. - -ARE YOU TRYING TO EXPLORE BEYOND THE PLOVER ROOM? - - ->>> quiet(restart(room=108), [ look ] * (20 - 2)) ->>> look -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - -DO YOU NEED HELP GETTING OUT OF HERE? - - ------------------------- -Your lamp is getting dim ------------------------- - -There is an elaborate set of messages generated for the player as their -lamp starts to grow dim. You can, of course, replentish the lamp using -batteries from the vending machine in the maze. - ->>> quiet(restart(room=34)) ->>> game.chest.prop = 1 ->>> quiet([ look ] * (330 - 30 - 3)) ->>> look -YOUR LAMP IS GETTING DIM. YOU'D BEST START WRAPPING THIS UP, UNLESS -YOU CAN FIND SOME FRESH BATTERIES. I SEEM TO RECALL THERE'S A VENDING -MACHINE IN THE MAZE. BRING SOME COINS WITH YOU. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> quiet(go_to(30), get(coins)) ->>> go_to(140) -DEAD END - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - ->>> drop(coins) -THERE ARE FRESH BATTERIES HERE. - ->>> look -YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE -BATTERIES. - -DEAD END - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - -SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. - ->>> game.lamp_turns = 31 ->>> n -YOUR LAMP IS GETTING DIM, AND YOU'RE OUT OF SPARE BATTERIES. YOU'D -BEST START WRAPPING THIS UP. - -YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. - ->>> game.lamp_turns = 1 ->>> n -YOUR LAMP HAS RUN OUT OF POWER. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> go_to(5) -YOU'RE IN FOREST. - ->>> w -THERE'S NOT MUCH POINT IN WANDERING AROUND OUT HERE, AND YOU CAN'T -EXPLORE THE CAVE WITHOUT A LAMP. SO LET'S JUST CALL IT A DAY. - - -YOU SCORED 61 OUT OF A POSSIBLE 350 USING 309 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS - - -If the batteries are in the user's inventory when replaced, then the old -ones are tossed on the ground rather than remaining in the inventory. - ->>> restart(room=30) ->>> quiet(get(coins), go_to(140), drop(coins)) ->>> get(batteries) -OK - ->>> game.chest.prop = 1 ->>> game.lamp_turns = 30 ->>> look -YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE -BATTERIES. - -DEAD END - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - -SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. - - -Finally, if you leave the batteries in the maze, you are warned to go -back and get them. - ->>> quiet(restart(room=34), go_to(30), get(coins), go_to(140), drop(coins), n) ->>> game.lamp_turns = 30 ->>> look -YOUR LAMP IS GETTING DIM. YOU'D BEST GO BACK FOR THOSE BATTERIES. - -YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. - - ----------------------------------- -Basic and advanced command parsing ----------------------------------- - -Various complaints are associated with poorly-chosen requests. - ->>> quiet(restart(room=34)) ->>> enter(water) -WHERE? - ->>> quiet(go_to(7)) ->>> enter(water) -YOUR FEET ARE NOW WET. - - -You can try to enter the house with the 'enter' command instead of just -naming the house. - ->>> quiet(restart(room=1)) ->>> enter(house) -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - - -Both "oil" and "water" can be used as verbs, despite officially being -treated as nouns in the game vocabulary. - ->>> restart(room=94) ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> oil(door) -I SEE NO OIL HERE. - ->>> go_to(25) -YOU'RE IN WEST PIT. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> water(plant) -I SEE NO WATER HERE. - - -Various combinations of words yield somewhat sensible retorts; and -several nouns invoke small special cases in the code, like "grate" also -being a movement noun. - ->>> restart(room=4, dwarves=True) ->>> look -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. - - ->>> game.do_command(['eat', 'pray', 'love']) -"I DON'T KNOW THAT WORD.\n\n" - ->>> grate -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - ->>> go_to(12) -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> grate -YOU'RE BELOW THE GRATE. - -THE GRATE IS LOCKED. - - ->>> carry(dwarf) -I SEE NO DWARF HERE. - - ->>> quiet(go_to(3)) ->>> get(water) -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -WATER IN THE BOTTLE - - ->>> get(knife) -I SEE NO KNIFE HERE. - ->>> game.dwarf_stage = 2 ->>> go_to(27) -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE ARE DIAMONDS HERE! - ->>> get(knife) -THE DWARVES' KNIVES VANISH AS THEY STRIKE THE WALLS OF THE CAVE. - ->>> get(knife) -I SEE NO KNIFE HERE. - - ->>> find(jewelry) -I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT AND MANIPULATE -THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS ARE. - - ->>> lamp -WHAT DO YOU WANT TO DO WITH THE LAMP? - - ->>> quiet(restart(randoms=(None, 0.1, None, 0.3, None, 0.9))) ->>> carry(pour) -I DON'T KNOW THAT WORD. - ->>> jump(eat) -I DON'T UNDERSTAND THAT! - ->>> throw(drop) -WHAT? - - ---------------- -Special motions ---------------- - -The "back" movement command has to handle several special cases, in case -the previous location was an intermediate "forced" room, or if it simply -cannot figure out how to return you to the previous location. - ->>> quiet(restart(room=65, randoms=(None, None, 0.001,))) ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> back -SORRY, BUT I NO LONGER SEEM TO REMEMBER HOW IT WAS YOU GOT HERE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - - -While testing "back" on the beanstalk, we also test for whether we can -run a command like "get" on the plant as seen from outside the pits. - ->>> quiet(restart(), get(bottle), go_to(25), pour(water)) ->>> quiet(go_to(113), get(water), go_to(25), pour(water)) ->>> go_to(88) -YOU'RE IN NARROW CORRIDOR. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> back -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> go_to(23) -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> find(beanstalk) -I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. - ->>> go_to(67) -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - - ->>> go_to(91) -YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> back -YOU CAN'T GET THERE FROM HERE. - -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - - -If the player tries walking back across the troll bridge while still -carrying the bear, then disaster strikes: the bridge breaks beneath -them, and both player and bear wind up dead at the bottom of the pit. -But the game shows a bit of elegance, and refuses to strand the player's -belongings out of reach, either at the pit bottom or where they were -last standing on the far side of the troll bridge - since without the -bridge, the items would be permanently lost! (We also try feeding the -bear a few times, to test some special cases in the feed() logic while -we are at it.) - ->>> quiet(restart(), get(keys), go_to(123)) ->>> game.bear.carry() ->>> game.bear.prop = 2 ->>> game.bear.is_fixed = False ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> drop(bear) -THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. - ->>> feed(bear) -THERE IS NOTHING HERE TO EAT. - ->>> get(bear) -OK - ->>> sw -JUST AS YOU REACH THE OTHER SIDE, THE BRIDGE BUCKLES BENEATH THE -WEIGHT OF THE BEAR, WHICH WAS STILL FOLLOWING YOU AROUND. YOU -SCRABBLE DESPERATELY FOR SUPPORT, BUT AS THE BRIDGE COLLAPSES YOU -STUMBLE BACK AND FALL INTO THE CHASM. - -OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -TO TRY TO REINCARNATE YOU? - ->>> quiet(yes, leave, get(lamp), on) ->>> go_to(117) -YOU'RE ON SW SIDE OF CHASM. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THE WRECKAGE OF A BRIDGE (AND A DEAD BEAR) CAN BE SEEN AT THE BOTTOM -OF THE CHASM. - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> feed(bear) -DON'T BE RIDICULOUS! - - -Several motion words elicit special messages when they do not apply. - ->>> quiet(restart(room=34)) ->>> onward -I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> left -I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> right -I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ->>> leave -I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING -IN THE GENERAL DIRECTION YOU WANT TO GO. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> inward -I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING -IN THE GENERAL DIRECTION YOU WANT TO GO. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ->>> xyzzy -NOTHING HAPPENS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> plugh -NOTHING HAPPENS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ->>> crawl -WHICH WAY? - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ---------------- -Verb edge cases ---------------- - -And now, we exercise dozens of fiddly edge cases for verbs. - ->>> quiet(restart()) ->>> carry # ambiguous in the face of several objects -CARRY WHAT? - - ->>> quiet(restart(room=25)) ->>> get(plant) -THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE. - - ->>> quiet(restart(), go_to(24)) ->>> get(oil) -YOU HAVE NOTHING IN WHICH TO CARRY IT. - ->>> quiet(go_to(3), get(bottle), go_to(24)) ->>> get(oil) -YOUR BOTTLE IS ALREADY FULL. - ->>> get(bottle) -YOU ARE ALREADY CARRYING IT! - ->>> drop(oil) -YOU AREN'T CARRYING IT! - ->>> drop(water) -OK - ->>> look -YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS -A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. - -THERE IS A BOTTLE OF WATER HERE. - - ->>> restart(room=94, objects=[clam]) ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> unlock # two unlockable objects are present -UNLOCK WHAT? - ->>> quiet(s) ->>> unlock # no unlockable objects also cause a problem -THERE IS NOTHING HERE WITH A LOCK! - - ->>> restart(room=103, objects=[trident]) ->>> lock(clam) -WHAT? - ->>> quiet(get(clam), get(trident)) ->>> unlock -I ADVISE YOU TO PUT DOWN THE CLAM BEFORE OPENING IT. >STRAIN!< - ->>> quiet(drop(clam)) ->>> unlock -A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. - ->>> unlock -THE OYSTER CREAKS OPEN, REVEALING NOTHING BUT OYSTER INSIDE. IT -PROMPTLY SNAPS SHUT AGAIN. - - ->>> restart(room=94) ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> unlock -THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. - - ->>> restart() ->>> unlock(keys) -YOU CAN'T UNLOCK THE KEYS. - ->>> quiet(get(keys), get(food), go_to(10)) ->>> unlock(cage) -IT HAS NO LOCK. - ->>> quiet(go_to(130)) ->>> lock(chain) -IT WAS ALREADY LOCKED. - ->>> unlock(chain) -THERE IS NO WAY TO GET PAST THE BEAR TO UNLOCK THE CHAIN, WHICH IS -PROBABLY JUST AS WELL. - ->>> quiet(throw(food), unlock(chain)) ->>> unlock(chain) -IT WAS ALREADY UNLOCKED. - ->>> quiet(get(chain), w) ->>> lock(chain) -THERE IS NOTHING HERE TO WHICH THE CHAIN CAN BE LOCKED. - ->>> quiet(e) ->>> lock(chain) -THE CHAIN IS NOW LOCKED. - ->>> get(chain) -THE CHAIN IS STILL LOCKED. - ->>> lock(bear) -I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING. - - ->>> restart() ->>> off -YOUR LAMP IS NOW OFF. - ->>> quiet(drop(lamp), leave) ->>> on -YOU HAVE NO SOURCE OF LIGHT. - ->>> off -YOU HAVE NO SOURCE OF LIGHT. - ->>> quiet(enter, get(lamp), on, plugh) ->>> off -YOUR LAMP IS NOW OFF. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> quiet(on) ->>> game.lamp_turns = 2 ->>> quiet(look) ->>> look -YOUR LAMP HAS RUN OUT OF POWER. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> on -YOUR LAMP HAS RUN OUT OF POWER. - - ->>> restart() ->>> wave(lamp) -NOTHING HAPPENS. - ->>> wave(keys) -YOU AREN'T CARRYING IT! - - -The "attack" verb is a particularly long test, because its intransitive -form works hard to determine - in two stages, focusing first on real -enemies and then on some harmless objects - what on earth you could -possibly be designating as a target. - ->>> restart(dwarves=True) ->>> attack -THERE IS NOTHING HERE TO ATTACK. - ->>> quiet(go_to(117)) ->>> attack -TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS -THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. - ->>> game.dwarf_stage = 2 ->>> game.dwarves[0].room = game.loc ->>> attack # now there are two choices: dwarf and troll -ATTACK WHAT? - ->>> attack(dwarf) -WITH WHAT? YOUR BARE HANDS? - ->>> quiet(go_to(103), get(clam), go_to(13)) ->>> attack # cannot decide between oyster and bird -ATTACK WHAT? - ->>> quiet(w, drop(clam), e) ->>> attack -THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS. - ->>> look # make sure the bird is really gone -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - ->>> quiet(w) ->>> attack -THE SHELL IS VERY STRONG AND IS IMPERVIOUS TO ATTACK. - ->>> quiet(go_to(119)) ->>> attack(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> quiet(yes) ->>> attack(dragon) -FOR CRYING OUT LOUD, THE POOR THING IS ALREADY DEAD! - - ->>> quiet(restart(), get(bottle)) ->>> pour -YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. - ->>> pour -POUR WHAT? - ->>> quiet(go_to(24), get(oil), go_to(25)) ->>> pour(bottle) -THE PLANT INDIGNANTLY SHAKES THE OIL OFF ITS LEAVES AND ASKS, "WATER?" - ->>> quiet(go_to(24), get(oil)) ->>> pour -YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. - ->>> pour(oil) -YOU AREN'T CARRYING IT! - ->>> pour(lamp) -YOU CAN'T POUR THAT. - - ->>> restart() ->>> eat -THANK YOU, IT WAS DELICIOUS! - ->>> eat -EAT WHAT? - ->>> quiet(go_to(13)) ->>> eat(bird) -I THINK I JUST LOST MY APPETITE. - ->>> quiet(e, e) ->>> eat(rod) -DON'T BE RIDICULOUS! - - ->>> quiet(restart(), get(bottle), leave, w) ->>> drink -THE BOTTLE OF WATER IS NOW EMPTY. - ->>> drink -DRINK WHAT? - ->>> drink(lamp) -DON'T BE RIDICULOUS! - - ->>> quiet(restart()) ->>> rub(lamp) -RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, -NOTHING EXCITING HAPPENS. - ->>> rub(bottle) -I THINK I JUST LOST MY APPETITE. - - ->>> quiet(restart(objects=[axe]), get(axe)) ->>> throw(food) -YOU AREN'T CARRYING IT! - ->>> quiet(get(food), leave) ->>> throw(lamp) -OK - ->>> look -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - -THERE IS A LAMP SHINING NEARBY. - ->>> quiet(get(lamp), go_to(130)) ->>> throw(axe) -THE AXE MISSES AND LANDS NEAR THE BEAR WHERE YOU CAN'T GET AT IT. - ->>> get(axe) -YOU CAN'T BE SERIOUS! - ->>> throw(food) -THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. - ->>> get(axe) -OK - ->>> quiet(leave) ->>> throw(axe) -THERE IS NOTHING HERE TO ATTACK. - - ->>> restart() ->>> quit() -DO YOU REALLY WANT TO QUIT NOW? - ->>> no -OK - ->>> quit() -DO YOU REALLY WANT TO QUIT NOW? - ->>> yes -OK - - -YOU SCORED 61 OUT OF A POSSIBLE 350 USING 7 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS - - ->>> restart() ->>> find(lamp) -YOU ARE ALREADY CARRYING IT! - ->>> find(keys) -I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. - - ->>> quiet(restart(), get(food), get(keys), go_to(130), throw(food), unlock) ->>> get(bear) -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - - ->>> quiet(restart(dwarves=True), go_to(10), get(cage), go_to(13)) ->>> feed(bird) -IT'S NOT HUNGRY (IT'S MERELY PININ' FOR THE FJORDS). BESIDES, YOU -HAVE NO BIRD SEED. - ->>> quiet(get(bird), go_to(117)) ->>> feed(troll) -GLUTTONY IS NOT ONE OF THE TROLL'S VICES. AVARICE, HOWEVER, IS. - ->>> quiet(go_to(119)) ->>> feed(dragon) -THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). - ->>> quiet(kill(dragon), yes) ->>> feed(dragon) -DON'T BE RIDICULOUS! - ->>> quiet(go_to(19)) ->>> feed(snake) -THE SNAKE HAS NOW DEVOURED YOUR BIRD. - ->>> feed(snake) -THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). - ->>> game.dwarf_stage = 2 ->>> quiet(look) ->>> feed(dwarf) -THERE IS NOTHING HERE TO EAT. - ->>> game.food.drop(game.loc) ->>> feed(dwarf) -YOU FOOL, DWARVES EAT ONLY COAL! NOW YOU'VE MADE HIM *REALLY* MAD!! - ->>> quiet(go_to(129), drop(food), e) ->>> feed(bear) -THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). - ->>> feed(chain) -I'M GAME. WOULD YOU CARE TO EXPLAIN HOW? - - ->>> quiet(restart(), get(bottle), drink) ->>> fill -YOUR BOTTLE IS NOW FULL OF WATER. - ->>> fill -YOUR BOTTLE IS ALREADY FULL. - ->>> quiet(drink, plugh) ->>> fill -THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE. - ->>> quiet(drop(bottle), go_to(97)) ->>> fill(vase) -YOU CAN'T FILL THAT. - ->>> quiet(get(vase)) ->>> fill(vase) -THERE IS NOTHING HERE WITH WHICH TO FILL THE VASE. - ->>> quiet(go_to(38)) ->>> fill(vase) -THE SUDDEN CHANGE IN TEMPERATURE HAS DELICATELY SHATTERED THE VASE. - ->>> look -YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH -ENTERS AND EXITS THROUGH TINY SLITS. - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - ->>> get(vase) -YOU CAN'T BE SERIOUS! - ->>> fill(lamp) -YOU CAN'T FILL THAT. - ->>> fill -FILL WHAT? - - ->>> restart() ->>> blast -BLASTING REQUIRES DYNAMITE. - - ->>> restart() ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 57 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> yes -OK - - -YOU SCORED 61 OUT OF A POSSIBLE 350 USING 6 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS - - ->>> quiet(restart(), go_to(92), fee, fie, foe) ->>> foo # does nothing obvious since the eggs are here -OK - ->>> quiet(get(eggs), go_to(117)) ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> quiet(fee, fie, foe) ->>> foo -DONE! - ->>> cross # troll does not wait for us to cross! -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - - ->>> quiet(restart(), go_to(106)) ->>> read -I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. - ->>> quiet(off) ->>> read(magazine) -I SEE NO MAGAZINE HERE. - ->>> quiet(on, get(magazine), go_to(101)) ->>> read # confused by two choices -READ WHAT? - ->>> read(tablet) -"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" - ->>> quiet(go_to(95), get(trident), go_to(103), unlock(clam), get(oyster)) ->>> read(oyster) -HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO -READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? - ->>> yes -IT SAYS, "THERE IS SOMETHING STRANGE ABOUT THIS PLACE, SUCH THAT ONE -OF THE WORDS I'VE ALWAYS KNOWN NOW HAS A NEW EFFECT." - ->>> read(oyster) -IT SAYS THE SAME THING IT DID BEFORE. - ->>> quiet(go_to(29), get(gold), go_to(112)) ->>> game.pirate.room = game.rooms[112] ->>> look -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. - ->>> s -DEAD END - -THERE IS A MESSAGE SCRAWLED IN THE DUST IN A FLOWERY SCRIPT, READING: -"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - ->>> read(message) -"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." - ->>> read(lamp) -I'M AFRAID I DON'T UNDERSTAND. - - ->>> quiet(restart(), go_to(97)) ->>> smash(vase) -YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. - ->>> get(vase) -YOU CAN'T BE SERIOUS! - ->>> quiet(restart(), go_to(97)) ->>> get(vase) # can we also break it while carrying it? -OK - ->>> smash(vase) -YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN - ->>> look -THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - ->>> quiet(go_to(109)) ->>> smash(mirror) -IT IS TOO FAR UP FOR YOU TO REACH. - ->>> smash(lamp) -IT IS BEYOND YOUR POWER TO DO THAT. - - ->>> quiet(restart()) ->>> wake(keys) -DON'T BE RIDICULOUS! - - ->>> quiet(restart()) ->>> suspend -PROVIDE "SUSPEND" WITH A FILENAME OR OPEN FILE - - ----------------- -Closing the cave ----------------- - -Finally, there are a few situations we need to test that relate -specifically to the end-game. For example, dying while the cave is -closing causes a very abrupt ending to the game. - ->>> quiet(restart(), drop(lamp), go_to(13)) ->>> game.is_closing = 1 ->>> game.start_closing_cave() ->>> w -YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! - -IT LOOKS AS THOUGH YOU'RE DEAD. WELL, SEEING AS HOW IT'S SO CLOSE TO -CLOSING TIME ANYWAY, I THINK WE'LL JUST CALL IT A DAY. - - -YOU SCORED 78 OUT OF A POSSIBLE 350 USING 7 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 53 MORE POINTS - - -Now we reload our saved game one last time, take it through the ending, -and then save anew so that we can do several tests in the repository. - ->>> quiet(restart(), get(keys), go_to(9)) ->>> game.is_closing = 1 ->>> game.start_closing_cave() ->>> unlock -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - ->>> game.clock2 = 1 ->>> w -THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... - -YOU'RE AT NE END. - ->>> quiet(savefile.truncate()) ->>> savefile.seek(0) -0 ->>> save(savefile) -GAME SAVED - - -Most of the interesting end-game events are fatal, but not all. - ->>> quiet(restart(), sw) ->>> get(cage) -OK - ->>> attack(bird) -OH, LEAVE THE POOR UNHAPPY BIRD ALONE. - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -DRIVES THE SNAKE AWAY. - -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 13 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - - ->>> quiet(restart()) ->>> attack(dwarf) -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - - ->>> quiet(restart(), sw) ->>> get(rod) # grab the rusty-mark rod -OK - ->>> ne # move to where the rusty-star rods lie -YOU'RE AT NE END. - ->>> throw(rod) # will the correct rod get dropped? -OK - ->>> look -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - -A THREE FOOT BLACK ROD WITH A RUSTY MARK ON AN END LIES NEARBY. - - ->>> restart() ->>> find(eggs) -I DARESAY WHATEVER YOU WANT IS AROUND HERE SOMEWHERE. - ->>> sw -YOU'RE AT SW END. - ->>> get(rod) -OK - ->>> blast -THERE IS A LOUD EXPLOSION, AND YOU ARE SUDDENLY SPLASHED ACROSS THE -WALLS OF THE ROOM. - - -YOU SCORED 113 OUT OF A POSSIBLE 350 USING 13 TURNS. - -YOU HAVE ACHIEVED THE RATING: "EXPERIENCED ADVENTURER". - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 88 MORE POINTS - - ->>> restart() ->>> shatter(mirror) -YOU STRIKE THE MIRROR A RESOUNDING BLOW, WHEREUPON IT SHATTERS INTO A -MYRIAD TINY FRAGMENTS. - -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - - ->>> restart() ->>> wake(dwarves) -YOU PROD THE NEAREST DWARF, WHO WAKES UP GRUMPILY, TAKES ONE LOOK AT -YOU, CURSES, AND GRABS FOR HIS AXE. - -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - diff --git a/adventure/tests/walkthrough1.txt b/adventure/tests/walkthrough1.txt deleted file mode 100644 index 6913854..0000000 --- a/adventure/tests/walkthrough1.txt +++ /dev/null @@ -1,3710 +0,0 @@ ->>> import play ->>> play.play(seed=1) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> yes -SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN -TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER -SEEN AGAIN. MAGIC IS SAID TO WORK IN THE CAVE. I WILL BE YOUR EYES -AND HANDS. DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS. I SHOULD WARN -YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL -HAVE TO ENTER "NORTHEAST" AS "NE" TO DISTINGUISH IT FROM "NORTH". -(SHOULD YOU GET STUCK, TYPE "HELP" FOR SOME GENERAL HINTS. FOR INFOR- -MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE "INFO".) - - - - -THIS PROGRAM WAS ORIGINALLY DEVELOPED BY WILLIE CROWTHER. MOST OF THE -FEATURES OF THE CURRENT PROGRAM WERE ADDED BY DON WOODS (DON @ SU-AI). -CONTACT DON IF YOU HAVE ANY QUESTIONS, COMMENTS, ETC. - -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> cave -I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM CAN RUN ON -THE SURFACE FOR LONG. I WOULD TRY THE STREAM. - -YOU'RE AT END OF ROAD AGAIN. - ->>> inven() -YOU'RE NOT CARRYING ANYTHING. - ->>> west -YOU HAVE WALKED UP A HILL, STILL IN THE FOREST. THE ROAD SLOPES BACK -DOWN THE OTHER SIDE OF THE HILL. THERE IS A BUILDING IN THE DISTANCE. - ->>> e -YOU'RE AT END OF ROAD AGAIN. - ->>> e -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> downs -THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER PIPES. -IT WOULD BE ADVISABLE TO USE THE EXIT. - -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> west -YOU'RE AT END OF ROAD AGAIN. - ->>> s -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. - ->>> s -AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 2-INCH SLIT -IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK. - ->>> s -YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE -DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED -LEADS INTO THE DEPRESSION. - -THE GRATE IS LOCKED. - ->>> d -YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! - -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - ->>> get(grate) -YOU CAN'T BE SERIOUS! - ->>> enter -YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! - -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - -ARE YOU TRYING TO GET INTO THE CAVE? - ->>> no -OK - ->>> house -YOU'RE AT END OF ROAD AGAIN. - ->>> enter -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> carry(keys) -OK - ->>> inven -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS - ->>> leave -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> depre -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - ->>> unloc(grate) -THE GRATE IS NOW UNLOCKED. - ->>> d -YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE SURFACE. -A LOW CRAWL OVER COBBLES LEADS INWARD TO THE WEST. - -THE GRATE IS OPEN. - ->>> s -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE BELOW THE GRATE. - -THE GRATE IS OPEN. - ->>> west -YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT -AT THE EAST END OF THE PASSAGE. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> take(cage) -OK - ->>> west -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> west -YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! - -OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -TO TRY TO REINCARNATE YOU? - ->>> save -PLEASE ANSWER THE QUESTION. - ->>> yes -ALL RIGHT. BUT DON'T BLAME ME IF SOMETHING GOES WR...... - --- POOF!! --- -YOU ARE ENGULFED IN A CLOUD OF ORANGE SMOKE. COUGHING AND GASPING, -YOU EMERGE FROM THE SMOKE AND FIND.... - -YOU'RE INSIDE BUILDING. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> get(lamp) -OK - ->>> leave -YOU'RE AT END OF ROAD AGAIN. - ->>> depre -YOU'RE OUTSIDE GRATE. - -THE GRATE IS OPEN. - ->>> d -YOU'RE BELOW THE GRATE. - -THE GRATE IS OPEN. - ->>> west -YOU'RE IN COBBLE CRAWL. - ->>> west -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> light(lamp) -YOUR LAMP IS NOW ON. - -YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. -A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS -HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL -SAYS "MAGIC WORD XYZZY". - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - ->>> get(rod) -OK - ->>> up -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> get(keys) -OK - ->>> u -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> get(bird) -THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES -DISTURBED AND YOU CANNOT CATCH IT. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -BLACK ROD - ->>> drop(rod) -OK - ->>> inven -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN - ->>> get(bird) -YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> get(cage) -OK - ->>> west -YOU'RE IN BIRD CHAMBER. - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> get(bird) -OK - ->>> get(rod) -OK - ->>> look -SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -LONG DESCRIPTION OF YOUR LOCATION. - -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - ->>> west -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> west -IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST. - -THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. - -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> look -SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -LONG DESCRIPTION OF YOUR LOCATION. - -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. -THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. - ->>> w -THERE IS NO WAY ACROSS THE FISSURE. - -YOU'RE ON EAST BANK OF FISSURE. - ->>> e -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> n -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> s -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> up -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> down -YOU'RE IN HALL OF MT KING - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> kill(snake) -ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS. - ->>> drop(cage) -OK - ->>> look -SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -LONG DESCRIPTION OF YOUR LOCATION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -THERE IS A LITTLE BIRD IN THE CAGE. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> get(bird) -OK - ->>> look -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> inven -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -BLACK ROD -LITTLE BIRD IN CAGE - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -DRIVES THE SNAKE AWAY. - ->>> look -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 42 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> s -A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. - -YOU ARE IN THE SOUTH SIDE CHAMBER. - -THERE IS A LITTLE AXE HERE. - -THERE IS PRECIOUS JEWELRY HERE! - ->>> get(axe) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 44 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> get(jewelry) -OK - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> w -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - -THERE ARE MANY COINS HERE! - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 46 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> get(coins) -OK - ->>> w -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> n -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -DEAD END - ->>> s -A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY -BLACK SMOKE. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> s -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> w -YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -ROUND TWO FOOT HOLE SLANTS DOWN. - ->>> w -YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. THE HALL -JOINS UP WITH A NARROW NORTH/SOUTH PASSAGE. - ->>> n -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> n -DEAD END - ->>> back -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> w -YOU'RE AT EAST END OF LONG HALL. - ->>> e -YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES -WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET -OFF THE FLOOR. - ->>> e -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE ARE DIAMONDS HERE! - ->>> get(diamonds) -YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -BLACK ROD -DWARF'S AXE -PRECIOUS JEWELRY -RARE COINS - ->>> drop(cage) -OK - ->>> get(diamonds) -OK - ->>> n -YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH -OF THE HALL OF MISTS. - -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> w -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -YOU'RE AT EAST END OF LONG HALL. - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -ROUND TWO FOOT HOLE SLANTS DOWN. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -ROUND TWO FOOT HOLE SLANTS DOWN. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT GETS YOU! - -YOU CLUMSY OAF, YOU'VE DONE IT AGAIN! I DON'T KNOW HOW LONG I CAN -KEEP THIS UP. DO YOU WANT ME TO TRY REINCARNATING YOU AGAIN? - ->>> get(axe) -PLEASE ANSWER THE QUESTION. - ->>> yes -OKAY, NOW WHERE DID I PUT MY ORANGE SMOKE?.... >POOF!< -EVERYTHING DISAPPEARS IN A DENSE CLOUD OF ORANGE SMOKE. - -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> leave -YOU'RE AT END OF ROAD AGAIN. - -THERE IS A SHINY BRASS LAMP NEARBY. - ->>> get(lamp) -OK - ->>> enter -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> xyzzy -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - - ->>> import io ->>> savefile = io.BytesIO() ->>> save(savefile) -GAME SAVED - - ->>> w -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> w -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> w -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> w -THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. - -YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! - -NOW YOU'VE REALLY DONE IT! I'M OUT OF ORANGE SMOKE! YOU DON'T EXPECT -ME TO DO A DECENT REINCARNATION WITHOUT ANY ORANGE SMOKE, DO YOU? - ->>> no -OK - - -YOU SCORED 32 OUT OF A POSSIBLE 350 USING 132 TURNS. - -YOU ARE OBVIOUSLY A RANK AMATEUR. BETTER LUCK NEXT TIME. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 69 MORE POINTS - ->>> w -YOU HAVE GOTTEN YOURSELF KILLED. - - ->>> savefile.seek(0) -0 ->>> adventure.resume(savefile) -GAME RESTORED - - ->>> on(lamp) -YOUR LAMP IS NOW ON. - -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU'RE IN BIRD CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> w -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - ->>> w -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> w -YOU'RE AT EAST END OF LONG HALL. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - -THERE IS A LITTLE AXE HERE. - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - ->>> get(axe) -OK - ->>> get(keys) -OK - ->>> get(rod) -OK - ->>> get(diamonds) -OK - ->>> get(jewel) -OK - ->>> get(coins) -OK - ->>> e -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> e -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> jump -I DON'T KNOW HOW TO APPLY THAT WORD HERE. - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> swing(rod) -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> look -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> jump -I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING. - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> over -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> e -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> s -THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, -"YOU WON'T GET IT UP THE STEPS". - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - ->>> get(gold) -YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. - ->>> drop(rod) -OK - ->>> get(gold) -OK - ->>> n -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - ->>> u -THE DOME IS UNCLIMBABLE. - -YOU'RE IN HALL OF MISTS. - ->>> drop(gold) -OK - ->>> u -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> e -YOU'RE IN BIRD CHAMBER. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> e -YOU'RE IN DEBRIS ROOM. - ->>> xyzzy -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 40 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -DWARF'S AXE -SEVERAL DIAMONDS -PRECIOUS JEWELRY -RARE COINS - ->>> drop(diamonds) -OK - ->>> drop(jewelry) -OK - ->>> drop(coins) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 70 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> xyzzy -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU'RE IN BIRD CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - ->>> get(gold) -OK - ->>> n -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> get(silver) -OK - ->>> n -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> w -YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF -SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF -WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE RIGHT. -MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT -SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND -25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A -SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. - -THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. - ->>> wave -WAVE WHAT? - ->>> e -YOU'RE AT "Y2". - ->>> e -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> e -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> d -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> s -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> nw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> ne -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> se -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> sw -YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -TO GET BACK UP. - ->>> w -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> w -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -DWARF'S AXE - ->>> get(bird) -YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> get(cage) -OK - ->>> e -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> e -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> get(bird) -OK - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> w -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY -GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. - ->>> n -THE DRAGON LOOKS RATHER NASTY. YOU'D BEST NOT TRY TO GET BY. - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> kill(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> throw(axe) -THE AXE BOUNCES HARMLESSLY OFF THE DRAGON'S THICK SCALES. - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THERE IS A LITTLE AXE HERE. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> yes -I DON'T KNOW THAT WORD. - ->>> kill(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> yes -CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE -HANDS! (UNBELIEVABLE, ISN'T IT?) - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THERE IS A LITTLE AXE HERE. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> get(axe) -OK - ->>> get(dragon) -YOU CAN'T BE SERIOUS! - ->>> get(rug) -OK - ->>> n -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> n -YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS -COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND -UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR -ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND -MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED -FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A -SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. - ->>> n -YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD -OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS -FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET -OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE -MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. - ->>> s -YOU'RE IN MIRROR CANYON. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> s -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -YOU'RE IN HALL OF MT KING - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> w -YOU'RE AT WINDOW ON PIT. - -THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. - ->>> e -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -DWARF'S AXE -PERSIAN RUG - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 74 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> n -OK - ->>> drop(persian) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 88 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> n -OK - ->>> plugh -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. - ->>> e -YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS -WEST. - ->>> d -YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH -ENTERS AND EXITS THROUGH TINY SLITS. - ->>> u -YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS -WEST. - ->>> w -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN -THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. - ->>> d -YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. - ->>> n -YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> u -YOU ARE IN AN ARCHED HALL. A CORAL PASSAGE ONCE CONTINUED UP AND EAST -FROM HERE, BUT IS NOW BLOCKED BY DEBRIS. THE AIR SMELLS OF SEA WATER. - ->>> d -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> d -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> d -YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. - ->>> u -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> u -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> get(clam) -OK - ->>> s -YOU CAN'T FIT THIS FIVE-FOOT CLAM THROUGH THAT LITTLE PASSAGE! - -YOU'RE IN SHELL ROOM. - ->>> drop(clam) -OK - ->>> unlock(clam) -YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE CLAM. - ->>> s -YOU'RE AT COMPLEX JUNCTION. - ->>> e -YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL -PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. -A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. -PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> e -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> w -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY -BLOCKED BY A RECENT CAVE-IN. YOU ARE NOW BACK IN THE MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> se -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> nw -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> d -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> se -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> nw -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> d -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> se -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -DO YOU NEED HELP GETTING OUT OF HERE? - ->>> yes -DON'T GO WEST. - ->>> nw -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> d -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU'RE IN ANTEROOM. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -BEDROCK BLOCK. - ->>> w -YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. - ->>> d -YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS -A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. - ->>> u -YOU'RE AT EAST END OF TWOPIT ROOM. - ->>> w -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> down -YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS -A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - ->>> w -YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB -FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE -LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL -PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST -AROUND THE BOULDERS. - ->>> n -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> n -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> n -DEAD END CRAWL. - ->>> s -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -DIRECTIONS. - ->>> u -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> get(vase) -OK - ->>> n -YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. -FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE -HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH -EXITS TO THE SOUTH AND WEST. - ->>> w -YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. - ->>> e -SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. -YOU'D BEST TAKE INVENTORY AND DROP SOMETHING. - -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU'RE IN ALCOVE. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -DWARF'S AXE - ->>> drop(keys) -OK - ->>> drop(lantern) -OK - ->>> drop(cage) -OK - ->>> drop(axe) -OK - ->>> e -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> get(emerald) -OK - ->>> ne -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> s -YOU'RE IN PLOVER ROOM. - ->>> plover -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> drop(emerald) -I SEE NO EMERALD HERE. - ->>> plover -YOU'RE IN PLOVER ROOM. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> get(emerald) -OK - ->>> w -YOU'RE IN ALCOVE. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LAMP SHINING NEARBY. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -THERE IS A LITTLE AXE HERE. - ->>> get(keys) -OK - ->>> get(lamp) -OK - ->>> get(axe) -OK - ->>> nw -YOU'RE IN MISTY CAVERN. - ->>> s -YOU'RE IN ORIENTAL ROOM. - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> e -YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, -THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - ->>> get(pillow) -OK - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. - ->>> n -YOU ARE IN A SECRET CANYON AT A JUNCTION OF THREE CANYONS, BEARING -NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL AS THE OTHER TWO -COMBINED. - ->>> n -YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF -SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF -WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE LEFT. -MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT -SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND -25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A -SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. - -THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. - ->>> w -YOU'RE AT JUNCTION OF THREE SECRET CANYONS. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. - ->>> s -A LARGE STALACTITE EXTENDS FROM THE ROOF AND ALMOST REACHES THE FLOOR -BELOW. YOU COULD CLIMB DOWN IT, AND JUMP FROM IT TO THE FLOOR, BUT -HAVING DONE SO YOU WOULD BE UNABLE TO REACH IT TO CLIMB BACK UP. - ->>> d -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> w -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN -DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK -UP. THE MAZE CONTINUES AT THIS LEVEL. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> nw -DEAD END - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE BARS OF SILVER HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> drop(axe) -OK - ->>> drop(keys) -OK - ->>> get(chest) -OK - ->>> get(gold) -OK - ->>> get(silver) -OK - ->>> get(vase) -OK - ->>> get(emerald) -OK - ->>> look -DEAD END - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LITTLE AXE HERE. - ->>> se -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -YOU'RE AT BRINK OF PIT. - ->>> d -YOU'RE IN BIRD CHAMBER. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> e -YOU'RE IN DEBRIS ROOM. - ->>> xyzzy -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(chest) -OK - ->>> drop(gold) -OK - ->>> drop(silver) -OK - ->>> drop(vase) -THE MING VASE DROPS WITH A DELICATE CRASH. - ->>> drop(emerald) -OK - ->>> drop(pillow) -OK - ->>> look -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 137 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN - ->>> get(bottle) -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU'RE AT COMPLEX JUNCTION. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU'RE AT EAST END OF TWOPIT ROOM. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> say(water) -OKAY, "WATER". - ->>> pour(water) -THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. - -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> climb -YOU HAVE CLIMBED UP THE PLANT AND OUT OF THE PIT. - -YOU'RE AT WEST END OF TWOPIT ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> w -YOU'RE IN SLAB ROOM. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> n -YOU'RE IN MIRROR CANYON. - ->>> n -YOU'RE AT RESERVOIR. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE - ->>> get(water) -YOUR BOTTLE IS NOW FULL OF WATER. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -WATER IN THE BOTTLE - ->>> s -YOU'RE IN MIRROR CANYON. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> d -YOU'RE IN SLAB ROOM. - ->>> s -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> pour(water) -THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. - -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -PROFUSION OF LEAVES. - ->>> w -YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(nest) -OK - ->>> e -THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. - ->>> w -THERE IS NO WAY TO GO THAT DIRECTION. - -THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. - ->>> n -THERE IS NO WAY TO GO THAT DIRECTION. - -THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. - ->>> s -YOU'RE IN GIANT ROOM. - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> n -THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. - -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> s -YOU'RE IN GIANT ROOM. - ->>> s -YOU'RE IN NARROW CORRIDOR. - ->>> d -YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS -A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> e -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN EAST PIT. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -GOLDEN EGGS - ->>> get(oil) -YOUR BOTTLE IS NOW FULL OF OIL. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -OIL IN THE BOTTLE -GOLDEN EGGS - ->>> climb -I DON'T KNOW HOW TO APPLY THAT WORD HERE. - -YOU'RE IN EAST PIT. - ->>> u -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> climb -I DON'T KNOW HOW TO APPLY THAT WORD HERE. - -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> fum -WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. - ->>> foo -WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THE NEST OF GOLDEN EGGS HAS VANISHED! - ->>> w -YOU'RE IN GIANT ROOM. - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get -OK - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> pour -THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, -ALTHOUGH IT REQUIRES SOME EFFORT. - ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. - ->>> unlock -OK - ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. - ->>> n -YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES -OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS -THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - ->>> drink -YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF -MINERALS, BUT IS NOT UNPLEASANT. IT IS EXTREMELY COLD. - ->>> get(trident) -OK - ->>> w -YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD -CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A -PASSAGE LEADING BACK TO THE NORTH. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> u -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> cross -THE TROLL REFUSES TO LET YOU CROSS. - -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> hit(troll) -TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS -THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. - ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> look -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -CHASM ON THIS SIDE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> ne -YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE -HEARD IN THE DISTANCE. - ->>> e -THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING -SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST -DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. - ->>> se -YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH -ODDLY SHAPED LIMESTONE FORMATIONS. - ->>> s -YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN -POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" - ->>> enter -YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. - -THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! - -THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! - ->>> get(chain) -THE CHAIN IS STILL LOCKED. - ->>> unlock -YOU HAVE NO KEYS! - ->>> kill(bear) -WITH WHAT? YOUR BARE HANDS? AGAINST *HIS* BEAR HANDS?? - ->>> yes -I DON'T KNOW THAT WORD. - ->>> get(bear) -YOU CAN'T BE SERIOUS! - ->>> leave -YOU'RE IN FRONT OF BARREN ROOM. - ->>> w -YOU'RE IN LIMESTONE PASSAGE. - ->>> n -YOU'RE AT FORK IN PATH. - ->>> ne -THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY -ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER -PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. - ->>> e -YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE -VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE -HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING -A LOW RUMBLING. - -THERE ARE RARE SPICES HERE! - ->>> get(spices) -OK - ->>> w -YOU'RE AT JUNCTION WITH WARM WALLS. - ->>> n -YOU ARE ON THE EDGE OF A BREATH-TAKING VIEW. FAR BELOW YOU IS AN -ACTIVE VOLCANO, FROM WHICH GREAT GOUTS OF MOLTEN LAVA COME SURGING -OUT, CASCADING BACK DOWN INTO THE DEPTHS. THE GLOWING ROCK FILLS THE -FARTHEST REACHES OF THE CAVERN WITH A BLOOD-RED GLARE, GIVING EVERY- -THING AN EERIE, MACABRE APPEARANCE. THE AIR IS FILLED WITH FLICKERING -SPARKS OF ASH AND A HEAVY SMELL OF BRIMSTONE. THE WALLS ARE HOT TO -THE TOUCH, AND THE THUNDERING OF THE VOLCANO DROWNS OUT ALL OTHER -SOUNDS. EMBEDDED IN THE JAGGED ROOF FAR OVERHEAD ARE MYRIAD TWISTED -FORMATIONS COMPOSED OF PURE WHITE ALABASTER, WHICH SCATTER THE MURKY -LIGHT INTO SINISTER APPARITIONS UPON THE WALLS. TO ONE SIDE IS A DEEP -GORGE, FILLED WITH A BIZARRE CHAOS OF TORTURED ROCK WHICH SEEMS TO -HAVE BEEN CRAFTED BY THE DEVIL HIMSELF. AN IMMENSE RIVER OF FIRE -CRASHES OUT FROM THE DEPTHS OF THE VOLCANO, BURNS ITS WAY THROUGH THE -GORGE, AND PLUMMETS INTO A BOTTOMLESS PIT FAR OFF TO YOUR LEFT. TO -THE RIGHT, AN IMMENSE GEYSER OF BLISTERING STEAM ERUPTS CONTINUOUSLY -FROM A BARREN ISLAND IN THE CENTER OF A SULFUROUS LAKE, WHICH BUBBLES -OMINOUSLY. THE FAR RIGHT WALL IS AFLAME WITH AN INCANDESCENCE OF ITS -OWN, WHICH LENDS AN ADDITIONAL INFERNAL SPLENDOR TO THE ALREADY -HELLISH SCENE. A DARK, FOREBODING PASSAGE EXITS TO THE SOUTH. - ->>> s -YOU'RE AT JUNCTION WITH WARM WALLS. - ->>> s -YOU'RE AT FORK IN PATH. - ->>> w -YOU'RE IN CORRIDOR. - ->>> w -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> throw(spices) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> cross -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -YOU'RE IN ORIENTAL ROOM. - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> n -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> unlock(clam) -A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. - ->>> d -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> d -YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - ->>> get(pearl) -OK - ->>> u -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> u -YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. - -THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> s -YOU'RE AT COMPLEX JUNCTION. - ->>> u -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU'RE IN DIRTY PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> plugh -YOU'RE INSIDE BUILDING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS FOOD HERE. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(trident) -OK - ->>> drop(pearl) -OK - ->>> get(food) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 175 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> xyzzy -YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. -A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS -HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL -SAYS "MAGIC WORD XYZZY". - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. -THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU'RE AT BRINK OF PIT. - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> nw -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -DEAD END - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LITTLE AXE HERE. - ->>> get(keys) -OK - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> se -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> w -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU'RE AT BRINK OF PIT. - ->>> d -YOU'RE IN BIRD CHAMBER. - ->>> w -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU'RE IN HALL OF MT KING - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -BEDROCK BLOCK. - ->>> w -YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> w -YOU'RE IN GIANT ROOM. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. - ->>> n -YOU'RE IN CAVERN WITH WATERFALL. - ->>> w -YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> u -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> throw(axe) -THE TROLL DEFTLY CATCHES THE AXE, EXAMINES IT CAREFULLY, AND TOSSES IT -BACK, DECLARING, "GOOD WORKMANSHIP, BUT IT'S NOT VALUABLE ENOUGH." - -YOU'RE ON SW SIDE OF CHASM. - -THERE IS A LITTLE AXE HERE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> get(axe) -OK - ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> cross -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> ne -YOU'RE IN CORRIDOR. - ->>> e -YOU'RE AT FORK IN PATH. - ->>> se -YOU'RE IN LIMESTONE PASSAGE. - ->>> s -YOU'RE IN FRONT OF BARREN ROOM. - ->>> enter -YOU'RE IN BARREN ROOM. - -THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! - -THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! - ->>> throw(food) -THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. - ->>> get(bear) -THE BEAR IS STILL CHAINED TO THE WALL. - ->>> get(chain) -THE CHAIN IS STILL LOCKED. - ->>> unlock(chain) -THE CHAIN IS NOW UNLOCKED. - ->>> get(chain) -OK - ->>> get(bear) -OK - ->>> look -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. - ->>> leave -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN FRONT OF BARREN ROOM. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN LIMESTONE PASSAGE. - ->>> n -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT FORK IN PATH. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN CORRIDOR. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -CHASM ON THIS SIDE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> drop(bear) -THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. - ->>> cross -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -DIRECTIONS. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -YOU'RE IN ORIENTAL ROOM. - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> w -YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> s -YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -PROFUSION OF LEAVES. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE IN SLAB ROOM. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> s -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -YOU'RE IN HALL OF MT KING - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> say(plugh) -YOU'RE INSIDE BUILDING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -SMALL BOTTLE -DWARF'S AXE -GOLDEN EGGS -GOLDEN CHAIN - ->>> drop(eggs) -OK - ->>> drop(chain) -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> plover -YOU'RE IN PLOVER ROOM. - ->>> ne -YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. - -A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: -"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - ->>> get(pyramid) -OK - ->>> s -YOU'RE IN PLOVER ROOM. - ->>> plover -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> plugh -YOU'RE INSIDE BUILDING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - -THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! - ->>> drop(pyramid) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 219 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> e -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> n -YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH -OF THE HALL OF MISTS. - -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> w -YOU'RE AT EAST END OF LONG HALL. - ->>> w -YOU'RE AT WEST END OF LONG HALL. - ->>> n -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> e -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - ->>> e -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -TO GET BACK UP. - ->>> d -YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. - ->>> u -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. - ->>> s -THE CANYON HERE BECOMES TOO TIGHT TO GO FURTHER SOUTH. - ->>> n -YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. - ->>> n -YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND -SEEMS TO OPEN UP. - ->>> w -THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. - ->>> e -THERE IS NO WAY TO GO THAT DIRECTION. - -THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. - ->>> n -THERE IS NO WAY TO GO THAT DIRECTION. - -THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. - ->>> s -YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND -SEEMS TO OPEN UP. - ->>> n -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> e -YOU'RE IN ANTEROOM. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> read(magazine) -I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. - ->>> u -YOU'RE AT COMPLEX JUNCTION. - ->>> u -A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING -SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." - -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> plugh -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - -YOU'RE AT "Y2". - ->>> e -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> u -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> e -YOU'RE IN BIRD CHAMBER. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> e -YOU'RE IN DEBRIS ROOM. - ->>> xyzzy -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - -YOU'RE IN DEBRIS ROOM. - ->>> e -YOU'RE IN COBBLE CRAWL. - ->>> e -YOU'RE BELOW THE GRATE. - -THE GRATE IS LOCKED. - ->>> unlock -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - ->>> w -YOU'RE IN COBBLE CRAWL. - ->>> w -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU'RE IN BIRD CHAMBER. - ->>> w -THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... - -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - ->>> get(bottle) -OK - ->>> drop(bottle) -OK - ->>> look -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> sw -YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT -FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL -WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE -CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A -LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A -VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE -STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. -KEYS IN MAIN OFFICE." - ->>> get(bird) -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -WICKER CAGE -LITTLE BIRD IN CAGE - ->>> ne -YOU'RE AT NE END. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> drop(bird) -OK - ->>> look -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> get(oyster) -OK - -INTERESTING. THERE SEEMS TO BE SOMETHING WRITTEN ON THE UNDERSIDE OF -THE OYSTER. - ->>> read -HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO -READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? - ->>> no -OK - ->>> shazam -GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD. - ->>> sw -YOU'RE AT SW END. - ->>> get(rod) -OK - ->>> drop(rod) -OK - ->>> ne -YOU'RE AT NE END. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> blast -THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR -WALL, BURYING THE SNAKES IN THE RUBBLE. A RIVER OF MOLTEN LAVA POURS -IN THROUGH THE HOLE, DESTROYING EVERYTHING IN ITS PATH, INCLUDING YOU! - - -YOU SCORED 278 OUT OF A POSSIBLE 350 USING 698 TURNS. - -YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS C. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 53 MORE POINTS - diff --git a/adventure/tests/walkthrough2.txt b/adventure/tests/walkthrough2.txt deleted file mode 100644 index d90793c..0000000 --- a/adventure/tests/walkthrough2.txt +++ /dev/null @@ -1,1345 +0,0 @@ ->>> import play ->>> play.play(seed=2) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> no -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> brief -OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". - ->>> enter -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> get(lamp) -OK - ->>> xyzzy -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> on -YOUR LAMP IS NOW ON. - -YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. -A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS -HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL -SAYS "MAGIC WORD XYZZY". - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - ->>> get(rod) -OK - ->>> e -YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT -AT THE EAST END OF THE PASSAGE. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> get(cage) -OK - ->>> w -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> drop(rod) -OK - ->>> get(bird) -OK - ->>> get(rod) -OK - ->>> w -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -DRIVES THE SNAKE AWAY. - ->>> drop(cage) -OK - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. -THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. - ->>> swing(rod) -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> drop(rod) -OK - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - -THERE ARE DIAMONDS HERE! - ->>> get(diamonds) -OK - ->>> w -YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES -WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET -OFF THE FLOOR. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. - -YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN -DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK -UP. THE MAZE CONTINUES AT THIS LEVEL. - -THERE IS A LITTLE AXE HERE. - ->>> e -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> nw -DEAD END - -THERE ARE DIAMONDS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - ->>> get(chest) -OK - ->>> get(diamonds) -OK - ->>> se -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -YOU'RE AT BRINK OF PIT. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> d -YOU'RE IN BIRD CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY -BLACK SMOKE. - -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> s -THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, -"YOU WON'T GET IT UP THE STEPS". - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - ->>> get(gold) -OK - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE IN HALL OF MISTS. - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -YOU'RE IN HALL OF MISTS. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> d -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> w -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - -THERE ARE MANY COINS HERE! - ->>> get(coins) -OK - ->>> e -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> s -YOU ARE IN THE SOUTH SIDE CHAMBER. - -THERE IS PRECIOUS JEWELRY HERE! - ->>> get(jewelry) -OK - ->>> n -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> drop(axe) -OK - ->>> sw -YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -TO GET BACK UP. - ->>> w -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> kill(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> yes -CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE -HANDS! (UNBELIEVABLE, ISN'T IT?) - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> get(rug) -OK - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS A LITTLE AXE HERE. - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> n -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> drop(gold) -OK - ->>> drop(diamonds) -OK - ->>> drop(jewelry) -OK - ->>> drop(coins) -OK - ->>> drop(chest) -OK - ->>> drop(rug) -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> s -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> get(silver) -OK - ->>> n -YOU'RE AT "Y2". - ->>> plover -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> ne -YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. - -A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: -"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - ->>> get(platinum) -OK - ->>> s -YOU'RE IN PLOVER ROOM. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> plover -YOU'RE AT "Y2". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(silver) -OK - ->>> drop(platinum) -OK - ->>> get(keys) -OK - ->>> get(food) -OK - ->>> get(bottle) -OK - ->>> plugh -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. - ->>> w -YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN -THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. - ->>> d -YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -BEDROCK BLOCK. - ->>> oriental -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> n -YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. -FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE -HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH -EXITS TO THE SOUTH AND WEST. - ->>> w -YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. - ->>> drop(keys) -OK - ->>> drop(lantern) -OK - ->>> drop(food) -OK - ->>> drop(bottle) -OK - ->>> e -YOU'RE IN PLOVER ROOM. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> get(emerald) -OK - ->>> w -YOU'RE IN ALCOVE. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LAMP SHINING NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> get(keys) -OK - ->>> get(lantern) -OK - ->>> get(food) -OK - ->>> get(bottle) -OK - ->>> nw -YOU'RE IN MISTY CAVERN. - ->>> s -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. - ->>> w -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - ->>> d -YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS -A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> pour(water) -THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. - -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> w -YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB -FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE -LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL -PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST -AROUND THE BOULDERS. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> n -YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS -COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND -UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR -ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND -MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED -FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A -SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. - ->>> n -YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD -OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS -FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET -OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE -MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. - ->>> get(water) -YOUR BOTTLE IS NOW FULL OF WATER. - ->>> s -YOU'RE IN MIRROR CANYON. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> d -YOU'RE IN SLAB ROOM. - ->>> s -YOU'RE AT WEST END OF TWOPIT ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> pour(water) -THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. - -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> e -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS -A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. - ->>> get(oil) -YOUR BOTTLE IS NOW FULL OF OIL. - ->>> u -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -PROFUSION OF LEAVES. - ->>> w -YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> pour(oil) -THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, -ALTHOUGH IT REQUIRES SOME EFFORT. - ->>> drop(bottle) -OK - ->>> n -YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES -OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS -THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - ->>> get(trident) -OK - ->>> w -YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD -CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A -PASSAGE LEADING BACK TO THE NORTH. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -DIRECTIONS. - ->>> u -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> cross -YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -CHASM ON THIS SIDE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> ne -YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE -HEARD IN THE DISTANCE. - ->>> e -THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING -SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST -DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. - ->>> se -YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH -ODDLY SHAPED LIMESTONE FORMATIONS. - ->>> s -YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN -POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" - ->>> e -YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. - -THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! - -THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! - ->>> feed(bear) -THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. - ->>> unlock(chain) -THE CHAIN IS NOW UNLOCKED. - ->>> drop(keys) -OK - ->>> get(chain) -OK - ->>> get(bear) -OK - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN FRONT OF BARREN ROOM. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN LIMESTONE PASSAGE. - ->>> n -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT FORK IN PATH. - ->>> ne -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY -ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER -PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. - ->>> e -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE -VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE -HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING -A LOW RUMBLING. - -THERE ARE RARE SPICES HERE! - ->>> get(spices) -OK - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT JUNCTION WITH WARM WALLS. - ->>> s -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT FORK IN PATH. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN CORRIDOR. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> drop(bear) -THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. - ->>> sw -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> w -YOU'RE IN GIANT ROOM. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> s -YOU'RE IN NARROW CORRIDOR. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE IN SLAB ROOM. - ->>> n -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> n -YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> unlock(clam) -A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. - ->>> d -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> d -YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - ->>> get(pearl) -OK - ->>> u -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> u -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> s -YOU'RE AT COMPLEX JUNCTION. - ->>> u -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU'RE IN DIRTY PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(eggs) -OK - ->>> drop(trident) -OK - ->>> drop(emerald) -OK - ->>> drop(pearl) -OK - ->>> drop(spices) -OK - ->>> drop(chain) -OK - ->>> plugh -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU'RE AT COMPLEX JUNCTION. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> oriental -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> get(vase) -OK - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> e -YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, -THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - ->>> get(pillow) -OK - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> u -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU'RE IN DIRTY PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - -THERE ARE RARE SPICES HERE! - -THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! - ->>> drop(pillow) -OK - ->>> drop(vase) -THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW. - ->>> adventure._game.clock1 -5 ->>> plugh -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> s -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> s -YOU ARE IN THE SOUTH SIDE CHAMBER. - ->>> n -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING -SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." - -YOU'RE AT "Y2". - ->>> plugh -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU'RE AT COMPLEX JUNCTION. - ->>> e -YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL -PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. -A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. -PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> get(magazine) -OK - ->>> e -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> drop(magazine) -OK - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... - -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - ->>> sw -YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT -FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL -WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE -CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A -LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A -VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE -STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. -KEYS IN MAIN OFFICE." - ->>> get(rod) -OK - ->>> ne -YOU'RE AT NE END. - ->>> drop(rod) -OK - ->>> sw -YOU'RE AT SW END. - ->>> blast -THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR -WALL, BURYING THE DWARVES IN THE RUBBLE. YOU MARCH THROUGH THE HOLE -AND FIND YOURSELF IN THE MAIN OFFICE, WHERE A CHEERING BAND OF -FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET. - - -YOU SCORED 350 OUT OF A POSSIBLE 350 USING 266 TURNS. - -ALL OF ADVENTUREDOM GIVES TRIBUTE TO YOU, ADVENTURER GRANDMASTER! - -TO ACHIEVE THE NEXT HIGHER RATING WOULD BE A NEAT TRICK! - -CONGRATULATIONS!! - diff --git a/adventure/vignettes.txt b/adventure/vignettes.txt deleted file mode 100644 index 64fb128..0000000 --- a/adventure/vignettes.txt +++ /dev/null @@ -1,1453 +0,0 @@ ->>> import io ->>> from itertools import cycle, islice - -This file tests the behavior of the Adventure game in all sorts of -specific situations that would be very tedious to arrange in actual -walkthroughs. As the basis for these tests, we will begin by starting a -game, entering the building, and carrying the lamp. - ->>> import play ->>> play.play(seed=3) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> no -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> brief -OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". - ->>> enter -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> on -YOUR LAMP IS NOW ON. - ->>> get(lamp) -OK - ->>> for _room in play._game.rooms.values(): -... _room.times_described = 1 # to avoid long descriptions - -Now we can save this game. - ->>> savefile = io.BytesIO() ->>> save(savefile) -GAME SAVED - - -Now, all of the tests below can begin by calling this restart() function -to place them back at the beginning of the adventure in a known state. -If a room is specified, note that restart() performs two turns in the -room before handing back control: the first when it asks the game to -move the caller into that room, and the second when it calls look(). - ->>> import prompt ->>> def restart(room=None, dwarves=False, objects=(), randoms=None): -... """Restart the whole Adventure game from our stringio file.""" -... -... global game -... savefile.seek(0) -... play.resume(savefile, quiet=True) -... game = play._game -... if room is not None: -... _go_to(room) -... room = game.loc -... if not dwarves: -... game.dwarf_stage = 2 -... del game.dwarves[:] -... for obj in objects: -... if isinstance(obj, prompt.ReprTriggeredPhrase): -... obj = game.referent(game.vocabulary[obj.words[0]]) -... obj.drop(room) -... if randoms is not None: -... game.random = list(randoms).pop - ->>> class go_to(object): -... """Special command that warps us directly to a location.""" -... -... def __init__(self, room): -... self.room = room -... def __repr__(self): -... game.output = '' -... _go_to(self.room) -... return game.output.rstrip('\n') + '\n' - ->>> def _go_to(room): -... game.move_to(game.rooms[room] if isinstance(room, int) else room) - ->>> def quiet(*args): -... """Run one or more commands without printing their result.""" -... -... for arg in args: -... repr(arg) -... return None - -With those definitions complete, we can proceed with the actual tests! - -------------------- -Pirates and dwarves -------------------- - -If the dwarves activate when we are standing in one of their starting -rooms, then does the dwarf at our location get moved successfully to the -gold nuggets room? - ->>> restart(room=41, dwarves=True, randoms=[None, .9, .9, .99]) ->>> [ _dwarf.room.n for _dwarf in game.dwarves ] -[19, 27, 33, 44, 64] ->>> e -A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A LITTLE AXE HERE. - -THERE ARE DIAMONDS HERE! - ->>> [ _dwarf.room.n for _dwarf in game.dwarves ] -[19, 18, 33, 44, 64] - -If the pirate encounters us in the plover room or dark room, does he -leave the platinum pyramid since learning how to remove it from the room -is one of the game's puzzles? - ->>> restart(room=100, objects=[pyramid]) ->>> look -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - - ->>> get(pyramid) -OK - ->>> get(emerald) -OK - ->>> game.pirate.room = game.loc ->>> look -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -PLATINUM PYRAMID - - -If we manage to collect all of the treasures before the pirate spots us, -then when we find him he goes to hide his treasure chest in the maze -without any other treasures to accompany it. - ->>> restart() ->>> for t in game.treasures: -... if t == 'chest': continue -... t.drop(game.loc) ->>> quiet(look) ->>> game.dwarf_stage = 2 ->>> game.loc = game.pirate.room = game.rooms[69] ->>> look -THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. AS YOU -TURN TOWARD THEM, THE BEAM OF YOUR LAMP FALLS ACROSS A BEARDED PIRATE. -HE IS CARRYING A LARGE CHEST. "SHIVER ME TIMBERS!" HE CRIES, "I'VE -BEEN SPOTTED! I'D BEST HIE MESELF OFF TO THE MAZE TO HIDE ME CHEST!" -WITH THAT, HE VANISHES INTO THE GLOOM. - -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> go_to(game.chest_room) -DEAD END - -THE PIRATE'S TREASURE CHEST IS HERE! - - -If several dwarves throw knives that hit us, does a sensible message result? - ->>> restart(room=75, dwarves=True, randoms=(.05,.05,.05,.05,.05,.05)) ->>> game.dwarf_stage = 3 ->>> for _dwarf in game.dwarves: -... _dwarf.room = game.rooms[75] ->>> look -THERE ARE 5 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -5 OF THEM THROW KNIVES AT YOU! - -5 OF THEM GET YOU! - -OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -TO TRY TO REINCARNATE YOU? - - -If, when a treasure is found, the game figures out that all remaining -treasures are impossible to acquire - like the jewelry in the south side -chamber of the Hall of the Mountain King, if the bird dies before the -snake is driven away - then the lamp should be reduced to only having 35 -turns left. - ->>> restart() ->>> for t in game.treasures: -... if t == 'jewelry' or t == 'silver': continue -... t.drop(game.loc) ->>> quiet(look) ->>> game.bird.carry() ->>> go_to(119) -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY -GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. - ->>> game.lamp_turns -326 ->>> go_to(28) -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> game.lamp_turns -35 - ----------------------------------- -Making sure that hints are offered ----------------------------------- - -If you act confused, the game should offer you a hint. Here are quick -(but certainly not thorough!) tests of whether the logic for each hint -allows it to be offered. - ->>> restart(room=8) ->>> quiet(look, look) ->>> look -YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE -DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED -LEADS INTO THE DEPRESSION. - -THE GRATE IS LOCKED. - -ARE YOU TRYING TO GET INTO THE CAVE? - ->>> yes -THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT -ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND -LOOKING ELSEWHERE FOR THE KEYS. - - ->>> restart(room=13, objects=[rod]) ->>> quiet(get(rod), look, look) ->>> get(bird) -THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES -DISTURBED AND YOU CANNOT CATCH IT. - -ARE YOU TRYING TO CATCH THE BIRD? - ->>> no -OK - - ->>> restart(room=19) ->>> quiet(*[ look ] * 6) ->>> look -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - -ARE YOU TRYING TO SOMEHOW DEAL WITH THE SNAKE? - - ->>> restart(room=42, objects=[food]) ->>> quiet(get(food), s, n) ->>> quiet(*islice(cycle((w, s, n)), 75 - 5)) ->>> look -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - -DO YOU NEED HELP GETTING OUT OF THE MAZE? - ->>> yes -YOU CAN MAKE THE PASSAGES LOOK LESS ALIKE BY DROPPING THINGS. - - ->>> quiet(restart(room=99)) ->>> quiet([ look ] * (25 - 2)) ->>> look -YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. - -ARE YOU TRYING TO EXPLORE BEYOND THE PLOVER ROOM? - - ->>> quiet(restart(room=108), [ look ] * (20 - 2)) ->>> look -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - -DO YOU NEED HELP GETTING OUT OF HERE? - - ------------------------- -Your lamp is getting dim ------------------------- - -There is an elaborate set of messages generated for the player as their -lamp starts to grow dim. You can, of course, replentish the lamp using -batteries from the vending machine in the maze. - ->>> quiet(restart(room=34)) ->>> game.chest.prop = 1 ->>> quiet([ look ] * (330 - 30 - 3)) ->>> look -YOUR LAMP IS GETTING DIM. YOU'D BEST START WRAPPING THIS UP, UNLESS -YOU CAN FIND SOME FRESH BATTERIES. I SEEM TO RECALL THERE'S A VENDING -MACHINE IN THE MAZE. BRING SOME COINS WITH YOU. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> quiet(go_to(30), get(coins)) ->>> go_to(140) -DEAD END - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - ->>> drop(coins) -THERE ARE FRESH BATTERIES HERE. - ->>> look -YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE -BATTERIES. - -DEAD END - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - -SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. - ->>> game.lamp_turns = 31 ->>> n -YOUR LAMP IS GETTING DIM, AND YOU'RE OUT OF SPARE BATTERIES. YOU'D -BEST START WRAPPING THIS UP. - -YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. - ->>> game.lamp_turns = 1 ->>> n -YOUR LAMP HAS RUN OUT OF POWER. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> go_to(5) -YOU'RE IN FOREST. - ->>> w -THERE'S NOT MUCH POINT IN WANDERING AROUND OUT HERE, AND YOU CAN'T -EXPLORE THE CAVE WITHOUT A LAMP. SO LET'S JUST CALL IT A DAY. - - -YOU SCORED 61 OUT OF A POSSIBLE 350 USING 309 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS - - -If the batteries are in the user's inventory when replaced, then the old -ones are tossed on the ground rather than remaining in the inventory. - ->>> restart(room=30) ->>> quiet(get(coins), go_to(140), drop(coins)) ->>> get(batteries) -OK - ->>> game.chest.prop = 1 ->>> game.lamp_turns = 30 ->>> look -YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE -BATTERIES. - -DEAD END - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - -SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY. - - -Finally, if you leave the batteries in the maze, you are warned to go -back and get them. - ->>> quiet(restart(room=34), go_to(30), get(coins), go_to(140), drop(coins), n) ->>> game.lamp_turns = 30 ->>> look -YOUR LAMP IS GETTING DIM. YOU'D BEST GO BACK FOR THOSE BATTERIES. - -YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. - - ----------------------------------- -Basic and advanced command parsing ----------------------------------- - -Various complaints are associated with poorly-chosen requests. - ->>> quiet(restart(room=34)) ->>> enter(water) -WHERE? - ->>> quiet(go_to(7)) ->>> enter(water) -YOUR FEET ARE NOW WET. - - -You can try to enter the house with the 'enter' command instead of just -naming the house. - ->>> quiet(restart(room=1)) ->>> enter(house) -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - - -Both "oil" and "water" can be used as verbs, despite officially being -treated as nouns in the game vocabulary. - ->>> restart(room=94) ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> oil(door) -I SEE NO OIL HERE. - ->>> go_to(25) -YOU'RE IN WEST PIT. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> water(plant) -I SEE NO WATER HERE. - - -Various combinations of words yield somewhat sensible retorts; and -several nouns invoke small special cases in the code, like "grate" also -being a movement noun. - ->>> restart(room=4, dwarves=True) ->>> look -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. - - ->>> game.do_command(['eat', 'pray', 'love']) -"I DON'T KNOW THAT WORD.\n\n" - ->>> grate -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - ->>> go_to(12) -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> grate -YOU'RE BELOW THE GRATE. - -THE GRATE IS LOCKED. - - ->>> carry(dwarf) -I SEE NO DWARF HERE. - - ->>> quiet(go_to(3)) ->>> get(water) -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -WATER IN THE BOTTLE - - ->>> get(knife) -I SEE NO KNIFE HERE. - ->>> game.dwarf_stage = 2 ->>> go_to(27) -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE ARE DIAMONDS HERE! - ->>> get(knife) -THE DWARVES' KNIVES VANISH AS THEY STRIKE THE WALLS OF THE CAVE. - ->>> get(knife) -I SEE NO KNIFE HERE. - - ->>> find(jewelry) -I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT AND MANIPULATE -THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS ARE. - - ->>> lamp -WHAT DO YOU WANT TO DO WITH THE LAMP? - - ->>> quiet(restart(randoms=(None, 0.1, None, 0.3, None, 0.9))) ->>> carry(pour) -I DON'T KNOW THAT WORD. - ->>> jump(eat) -I DON'T UNDERSTAND THAT! - ->>> throw(drop) -WHAT? - - ---------------- -Special motions ---------------- - -The "back" movement command has to handle several special cases, in case -the previous location was an intermediate "forced" room, or if it simply -cannot figure out how to return you to the previous location. - ->>> quiet(restart(room=65, randoms=(None, None, 0.001,))) ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> back -SORRY, BUT I NO LONGER SEEM TO REMEMBER HOW IT WAS YOU GOT HERE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - - -While testing "back" on the beanstalk, we also test for whether we can -run a command like "get" on the plant as seen from outside the pits. - ->>> quiet(restart(), get(bottle), go_to(25), pour(water)) ->>> quiet(go_to(113), get(water), go_to(25), pour(water)) ->>> go_to(88) -YOU'RE IN NARROW CORRIDOR. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> back -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> go_to(23) -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> find(beanstalk) -I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. - ->>> go_to(67) -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - - ->>> go_to(91) -YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> back -YOU CAN'T GET THERE FROM HERE. - -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - - -If the player tries walking back across the troll bridge while still -carrying the bear, then disaster strikes: the bridge breaks beneath -them, and both player and bear wind up dead at the bottom of the pit. -But the game shows a bit of elegance, and refuses to strand the player's -belongings out of reach, either at the pit bottom or where they were -last standing on the far side of the troll bridge - since without the -bridge, the items would be permanently lost! (We also try feeding the -bear a few times, to test some special cases in the feed() logic while -we are at it.) - ->>> quiet(restart(), get(keys), go_to(123)) ->>> game.bear.carry() ->>> game.bear.prop = 2 ->>> game.bear.is_fixed = False ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> drop(bear) -THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. - ->>> feed(bear) -THERE IS NOTHING HERE TO EAT. - ->>> get(bear) -OK - ->>> sw -JUST AS YOU REACH THE OTHER SIDE, THE BRIDGE BUCKLES BENEATH THE -WEIGHT OF THE BEAR, WHICH WAS STILL FOLLOWING YOU AROUND. YOU -SCRABBLE DESPERATELY FOR SUPPORT, BUT AS THE BRIDGE COLLAPSES YOU -STUMBLE BACK AND FALL INTO THE CHASM. - -OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -TO TRY TO REINCARNATE YOU? - ->>> quiet(yes, leave, get(lamp), on) ->>> go_to(117) -YOU'RE ON SW SIDE OF CHASM. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THE WRECKAGE OF A BRIDGE (AND A DEAD BEAR) CAN BE SEEN AT THE BOTTOM -OF THE CHASM. - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> feed(bear) -DON'T BE RIDICULOUS! - - -Several motion words elicit special messages when they do not apply. - ->>> quiet(restart(room=34)) ->>> onward -I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> left -I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> right -I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ->>> leave -I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING -IN THE GENERAL DIRECTION YOU WANT TO GO. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> inward -I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING -IN THE GENERAL DIRECTION YOU WANT TO GO. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ->>> xyzzy -NOTHING HAPPENS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> plugh -NOTHING HAPPENS. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ->>> crawl -WHICH WAY? - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - - ---------------- -Verb edge cases ---------------- - -And now, we exercise dozens of fiddly edge cases for verbs. - ->>> quiet(restart()) ->>> carry # ambiguous in the face of several objects -CARRY WHAT? - - ->>> quiet(restart(room=25)) ->>> get(plant) -THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE. - - ->>> quiet(restart(), go_to(24)) ->>> get(oil) -YOU HAVE NOTHING IN WHICH TO CARRY IT. - ->>> quiet(go_to(3), get(bottle), go_to(24)) ->>> get(oil) -YOUR BOTTLE IS ALREADY FULL. - ->>> get(bottle) -YOU ARE ALREADY CARRYING IT! - ->>> drop(oil) -YOU AREN'T CARRYING IT! - ->>> drop(water) -OK - ->>> look -YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS -A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. - -THERE IS A BOTTLE OF WATER HERE. - - ->>> restart(room=94, objects=[clam]) ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> unlock # two unlockable objects are present -UNLOCK WHAT? - ->>> quiet(s) ->>> unlock # no unlockable objects also cause a problem -THERE IS NOTHING HERE WITH A LOCK! - - ->>> restart(room=103, objects=[trident]) ->>> lock(clam) -WHAT? - ->>> quiet(get(clam), get(trident)) ->>> unlock -I ADVISE YOU TO PUT DOWN THE CLAM BEFORE OPENING IT. >STRAIN!< - ->>> quiet(drop(clam)) ->>> unlock -A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. - ->>> unlock -THE OYSTER CREAKS OPEN, REVEALING NOTHING BUT OYSTER INSIDE. IT -PROMPTLY SNAPS SHUT AGAIN. - - ->>> restart(room=94) ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> unlock -THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. - - ->>> restart() ->>> unlock(keys) -YOU CAN'T UNLOCK THE KEYS. - ->>> quiet(get(keys), get(food), go_to(10)) ->>> unlock(cage) -IT HAS NO LOCK. - ->>> quiet(go_to(130)) ->>> lock(chain) -IT WAS ALREADY LOCKED. - ->>> unlock(chain) -THERE IS NO WAY TO GET PAST THE BEAR TO UNLOCK THE CHAIN, WHICH IS -PROBABLY JUST AS WELL. - ->>> quiet(throw(food), unlock(chain)) ->>> unlock(chain) -IT WAS ALREADY UNLOCKED. - ->>> quiet(get(chain), w) ->>> lock(chain) -THERE IS NOTHING HERE TO WHICH THE CHAIN CAN BE LOCKED. - ->>> quiet(e) ->>> lock(chain) -THE CHAIN IS NOW LOCKED. - ->>> get(chain) -THE CHAIN IS STILL LOCKED. - ->>> lock(bear) -I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING. - - ->>> restart() ->>> off -YOUR LAMP IS NOW OFF. - ->>> quiet(drop(lamp), leave) ->>> on -YOU HAVE NO SOURCE OF LIGHT. - ->>> off -YOU HAVE NO SOURCE OF LIGHT. - ->>> quiet(enter, get(lamp), on, plugh) ->>> off -YOUR LAMP IS NOW OFF. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> quiet(on) ->>> game.lamp_turns = 2 ->>> quiet(look) ->>> look -YOUR LAMP HAS RUN OUT OF POWER. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> on -YOUR LAMP HAS RUN OUT OF POWER. - - ->>> restart() ->>> wave(lamp) -NOTHING HAPPENS. - ->>> wave(keys) -YOU AREN'T CARRYING IT! - - -The "attack" verb is a particularly long test, because its intransitive -form works hard to determine - in two stages, focusing first on real -enemies and then on some harmless objects - what on earth you could -possibly be designating as a target. - ->>> restart(dwarves=True) ->>> attack -THERE IS NOTHING HERE TO ATTACK. - ->>> quiet(go_to(117)) ->>> attack -TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS -THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. - ->>> game.dwarf_stage = 2 ->>> game.dwarves[0].room = game.loc ->>> attack # now there are two choices: dwarf and troll -ATTACK WHAT? - ->>> attack(dwarf) -WITH WHAT? YOUR BARE HANDS? - ->>> quiet(go_to(103), get(clam), go_to(13)) ->>> attack # cannot decide between oyster and bird -ATTACK WHAT? - ->>> quiet(w, drop(clam), e) ->>> attack -THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS. - ->>> look # make sure the bird is really gone -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - ->>> quiet(w) ->>> attack -THE SHELL IS VERY STRONG AND IS IMPERVIOUS TO ATTACK. - ->>> quiet(go_to(119)) ->>> attack(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> quiet(yes) ->>> attack(dragon) -FOR CRYING OUT LOUD, THE POOR THING IS ALREADY DEAD! - - ->>> quiet(restart(), get(bottle)) ->>> pour -YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. - ->>> pour -POUR WHAT? - ->>> quiet(go_to(24), get(oil), go_to(25)) ->>> pour(bottle) -THE PLANT INDIGNANTLY SHAKES THE OIL OFF ITS LEAVES AND ASKS, "WATER?" - ->>> quiet(go_to(24), get(oil)) ->>> pour -YOUR BOTTLE IS EMPTY AND THE GROUND IS WET. - ->>> pour(oil) -YOU AREN'T CARRYING IT! - ->>> pour(lamp) -YOU CAN'T POUR THAT. - - ->>> restart() ->>> eat -THANK YOU, IT WAS DELICIOUS! - ->>> eat -EAT WHAT? - ->>> quiet(go_to(13)) ->>> eat(bird) -I THINK I JUST LOST MY APPETITE. - ->>> quiet(e, e) ->>> eat(rod) -DON'T BE RIDICULOUS! - - ->>> quiet(restart(), get(bottle), leave, w) ->>> drink -THE BOTTLE OF WATER IS NOW EMPTY. - ->>> drink -DRINK WHAT? - ->>> drink(lamp) -DON'T BE RIDICULOUS! - - ->>> quiet(restart()) ->>> rub(lamp) -RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, -NOTHING EXCITING HAPPENS. - ->>> rub(bottle) -I THINK I JUST LOST MY APPETITE. - - ->>> quiet(restart(objects=[axe]), get(axe)) ->>> throw(food) -YOU AREN'T CARRYING IT! - ->>> quiet(get(food), leave) ->>> throw(lamp) -OK - ->>> look -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - -THERE IS A LAMP SHINING NEARBY. - ->>> quiet(get(lamp), go_to(130)) ->>> throw(axe) -THE AXE MISSES AND LANDS NEAR THE BEAR WHERE YOU CAN'T GET AT IT. - ->>> get(axe) -YOU CAN'T BE SERIOUS! - ->>> throw(food) -THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. - ->>> get(axe) -OK - ->>> quiet(leave) ->>> throw(axe) -THERE IS NOTHING HERE TO ATTACK. - - ->>> restart() ->>> quit() -DO YOU REALLY WANT TO QUIT NOW? - ->>> no -OK - ->>> quit() -DO YOU REALLY WANT TO QUIT NOW? - ->>> yes -OK - - -YOU SCORED 61 OUT OF A POSSIBLE 350 USING 7 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS - - ->>> restart() ->>> find(lamp) -YOU ARE ALREADY CARRYING IT! - ->>> find(keys) -I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU. - - ->>> quiet(restart(), get(food), get(keys), go_to(130), throw(food), unlock) ->>> get(bear) -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - - ->>> quiet(restart(dwarves=True), go_to(10), get(cage), go_to(13)) ->>> feed(bird) -IT'S NOT HUNGRY (IT'S MERELY PININ' FOR THE FJORDS). BESIDES, YOU -HAVE NO BIRD SEED. - ->>> quiet(get(bird), go_to(117)) ->>> feed(troll) -GLUTTONY IS NOT ONE OF THE TROLL'S VICES. AVARICE, HOWEVER, IS. - ->>> quiet(go_to(119)) ->>> feed(dragon) -THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). - ->>> quiet(kill(dragon), yes) ->>> feed(dragon) -DON'T BE RIDICULOUS! - ->>> quiet(go_to(19)) ->>> feed(snake) -THE SNAKE HAS NOW DEVOURED YOUR BIRD. - ->>> feed(snake) -THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). - ->>> game.dwarf_stage = 2 ->>> quiet(look) ->>> feed(dwarf) -THERE IS NOTHING HERE TO EAT. - ->>> game.food.drop(game.loc) ->>> feed(dwarf) -YOU FOOL, DWARVES EAT ONLY COAL! NOW YOU'VE MADE HIM *REALLY* MAD!! - ->>> quiet(go_to(129), drop(food), e) ->>> feed(bear) -THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU). - ->>> feed(chain) -I'M GAME. WOULD YOU CARE TO EXPLAIN HOW? - - ->>> quiet(restart(), get(bottle), drink) ->>> fill -YOUR BOTTLE IS NOW FULL OF WATER. - ->>> fill -YOUR BOTTLE IS ALREADY FULL. - ->>> quiet(drink, plugh) ->>> fill -THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE. - ->>> quiet(drop(bottle), go_to(97)) ->>> fill(vase) -YOU CAN'T FILL THAT. - ->>> quiet(get(vase)) ->>> fill(vase) -THERE IS NOTHING HERE WITH WHICH TO FILL THE VASE. - ->>> quiet(go_to(38)) ->>> fill(vase) -THE SUDDEN CHANGE IN TEMPERATURE HAS DELICATELY SHATTERED THE VASE. - ->>> look -YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH -ENTERS AND EXITS THROUGH TINY SLITS. - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - ->>> get(vase) -YOU CAN'T BE SERIOUS! - ->>> fill(lamp) -YOU CAN'T FILL THAT. - ->>> fill -FILL WHAT? - - ->>> restart() ->>> blast -BLASTING REQUIRES DYNAMITE. - - ->>> restart() ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 57 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> yes -OK - - -YOU SCORED 61 OUT OF A POSSIBLE 350 USING 6 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 70 MORE POINTS - - ->>> quiet(restart(), go_to(92), fee, fie, foe) ->>> foo # does nothing obvious since the eggs are here -OK - ->>> quiet(get(eggs), go_to(117)) ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> quiet(fee, fie, foe) ->>> foo -DONE! - ->>> cross # troll does not wait for us to cross! -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - - ->>> quiet(restart(), go_to(106)) ->>> read -I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. - ->>> quiet(off) ->>> read(magazine) -I SEE NO MAGAZINE HERE. - ->>> quiet(on, get(magazine), go_to(101)) ->>> read # confused by two choices -READ WHAT? - ->>> read(tablet) -"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" - ->>> quiet(go_to(95), get(trident), go_to(103), unlock(clam), get(oyster)) ->>> read(oyster) -HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO -READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? - ->>> yes -IT SAYS, "THERE IS SOMETHING STRANGE ABOUT THIS PLACE, SUCH THAT ONE -OF THE WORDS I'VE ALWAYS KNOWN NOW HAS A NEW EFFECT." - ->>> read(oyster) -IT SAYS THE SAME THING IT DID BEFORE. - ->>> quiet(go_to(29), get(gold), go_to(112)) ->>> game.pirate.room = game.rooms[112] ->>> look -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT. - ->>> s -DEAD END - -THERE IS A MESSAGE SCRAWLED IN THE DUST IN A FLOWERY SCRIPT, READING: -"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." - -THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: -"DROP COINS HERE TO RECEIVE FRESH BATTERIES." - ->>> read(message) -"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST." - ->>> read(lamp) -I'M AFRAID I DON'T UNDERSTAND. - - ->>> quiet(restart(), go_to(97)) ->>> smash(vase) -YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. - ->>> get(vase) -YOU CAN'T BE SERIOUS! - ->>> quiet(restart(), go_to(97)) ->>> get(vase) # can we also break it while carrying it? -OK - ->>> smash(vase) -YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN - ->>> look -THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - ->>> quiet(go_to(109)) ->>> smash(mirror) -IT IS TOO FAR UP FOR YOU TO REACH. - ->>> smash(lamp) -IT IS BEYOND YOUR POWER TO DO THAT. - - ->>> quiet(restart()) ->>> wake(keys) -DON'T BE RIDICULOUS! - - ->>> quiet(restart()) ->>> suspend -PROVIDE "SUSPEND" WITH A FILENAME OR OPEN FILE - - ----------------- -Closing the cave ----------------- - -Finally, there are a few situations we need to test that relate -specifically to the end-game. For example, dying while the cave is -closing causes a very abrupt ending to the game. - ->>> quiet(restart(), drop(lamp), go_to(13)) ->>> game.is_closing = 1 ->>> game.start_closing_cave() ->>> w -YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! - -IT LOOKS AS THOUGH YOU'RE DEAD. WELL, SEEING AS HOW IT'S SO CLOSE TO -CLOSING TIME ANYWAY, I THINK WE'LL JUST CALL IT A DAY. - - -YOU SCORED 78 OUT OF A POSSIBLE 350 USING 7 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 53 MORE POINTS - - -Now we reload our saved game one last time, take it through the ending, -and then save anew so that we can do several tests in the repository. - ->>> quiet(restart(), get(keys), go_to(9)) ->>> game.is_closing = 1 ->>> game.start_closing_cave() ->>> unlock -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - ->>> game.clock2 = 1 ->>> w -THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... - -YOU'RE AT NE END. - ->>> quiet(savefile.truncate()) ->>> savefile.seek(0) -0 ->>> save(savefile) -GAME SAVED - - -Most of the interesting end-game events are fatal, but not all. - ->>> quiet(restart(), sw) ->>> get(cage) -OK - ->>> attack(bird) -OH, LEAVE THE POOR UNHAPPY BIRD ALONE. - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -DRIVES THE SNAKE AWAY. - -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 13 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - - ->>> quiet(restart()) ->>> attack(dwarf) -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - - ->>> quiet(restart(), sw) ->>> get(rod) # grab the rusty-mark rod -OK - ->>> ne # move to where the rusty-star rods lie -YOU'RE AT NE END. - ->>> throw(rod) # will the correct rod get dropped? -OK - ->>> look -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - -A THREE FOOT BLACK ROD WITH A RUSTY MARK ON AN END LIES NEARBY. - - ->>> restart() ->>> find(eggs) -I DARESAY WHATEVER YOU WANT IS AROUND HERE SOMEWHERE. - ->>> sw -YOU'RE AT SW END. - ->>> get(rod) -OK - ->>> blast -THERE IS A LOUD EXPLOSION, AND YOU ARE SUDDENLY SPLASHED ACROSS THE -WALLS OF THE ROOM. - - -YOU SCORED 113 OUT OF A POSSIBLE 350 USING 13 TURNS. - -YOU HAVE ACHIEVED THE RATING: "EXPERIENCED ADVENTURER". - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 88 MORE POINTS - - ->>> restart() ->>> shatter(mirror) -YOU STRIKE THE MIRROR A RESOUNDING BLOW, WHEREUPON IT SHATTERS INTO A -MYRIAD TINY FRAGMENTS. - -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - - ->>> restart() ->>> wake(dwarves) -YOU PROD THE NEAREST DWARF, WHO WAKES UP GRUMPILY, TAKES ONE LOOK AT -YOU, CURSES, AND GRABS FOR HIS AXE. - -THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL -THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW -KNIVES AT YOU! ALL OF THEM GET YOU! - - -YOU SCORED 98 OUT OF A POSSIBLE 350 USING 10 TURNS. - -YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 33 MORE POINTS - diff --git a/adventure/walkthrough1.txt b/adventure/walkthrough1.txt deleted file mode 100644 index 1d3bad3..0000000 --- a/adventure/walkthrough1.txt +++ /dev/null @@ -1,3710 +0,0 @@ ->>> import play ->>> play.play(seed=1) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> yes -SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN -TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER -SEEN AGAIN. MAGIC IS SAID TO WORK IN THE CAVE. I WILL BE YOUR EYES -AND HANDS. DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS. I SHOULD WARN -YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL -HAVE TO ENTER "NORTHEAST" AS "NE" TO DISTINGUISH IT FROM "NORTH". -(SHOULD YOU GET STUCK, TYPE "HELP" FOR SOME GENERAL HINTS. FOR INFOR- -MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE "INFO".) - - - - -THIS PROGRAM WAS ORIGINALLY DEVELOPED BY WILLIE CROWTHER. MOST OF THE -FEATURES OF THE CURRENT PROGRAM WERE ADDED BY DON WOODS (DON @ SU-AI). -CONTACT DON IF YOU HAVE ANY QUESTIONS, COMMENTS, ETC. - -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> cave -I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM CAN RUN ON -THE SURFACE FOR LONG. I WOULD TRY THE STREAM. - -YOU'RE AT END OF ROAD AGAIN. - ->>> inven() -YOU'RE NOT CARRYING ANYTHING. - ->>> west -YOU HAVE WALKED UP A HILL, STILL IN THE FOREST. THE ROAD SLOPES BACK -DOWN THE OTHER SIDE OF THE HILL. THERE IS A BUILDING IN THE DISTANCE. - ->>> e -YOU'RE AT END OF ROAD AGAIN. - ->>> e -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> downs -THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER PIPES. -IT WOULD BE ADVISABLE TO USE THE EXIT. - -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> west -YOU'RE AT END OF ROAD AGAIN. - ->>> s -YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A -ROCKY BED. - ->>> s -AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 2-INCH SLIT -IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK. - ->>> s -YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE -DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED -LEADS INTO THE DEPRESSION. - -THE GRATE IS LOCKED. - ->>> d -YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! - -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - ->>> get(grate) -YOU CAN'T BE SERIOUS! - ->>> enter -YOU CAN'T GO THROUGH A LOCKED STEEL GRATE! - -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - -ARE YOU TRYING TO GET INTO THE CAVE? - ->>> no -OK - ->>> house -YOU'RE AT END OF ROAD AGAIN. - ->>> enter -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> carry(keys) -OK - ->>> inven -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS - ->>> leave -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> depre -YOU'RE OUTSIDE GRATE. - -THE GRATE IS LOCKED. - ->>> unloc(grate) -THE GRATE IS NOW UNLOCKED. - ->>> d -YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE SURFACE. -A LOW CRAWL OVER COBBLES LEADS INWARD TO THE WEST. - -THE GRATE IS OPEN. - ->>> s -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE BELOW THE GRATE. - -THE GRATE IS OPEN. - ->>> west -YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT -AT THE EAST END OF THE PASSAGE. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> take(cage) -OK - ->>> west -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> west -YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! - -OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO -HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME -TO TRY TO REINCARNATE YOU? - ->>> save -PLEASE ANSWER THE QUESTION. - ->>> yes -ALL RIGHT. BUT DON'T BLAME ME IF SOMETHING GOES WR...... - --- POOF!! --- -YOU ARE ENGULFED IN A CLOUD OF ORANGE SMOKE. COUGHING AND GASPING, -YOU EMERGE FROM THE SMOKE AND FIND.... - -YOU'RE INSIDE BUILDING. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> get(lamp) -OK - ->>> leave -YOU'RE AT END OF ROAD AGAIN. - ->>> depre -YOU'RE OUTSIDE GRATE. - -THE GRATE IS OPEN. - ->>> d -YOU'RE BELOW THE GRATE. - -THE GRATE IS OPEN. - ->>> west -YOU'RE IN COBBLE CRAWL. - ->>> west -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> light(lamp) -YOUR LAMP IS NOW ON. - -YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. -A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS -HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL -SAYS "MAGIC WORD XYZZY". - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - ->>> get(rod) -OK - ->>> up -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> get(keys) -OK - ->>> u -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> get(bird) -THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES -DISTURBED AND YOU CANNOT CATCH IT. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -BLACK ROD - ->>> drop(rod) -OK - ->>> inven -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN - ->>> get(bird) -YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> get(cage) -OK - ->>> west -YOU'RE IN BIRD CHAMBER. - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> get(bird) -OK - ->>> get(rod) -OK - ->>> look -SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -LONG DESCRIPTION OF YOUR LOCATION. - -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - ->>> west -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> west -IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST. - -THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. - -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> look -SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -LONG DESCRIPTION OF YOUR LOCATION. - -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. -THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. - ->>> w -THERE IS NO WAY ACROSS THE FISSURE. - -YOU'RE ON EAST BANK OF FISSURE. - ->>> e -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> n -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> s -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> up -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> down -YOU'RE IN HALL OF MT KING - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> kill(snake) -ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS. - ->>> drop(cage) -OK - ->>> look -SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE -LONG DESCRIPTION OF YOUR LOCATION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -THERE IS A LITTLE BIRD IN THE CAGE. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> get(bird) -OK - ->>> look -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> inven -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -BLACK ROD -LITTLE BIRD IN CAGE - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -DRIVES THE SNAKE AWAY. - ->>> look -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 42 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> s -A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. - -YOU ARE IN THE SOUTH SIDE CHAMBER. - -THERE IS A LITTLE AXE HERE. - -THERE IS PRECIOUS JEWELRY HERE! - ->>> get(axe) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 44 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> get(jewelry) -OK - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> w -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - -THERE ARE MANY COINS HERE! - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 46 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> get(coins) -OK - ->>> w -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> n -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -DEAD END - ->>> s -A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY -BLACK SMOKE. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> s -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> w -YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -ROUND TWO FOOT HOLE SLANTS DOWN. - ->>> w -YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. THE HALL -JOINS UP WITH A NARROW NORTH/SOUTH PASSAGE. - ->>> n -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> n -DEAD END - ->>> back -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> w -YOU'RE AT EAST END OF LONG HALL. - ->>> e -YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES -WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET -OFF THE FLOOR. - ->>> e -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE ARE DIAMONDS HERE! - ->>> get(diamonds) -YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -BLACK ROD -DWARF'S AXE -PRECIOUS JEWELRY -RARE COINS - ->>> drop(cage) -OK - ->>> get(diamonds) -OK - ->>> n -YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH -OF THE HALL OF MISTS. - -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> w -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -YOU'RE AT EAST END OF LONG HALL. - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -ROUND TWO FOOT HOLE SLANTS DOWN. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE ARE 2 THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. - -2 OF THEM THROW KNIVES AT YOU! - -NONE OF THEM HIT YOU! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE AT EAST END OF LONG HALL. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE -CHAMBERS. TO THE EAST A LOW WIDE CRAWL SLANTS UP. TO THE NORTH A -ROUND TWO FOOT HOLE SLANTS DOWN. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> throw(axe) -YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY. - -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT GETS YOU! - -YOU CLUMSY OAF, YOU'VE DONE IT AGAIN! I DON'T KNOW HOW LONG I CAN -KEEP THIS UP. DO YOU WANT ME TO TRY REINCARNATING YOU AGAIN? - ->>> get(axe) -PLEASE ANSWER THE QUESTION. - ->>> yes -OKAY, NOW WHERE DID I PUT MY ORANGE SMOKE?.... >POOF!< -EVERYTHING DISAPPEARS IN A DENSE CLOUD OF ORANGE SMOKE. - -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> leave -YOU'RE AT END OF ROAD AGAIN. - -THERE IS A SHINY BRASS LAMP NEARBY. - ->>> get(lamp) -OK - ->>> enter -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> xyzzy -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - - ->>> import io ->>> savefile = io.BytesIO() ->>> save(savefile) -GAME SAVED - - ->>> w -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> w -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> w -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> w -THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW. - -YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY! - -NOW YOU'VE REALLY DONE IT! I'M OUT OF ORANGE SMOKE! YOU DON'T EXPECT -ME TO DO A DECENT REINCARNATION WITHOUT ANY ORANGE SMOKE, DO YOU? - ->>> no -OK - - -YOU SCORED 32 OUT OF A POSSIBLE 350 USING 132 TURNS. - -YOU ARE OBVIOUSLY A RANK AMATEUR. BETTER LUCK NEXT TIME. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 69 MORE POINTS - ->>> w -YOU HAVE GOTTEN YOURSELF KILLED. - - ->>> savefile.seek(0) -0 ->>> play.resume(savefile) -GAME RESTORED - - ->>> on(lamp) -YOUR LAMP IS NOW ON. - -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU'RE IN BIRD CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> w -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - ->>> w -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> w -YOU'RE AT EAST END OF LONG HALL. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - -THERE IS A LITTLE AXE HERE. - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - ->>> get(axe) -OK - ->>> get(keys) -OK - ->>> get(rod) -OK - ->>> get(diamonds) -OK - ->>> get(jewel) -OK - ->>> get(coins) -OK - ->>> e -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> e -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> jump -I DON'T KNOW HOW TO APPLY THAT WORD HERE. - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> swing(rod) -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> look -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> jump -I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING. - -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> over -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> e -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> s -THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, -"YOU WON'T GET IT UP THE STEPS". - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - ->>> get(gold) -YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST. - ->>> drop(rod) -OK - ->>> get(gold) -OK - ->>> n -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - ->>> u -THE DOME IS UNCLIMBABLE. - -YOU'RE IN HALL OF MISTS. - ->>> drop(gold) -OK - ->>> u -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> e -YOU'RE IN BIRD CHAMBER. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> e -YOU'RE IN DEBRIS ROOM. - ->>> xyzzy -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 40 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -DWARF'S AXE -SEVERAL DIAMONDS -PRECIOUS JEWELRY -RARE COINS - ->>> drop(diamonds) -OK - ->>> drop(jewelry) -OK - ->>> drop(coins) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 70 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> xyzzy -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU'RE IN BIRD CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - ->>> get(gold) -OK - ->>> n -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> get(silver) -OK - ->>> n -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> w -YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF -SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF -WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE RIGHT. -MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT -SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND -25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A -SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. - -THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. - ->>> wave -WAVE WHAT? - ->>> e -YOU'RE AT "Y2". - ->>> e -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> e -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> d -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> s -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> nw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> ne -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> se -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> sw -YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -TO GET BACK UP. - ->>> w -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> w -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -DWARF'S AXE - ->>> get(bird) -YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT. - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> get(cage) -OK - ->>> e -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> e -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU'RE IN HALL OF MT KING - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> get(bird) -OK - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> w -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY -GETS BURNT TO A CINDER. THE ASHES BLOW AWAY. - ->>> n -THE DRAGON LOOKS RATHER NASTY. YOU'D BEST NOT TRY TO GET BY. - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> kill(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> throw(axe) -THE AXE BOUNCES HARMLESSLY OFF THE DRAGON'S THICK SCALES. - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THERE IS A LITTLE AXE HERE. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> yes -I DON'T KNOW THAT WORD. - ->>> kill(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> yes -CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE -HANDS! (UNBELIEVABLE, ISN'T IT?) - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THERE IS A LITTLE AXE HERE. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> get(axe) -OK - ->>> get(dragon) -YOU CAN'T BE SERIOUS! - ->>> get(rug) -OK - ->>> n -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> n -YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS -COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND -UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR -ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND -MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED -FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A -SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. - ->>> n -YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD -OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS -FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET -OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE -MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. - ->>> s -YOU'RE IN MIRROR CANYON. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> s -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -YOU'RE IN HALL OF MT KING - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> w -YOU'RE AT WINDOW ON PIT. - -THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. - ->>> e -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -DWARF'S AXE -PERSIAN RUG - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 74 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> n -OK - ->>> drop(persian) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 88 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> n -OK - ->>> plugh -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. - ->>> e -YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS -WEST. - ->>> d -YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH -ENTERS AND EXITS THROUGH TINY SLITS. - ->>> u -YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS -WEST. - ->>> w -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN -THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. - ->>> d -YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. - ->>> n -YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> u -YOU ARE IN AN ARCHED HALL. A CORAL PASSAGE ONCE CONTINUED UP AND EAST -FROM HERE, BUT IS NOW BLOCKED BY DEBRIS. THE AIR SMELLS OF SEA WATER. - ->>> d -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> d -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> d -YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. - ->>> u -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> u -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> get(clam) -OK - ->>> s -YOU CAN'T FIT THIS FIVE-FOOT CLAM THROUGH THAT LITTLE PASSAGE! - -YOU'RE IN SHELL ROOM. - ->>> drop(clam) -OK - ->>> unlock(clam) -YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE CLAM. - ->>> s -YOU'RE AT COMPLEX JUNCTION. - ->>> e -YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL -PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. -A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. -PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> e -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> w -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY -BLOCKED BY A RECENT CAVE-IN. YOU ARE NOW BACK IN THE MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> se -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> nw -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> d -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> se -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> nw -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> d -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> se -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -DO YOU NEED HELP GETTING OUT OF HERE? - ->>> yes -DON'T GO WEST. - ->>> nw -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> d -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - ->>> s -YOU'RE IN ANTEROOM. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -BEDROCK BLOCK. - ->>> w -YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. - ->>> d -YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS -A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. - ->>> u -YOU'RE AT EAST END OF TWOPIT ROOM. - ->>> w -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> down -YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS -A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - ->>> w -YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB -FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE -LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL -PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST -AROUND THE BOULDERS. - ->>> n -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> n -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> n -DEAD END CRAWL. - ->>> s -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -DIRECTIONS. - ->>> u -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> get(vase) -OK - ->>> n -YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. -FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE -HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH -EXITS TO THE SOUTH AND WEST. - ->>> w -YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. - ->>> e -SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. -YOU'D BEST TAKE INVENTORY AND DROP SOMETHING. - -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU'RE IN ALCOVE. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -WICKER CAGE -DWARF'S AXE - ->>> drop(keys) -OK - ->>> drop(lantern) -OK - ->>> drop(cage) -OK - ->>> drop(axe) -OK - ->>> e -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> get(emerald) -OK - ->>> ne -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> s -YOU'RE IN PLOVER ROOM. - ->>> plover -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> drop(emerald) -I SEE NO EMERALD HERE. - ->>> plover -YOU'RE IN PLOVER ROOM. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> get(emerald) -OK - ->>> w -YOU'RE IN ALCOVE. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LAMP SHINING NEARBY. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -THERE IS A LITTLE AXE HERE. - ->>> get(keys) -OK - ->>> get(lamp) -OK - ->>> get(axe) -OK - ->>> nw -YOU'RE IN MISTY CAVERN. - ->>> s -YOU'RE IN ORIENTAL ROOM. - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> e -YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, -THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - ->>> get(pillow) -OK - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. - ->>> n -YOU ARE IN A SECRET CANYON AT A JUNCTION OF THREE CANYONS, BEARING -NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL AS THE OTHER TWO -COMBINED. - ->>> n -YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF -SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF -WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE LEFT. -MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT -SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND -25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A -SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU. - -THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION. - ->>> w -YOU'RE AT JUNCTION OF THREE SECRET CANYONS. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE. - ->>> s -A LARGE STALACTITE EXTENDS FROM THE ROOF AND ALMOST REACHES THE FLOOR -BELOW. YOU COULD CLIMB DOWN IT, AND JUMP FROM IT TO THE FLOOR, BUT -HAVING DONE SO YOU WOULD BE UNABLE TO REACH IT TO CLIMB BACK UP. - ->>> d -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> w -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN -DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK -UP. THE MAZE CONTINUES AT THIS LEVEL. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> nw -DEAD END - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE BARS OF SILVER HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> drop(axe) -OK - ->>> drop(keys) -OK - ->>> get(chest) -OK - ->>> get(gold) -OK - ->>> get(silver) -OK - ->>> get(vase) -OK - ->>> get(emerald) -OK - ->>> look -DEAD END - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LITTLE AXE HERE. - ->>> se -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -YOU'RE AT BRINK OF PIT. - ->>> d -YOU'RE IN BIRD CHAMBER. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> e -YOU'RE IN DEBRIS ROOM. - ->>> xyzzy -YOU'RE INSIDE BUILDING. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(chest) -OK - ->>> drop(gold) -OK - ->>> drop(silver) -OK - ->>> drop(vase) -THE MING VASE DROPS WITH A DELICATE CRASH. - ->>> drop(emerald) -OK - ->>> drop(pillow) -OK - ->>> look -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 137 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN - ->>> get(bottle) -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU'RE AT COMPLEX JUNCTION. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU'RE AT EAST END OF TWOPIT ROOM. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> say(water) -OKAY, "WATER". - ->>> pour(water) -THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. - -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> climb -YOU HAVE CLIMBED UP THE PLANT AND OUT OF THE PIT. - -YOU'RE AT WEST END OF TWOPIT ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> w -YOU'RE IN SLAB ROOM. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> n -YOU'RE IN MIRROR CANYON. - ->>> n -YOU'RE AT RESERVOIR. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE - ->>> get(water) -YOUR BOTTLE IS NOW FULL OF WATER. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -WATER IN THE BOTTLE - ->>> s -YOU'RE IN MIRROR CANYON. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> d -YOU'RE IN SLAB ROOM. - ->>> s -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> pour(water) -THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. - -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -PROFUSION OF LEAVES. - ->>> w -YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(nest) -OK - ->>> e -THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. - ->>> w -THERE IS NO WAY TO GO THAT DIRECTION. - -THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. - ->>> n -THERE IS NO WAY TO GO THAT DIRECTION. - -THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN. - ->>> s -YOU'RE IN GIANT ROOM. - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> n -THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN. - -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> s -YOU'RE IN GIANT ROOM. - ->>> s -YOU'RE IN NARROW CORRIDOR. - ->>> d -YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS -A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> e -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN EAST PIT. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -GOLDEN EGGS - ->>> get(oil) -YOUR BOTTLE IS NOW FULL OF OIL. - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -BRASS LANTERN -SMALL BOTTLE -OIL IN THE BOTTLE -GOLDEN EGGS - ->>> climb -I DON'T KNOW HOW TO APPLY THAT WORD HERE. - -YOU'RE IN EAST PIT. - ->>> u -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> climb -I DON'T KNOW HOW TO APPLY THAT WORD HERE. - -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> fum -WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. - ->>> foo -WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THE NEST OF GOLDEN EGGS HAS VANISHED! - ->>> w -YOU'RE IN GIANT ROOM. - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get -OK - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> pour -THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, -ALTHOUGH IT REQUIRES SOME EFFORT. - ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. - ->>> unlock -OK - ->>> look -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. - ->>> n -YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES -OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS -THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - ->>> drink -YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF -MINERALS, BUT IS NOT UNPLEASANT. IT IS EXTREMELY COLD. - ->>> get(trident) -OK - ->>> w -YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD -CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A -PASSAGE LEADING BACK TO THE NORTH. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> u -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> cross -THE TROLL REFUSES TO LET YOU CROSS. - -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> hit(troll) -TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS -THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY. - ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> look -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -CHASM ON THIS SIDE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> ne -YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE -HEARD IN THE DISTANCE. - ->>> e -THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING -SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST -DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. - ->>> se -YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH -ODDLY SHAPED LIMESTONE FORMATIONS. - ->>> s -YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN -POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" - ->>> enter -YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. - -THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! - -THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! - ->>> get(chain) -THE CHAIN IS STILL LOCKED. - ->>> unlock -YOU HAVE NO KEYS! - ->>> kill(bear) -WITH WHAT? YOUR BARE HANDS? AGAINST *HIS* BEAR HANDS?? - ->>> yes -I DON'T KNOW THAT WORD. - ->>> get(bear) -YOU CAN'T BE SERIOUS! - ->>> leave -YOU'RE IN FRONT OF BARREN ROOM. - ->>> w -YOU'RE IN LIMESTONE PASSAGE. - ->>> n -YOU'RE AT FORK IN PATH. - ->>> ne -THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY -ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER -PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. - ->>> e -YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE -VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE -HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING -A LOW RUMBLING. - -THERE ARE RARE SPICES HERE! - ->>> get(spices) -OK - ->>> w -YOU'RE AT JUNCTION WITH WARM WALLS. - ->>> n -YOU ARE ON THE EDGE OF A BREATH-TAKING VIEW. FAR BELOW YOU IS AN -ACTIVE VOLCANO, FROM WHICH GREAT GOUTS OF MOLTEN LAVA COME SURGING -OUT, CASCADING BACK DOWN INTO THE DEPTHS. THE GLOWING ROCK FILLS THE -FARTHEST REACHES OF THE CAVERN WITH A BLOOD-RED GLARE, GIVING EVERY- -THING AN EERIE, MACABRE APPEARANCE. THE AIR IS FILLED WITH FLICKERING -SPARKS OF ASH AND A HEAVY SMELL OF BRIMSTONE. THE WALLS ARE HOT TO -THE TOUCH, AND THE THUNDERING OF THE VOLCANO DROWNS OUT ALL OTHER -SOUNDS. EMBEDDED IN THE JAGGED ROOF FAR OVERHEAD ARE MYRIAD TWISTED -FORMATIONS COMPOSED OF PURE WHITE ALABASTER, WHICH SCATTER THE MURKY -LIGHT INTO SINISTER APPARITIONS UPON THE WALLS. TO ONE SIDE IS A DEEP -GORGE, FILLED WITH A BIZARRE CHAOS OF TORTURED ROCK WHICH SEEMS TO -HAVE BEEN CRAFTED BY THE DEVIL HIMSELF. AN IMMENSE RIVER OF FIRE -CRASHES OUT FROM THE DEPTHS OF THE VOLCANO, BURNS ITS WAY THROUGH THE -GORGE, AND PLUMMETS INTO A BOTTOMLESS PIT FAR OFF TO YOUR LEFT. TO -THE RIGHT, AN IMMENSE GEYSER OF BLISTERING STEAM ERUPTS CONTINUOUSLY -FROM A BARREN ISLAND IN THE CENTER OF A SULFUROUS LAKE, WHICH BUBBLES -OMINOUSLY. THE FAR RIGHT WALL IS AFLAME WITH AN INCANDESCENCE OF ITS -OWN, WHICH LENDS AN ADDITIONAL INFERNAL SPLENDOR TO THE ALREADY -HELLISH SCENE. A DARK, FOREBODING PASSAGE EXITS TO THE SOUTH. - ->>> s -YOU'RE AT JUNCTION WITH WARM WALLS. - ->>> s -YOU'RE AT FORK IN PATH. - ->>> w -YOU'RE IN CORRIDOR. - ->>> w -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> throw(spices) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> cross -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -YOU'RE IN ORIENTAL ROOM. - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> n -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> unlock(clam) -A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. - ->>> d -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> d -YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - ->>> get(pearl) -OK - ->>> u -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> u -YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. - -THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> s -YOU'RE AT COMPLEX JUNCTION. - ->>> u -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU'RE IN DIRTY PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> plugh -YOU'RE INSIDE BUILDING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS FOOD HERE. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(trident) -OK - ->>> drop(pearl) -OK - ->>> get(food) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 175 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> xyzzy -YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. -A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS -HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL -SAYS "MAGIC WORD XYZZY". - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. -THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU'RE AT BRINK OF PIT. - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> nw -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -DEAD END - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LITTLE AXE HERE. - ->>> get(keys) -OK - ->>> get(axe) -OK - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -DEAD END - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> se -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> w -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU'RE AT BRINK OF PIT. - ->>> d -YOU'RE IN BIRD CHAMBER. - ->>> w -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU'RE IN HALL OF MT KING - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -BEDROCK BLOCK. - ->>> w -YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> w -YOU'RE IN GIANT ROOM. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR. - ->>> n -YOU'RE IN CAVERN WITH WATERFALL. - ->>> w -YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> u -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> throw(axe) -THE TROLL DEFTLY CATCHES THE AXE, EXAMINES IT CAREFULLY, AND TOSSES IT -BACK, DECLARING, "GOOD WORKMANSHIP, BUT IT'S NOT VALUABLE ENOUGH." - -YOU'RE ON SW SIDE OF CHASM. - -THERE IS A LITTLE AXE HERE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> get(axe) -OK - ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> cross -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> ne -YOU'RE IN CORRIDOR. - ->>> e -YOU'RE AT FORK IN PATH. - ->>> se -YOU'RE IN LIMESTONE PASSAGE. - ->>> s -YOU'RE IN FRONT OF BARREN ROOM. - ->>> enter -YOU'RE IN BARREN ROOM. - -THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! - -THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! - ->>> throw(food) -THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. - ->>> get(bear) -THE BEAR IS STILL CHAINED TO THE WALL. - ->>> get(chain) -THE CHAIN IS STILL LOCKED. - ->>> unlock(chain) -THE CHAIN IS NOW UNLOCKED. - ->>> get(chain) -OK - ->>> get(bear) -OK - ->>> look -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. - ->>> leave -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN FRONT OF BARREN ROOM. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN LIMESTONE PASSAGE. - ->>> n -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT FORK IN PATH. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN CORRIDOR. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> cross -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -CHASM ON THIS SIDE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> drop(bear) -THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. - ->>> cross -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -DIRECTIONS. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -YOU'RE IN ORIENTAL ROOM. - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> w -YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> s -YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -PROFUSION OF LEAVES. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE IN SLAB ROOM. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> s -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -YOU'RE IN HALL OF MT KING - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> say(plugh) -YOU'RE INSIDE BUILDING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -SET OF KEYS -BRASS LANTERN -SMALL BOTTLE -DWARF'S AXE -GOLDEN EGGS -GOLDEN CHAIN - ->>> drop(eggs) -OK - ->>> drop(chain) -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> plover -YOU'RE IN PLOVER ROOM. - ->>> ne -YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. - -A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: -"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - ->>> get(pyramid) -OK - ->>> s -YOU'RE IN PLOVER ROOM. - ->>> plover -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> plugh -YOU'RE INSIDE BUILDING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - -THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - -THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! - ->>> drop(pyramid) -OK - ->>> score -IF YOU WERE TO QUIT NOW, YOU WOULD SCORE 219 OUT OF A POSSIBLE 350. - -DO YOU INDEED WISH TO QUIT NOW? - ->>> no -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> e -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU'RE ON EAST BANK OF FISSURE. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> n -YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH -OF THE HALL OF MISTS. - -YOU'RE AT WEST END OF HALL OF MISTS. - ->>> w -YOU'RE AT EAST END OF LONG HALL. - ->>> w -YOU'RE AT WEST END OF LONG HALL. - ->>> n -YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE. - ->>> e -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - ->>> e -YOU'RE IN HALL OF MT KING - ->>> sw -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - ->>> sw -YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -TO GET BACK UP. - ->>> d -YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. - ->>> u -THERE IS NO WAY TO GO THAT DIRECTION. - -YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. - ->>> s -THE CANYON HERE BECOMES TOO TIGHT TO GO FURTHER SOUTH. - ->>> n -YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON. - ->>> n -YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND -SEEMS TO OPEN UP. - ->>> w -THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. - ->>> e -THERE IS NO WAY TO GO THAT DIRECTION. - -THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. - ->>> n -THERE IS NO WAY TO GO THAT DIRECTION. - -THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END. - ->>> s -YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWL GOES 3 FEET NORTH AND -SEEMS TO OPEN UP. - ->>> n -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> e -YOU'RE IN ANTEROOM. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> read(magazine) -I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH. - ->>> u -YOU'RE AT COMPLEX JUNCTION. - ->>> u -A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING -SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." - -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> plugh -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - -YOU'RE AT "Y2". - ->>> e -YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE. - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> u -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> e -YOU'RE IN BIRD CHAMBER. - ->>> e -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> e -YOU'RE IN DEBRIS ROOM. - ->>> xyzzy -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - -YOU'RE IN DEBRIS ROOM. - ->>> e -YOU'RE IN COBBLE CRAWL. - ->>> e -YOU'RE BELOW THE GRATE. - -THE GRATE IS LOCKED. - ->>> unlock -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - ->>> w -YOU'RE IN COBBLE CRAWL. - ->>> w -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU'RE IN BIRD CHAMBER. - ->>> w -THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... - -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - ->>> get(bottle) -OK - ->>> drop(bottle) -OK - ->>> look -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> sw -YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT -FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL -WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE -CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A -LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A -VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE -STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. -KEYS IN MAIN OFFICE." - ->>> get(bird) -OK - ->>> inventory -YOU ARE CURRENTLY HOLDING THE FOLLOWING: - -WICKER CAGE -LITTLE BIRD IN CAGE - ->>> ne -YOU'RE AT NE END. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> drop(bird) -OK - ->>> look -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> get(oyster) -OK - -INTERESTING. THERE SEEMS TO BE SOMETHING WRITTEN ON THE UNDERSIDE OF -THE OYSTER. - ->>> read -HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO -READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY? - ->>> no -OK - ->>> shazam -GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD. - ->>> sw -YOU'RE AT SW END. - ->>> get(rod) -OK - ->>> drop(rod) -OK - ->>> ne -YOU'RE AT NE END. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS AN EMPTY BOTTLE HERE. - ->>> blast -THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR -WALL, BURYING THE SNAKES IN THE RUBBLE. A RIVER OF MOLTEN LAVA POURS -IN THROUGH THE HOLE, DESTROYING EVERYTHING IN ITS PATH, INCLUDING YOU! - - -YOU SCORED 278 OUT OF A POSSIBLE 350 USING 698 TURNS. - -YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS C. - -TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED 53 MORE POINTS - diff --git a/adventure/walkthrough2.txt b/adventure/walkthrough2.txt deleted file mode 100644 index 87a183c..0000000 --- a/adventure/walkthrough2.txt +++ /dev/null @@ -1,1345 +0,0 @@ ->>> import play ->>> play.play(seed=2) -WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS? - ->>> no -YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. -AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND -DOWN A GULLY. - ->>> brief -OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME -YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK". - ->>> enter -YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A SHINY BRASS LAMP NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> get(lamp) -OK - ->>> xyzzy -IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. - ->>> on -YOUR LAMP IS NOW ON. - -YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. -A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS -HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL -SAYS "MAGIC WORD XYZZY". - -A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY. - ->>> get(rod) -OK - ->>> e -YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT -AT THE EAST END OF THE PASSAGE. - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - ->>> get(cage) -OK - ->>> w -YOU'RE IN DEBRIS ROOM. - ->>> w -YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON. - ->>> w -YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN -RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT -FROM EAST AND WEST SIDES OF THE CHAMBER. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> drop(rod) -OK - ->>> get(bird) -OK - ->>> get(rod) -OK - ->>> w -AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST -PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO -THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE -STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST -SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE -STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> d -YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL -DIRECTIONS. - -A HUGE GREEN FIERCE SNAKE BARS THE WAY! - ->>> drop(bird) -THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY -DRIVES THE SNAKE AWAY. - ->>> drop(cage) -OK - ->>> u -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> w -YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. -THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP. - ->>> swing(rod) -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - ->>> drop(rod) -OK - ->>> w -YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS. - -A CRYSTAL BRIDGE NOW SPANS THE FISSURE. - -THERE ARE DIAMONDS HERE! - ->>> get(diamonds) -OK - ->>> w -YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWL CONTINUES -WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET -OFF THE FLOOR. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> s -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> e -A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE -AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY. - -YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN -DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK -UP. THE MAZE CONTINUES AT THIS LEVEL. - -THERE IS A LITTLE AXE HERE. - ->>> e -OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," -HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME -CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO -THE GLOOM. - -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> nw -DEAD END - -THERE ARE DIAMONDS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - ->>> get(chest) -OK - ->>> get(diamonds) -OK - ->>> se -YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE. - ->>> n -YOU'RE AT BRINK OF PIT. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> d -YOU'RE IN BIRD CHAMBER. - ->>> w -YOU'RE AT TOP OF SMALL PIT. - -ROUGH STONE STEPS LEAD DOWN THE PIT. - ->>> d -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY -BLACK SMOKE. - -YOU'RE IN HALL OF MISTS. - -ROUGH STONE STEPS LEAD UP THE DOME. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> s -THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, -"YOU WON'T GET IT UP THE STEPS". - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - ->>> get(gold) -OK - ->>> n -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -ONE SHARP NASTY KNIFE IS THROWN AT YOU! - -IT MISSES! - -YOU'RE IN HALL OF MISTS. - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -YOU'RE IN HALL OF MISTS. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> d -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> w -YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. -A PASSAGE CONTINUES WEST AND UP HERE. - -THERE ARE MANY COINS HERE! - ->>> get(coins) -OK - ->>> e -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> s -YOU ARE IN THE SOUTH SIDE CHAMBER. - -THERE IS PRECIOUS JEWELRY HERE! - ->>> get(jewelry) -OK - ->>> n -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> drop(axe) -OK - ->>> sw -YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A -VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE -TO GET BACK UP. - ->>> w -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -A HUGE GREEN FIERCE DRAGON BARS THE WAY! - -THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!! - ->>> kill(dragon) -WITH WHAT? YOUR BARE HANDS? - ->>> yes -CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE -HANDS! (UNBELIEVABLE, ISN'T IT?) - -YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST. - -THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE. - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> get(rug) -OK - ->>> e -YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON. - ->>> e -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS A LITTLE AXE HERE. - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> n -YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE -WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON -A ROCK IN THE ROOM'S CENTER. - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> drop(gold) -OK - ->>> drop(diamonds) -OK - ->>> drop(jewelry) -OK - ->>> drop(coins) -OK - ->>> drop(chest) -OK - ->>> drop(rug) -OK - ->>> plugh -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> s -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - -THERE IS A LITTLE AXE HERE. - ->>> get(axe) -OK - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - -THERE ARE BARS OF SILVER HERE! - ->>> get(silver) -OK - ->>> n -YOU'RE AT "Y2". - ->>> plover -YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY -NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> ne -YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT. - -A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: -"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!" - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - ->>> get(platinum) -OK - ->>> s -YOU'RE IN PLOVER ROOM. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> plover -YOU'RE AT "Y2". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(silver) -OK - ->>> drop(platinum) -OK - ->>> get(keys) -OK - ->>> get(food) -OK - ->>> get(bottle) -OK - ->>> plugh -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE -WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE. - ->>> w -YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN -THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST. - ->>> d -YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE -NORTH JOINS A HIGHER CRAWL FROM THE EAST TO MAKE A WALKING PASSAGE -GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES -GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE -BEDROCK BLOCK. - ->>> oriental -THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU! - -THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE -WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER -PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWL LEADS WEST. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> throw(axe) -YOU KILLED A LITTLE DWARF. - -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> n -YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. -FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE -HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH -EXITS TO THE SOUTH AND WEST. - ->>> w -YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT -DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY -TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END. - ->>> drop(keys) -OK - ->>> drop(lantern) -OK - ->>> drop(food) -OK - ->>> drop(bottle) -OK - ->>> e -YOU'RE IN PLOVER ROOM. - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - ->>> get(emerald) -OK - ->>> w -YOU'RE IN ALCOVE. - -THERE ARE SOME KEYS ON THE GROUND HERE. - -THERE IS A LAMP SHINING NEARBY. - -THERE IS FOOD HERE. - -THERE IS A BOTTLE OF WATER HERE. - ->>> get(keys) -OK - ->>> get(lantern) -OK - ->>> get(food) -OK - ->>> get(bottle) -OK - ->>> nw -YOU'RE IN MISTY CAVERN. - ->>> s -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS -LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. -THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST -AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE -WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT. - ->>> w -YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN -THE WALL ABOVE THE PIT AT THIS END OF THE ROOM. - ->>> d -YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS -A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU. - -THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..." - ->>> pour(water) -THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS. - -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> w -YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB -FALLEN FROM THE CEILING (SLAB ROOM). EAST AND WEST THERE ONCE WERE -LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL -PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST -AROUND THE BOULDERS. - ->>> u -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> n -YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS -COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND -UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR -ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND -MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED -FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A -SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP. - ->>> n -YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD -OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS -FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET -OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE -MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH. - ->>> get(water) -YOUR BOTTLE IS NOW FULL OF WATER. - ->>> s -YOU'RE IN MIRROR CANYON. - ->>> s -YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM. - ->>> d -YOU'RE IN SLAB ROOM. - ->>> s -YOU'RE AT WEST END OF TWOPIT ROOM. - -THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, -BELLOWING "WATER!! WATER!!" - ->>> pour(water) -THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT. - -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> e -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS -A SMALL POOL OF OIL IN ONE CORNER OF THE PIT. - ->>> get(oil) -YOUR BOTTLE IS NOW FULL OF OIL. - ->>> u -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE -WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A -PROFUSION OF LEAVES. - ->>> w -YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR -LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON -THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC]. - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> n -YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE. - -THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR. - ->>> pour(oil) -THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, -ALTHOUGH IT REQUIRES SOME EFFORT. - ->>> drop(bottle) -OK - ->>> n -YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES -OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS -THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST. - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - ->>> get(trident) -OK - ->>> w -YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD -CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A -PASSAGE LEADING BACK TO THE NORTH. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> sw -YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH -DIRECTIONS. - ->>> u -YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING -UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY -FROM THE CHASM INTO A WINDING CORRIDOR. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> throw(eggs) -THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT. - ->>> cross -YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE -CHASM ON THIS SIDE. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> ne -YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE -HEARD IN THE DISTANCE. - ->>> e -THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING -SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST -DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST. - ->>> se -YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH -ODDLY SHAPED LIMESTONE FORMATIONS. - ->>> s -YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN -POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!" - ->>> e -YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY -EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE -FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN. - -THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM! - -THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN! - ->>> feed(bear) -THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM -DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY. - ->>> unlock(chain) -THE CHAIN IS NOW UNLOCKED. - ->>> drop(keys) -OK - ->>> get(chain) -OK - ->>> get(bear) -OK - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN FRONT OF BARREN ROOM. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN LIMESTONE PASSAGE. - ->>> n -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT FORK IN PATH. - ->>> ne -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY -ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER -PASSAGE LEADS SOUTH, AND A LOW CRAWL GOES EAST. - ->>> e -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE -VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE -HEAT. THE ONLY EXIT IS A CRAWL HEADING WEST, THROUGH WHICH IS COMING -A LOW RUMBLING. - -THERE ARE RARE SPICES HERE! - ->>> get(spices) -OK - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT JUNCTION WITH WARM WALLS. - ->>> s -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE AT FORK IN PATH. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE IN CORRIDOR. - ->>> w -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY. - -YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR. - -YOU'RE ON NE SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A -TREASURE BEFORE YOU MAY CROSS. - ->>> drop(bear) -THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND -SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK. - ->>> sw -YOU'RE ON SW SIDE OF CHASM. - -A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE -MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!" - -THE TROLL IS NOWHERE TO BE SEEN. - ->>> sw -YOU'RE IN SLOPING CORRIDOR. - ->>> d -YOU ARE IN A LARGE LOW ROOM. CRAWLS LEAD NORTH, SE, AND SW. - ->>> se -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> w -YOU'RE AT EAST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> climb -YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP. - -YOU'RE IN NARROW CORRIDOR. - ->>> w -YOU'RE IN GIANT ROOM. - ->>> fee -OK - ->>> fie -OK - ->>> foe -OK - ->>> foo -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - ->>> get(eggs) -OK - ->>> s -YOU'RE IN NARROW CORRIDOR. - ->>> d -YOU'RE IN WEST PIT. - -THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE. - ->>> u -YOU'RE AT WEST END OF TWOPIT ROOM. - -THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE. - ->>> w -YOU'RE IN SLAB ROOM. - ->>> n -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> n -YOU'RE IN A LARGE ROOM CARVED OUT OF SEDIMENTARY ROCK. THE FLOOR AND -WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A -SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS -UP. A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. - -THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> unlock(clam) -A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS, -THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING -BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN. - ->>> d -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> d -YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS. - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - ->>> get(pearl) -OK - ->>> u -YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS. - ->>> u -YOU'RE IN SHELL ROOM. - -THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED. - ->>> s -YOU'RE AT COMPLEX JUNCTION. - ->>> u -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU'RE IN DIRTY PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - ->>> drop(eggs) -OK - ->>> drop(trident) -OK - ->>> drop(emerald) -OK - ->>> drop(pearl) -OK - ->>> drop(spices) -OK - ->>> drop(chain) -OK - ->>> plugh -YOU'RE AT "Y2". - -A HOLLOW VOICE SAYS "PLUGH". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU'RE AT COMPLEX JUNCTION. - ->>> w -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> oriental -YOU'RE IN ORIENTAL ROOM. - -THERE IS A LITTLE AXE HERE. - -THERE IS A DELICATE, PRECIOUS, MING VASE HERE! - ->>> get(vase) -OK - ->>> se -YOU'RE IN SWISS CHEESE ROOM. - ->>> e -YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, -THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING. - -A SMALL VELVET PILLOW LIES ON THE FLOOR. - ->>> get(pillow) -OK - ->>> w -YOU'RE IN SWISS CHEESE ROOM. - ->>> ne -YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. -TO EXPLORE AT RANDOM SELECT NORTH, SOUTH, UP, OR DOWN. - ->>> e -YOU'RE AT COMPLEX JUNCTION. - ->>> u -YOU'RE IN DUSTY ROCK ROOM. - ->>> e -YOU'RE IN DIRTY PASSAGE. - ->>> u -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -YOU'RE AT "Y2". - ->>> plugh -YOU'RE INSIDE BUILDING. - -THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE! - -THERE ARE DIAMONDS HERE! - -THERE ARE BARS OF SILVER HERE! - -THERE IS PRECIOUS JEWELRY HERE! - -THERE ARE MANY COINS HERE! - -THE PIRATE'S TREASURE CHEST IS HERE! - -THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS! - -THERE IS A JEWEL-ENCRUSTED TRIDENT HERE! - -THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG! - -THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE! - -OFF TO ONE SIDE LIES A GLISTENING PEARL! - -THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR! - -THERE ARE RARE SPICES HERE! - -THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR! - ->>> drop(pillow) -OK - ->>> drop(vase) -THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW. - ->>> play._game.clock1 -5 ->>> plugh -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> s -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> s -YOU ARE IN THE SOUTH SIDE CHAMBER. - ->>> n -YOU'RE IN HALL OF MT KING - -THERE IS A SMALL WICKER CAGE DISCARDED NEARBY. - -A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING. - ->>> n -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> n -A SEPULCHRAL VOICE REVERBERATING THROUGH THE CAVE, SAYS, "CAVE CLOSING -SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE." - -YOU'RE AT "Y2". - ->>> plugh -A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES: - "THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE." - -YOU'RE AT "Y2". - ->>> s -YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES -DOWN TO AN E/W PASSAGE. - ->>> d -YOU'RE IN DIRTY PASSAGE. - ->>> w -YOU'RE IN DUSTY ROCK ROOM. - ->>> d -YOU'RE AT COMPLEX JUNCTION. - ->>> e -YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL -PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. -A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. -PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]" - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> get(magazine) -OK - ->>> e -YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS. - ->>> drop(magazine) -OK - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE -MAIN PASSAGE. - -YOU'RE AT WITT'S END. - -THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE. - ->>> n -THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES -FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE -SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND... - -YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE -GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" -PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKY -YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL -OF THEM EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED -OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS, AND -A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES -ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO -NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE -WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER -SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE. - ->>> sw -YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT -FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL -WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE -CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A -LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A -VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE -STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. -KEYS IN MAIN OFFICE." - ->>> get(rod) -OK - ->>> ne -YOU'RE AT NE END. - ->>> drop(rod) -OK - ->>> sw -YOU'RE AT SW END. - ->>> blast -THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR -WALL, BURYING THE DWARVES IN THE RUBBLE. YOU MARCH THROUGH THE HOLE -AND FIND YOURSELF IN THE MAIN OFFICE, WHERE A CHEERING BAND OF -FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET. - - -YOU SCORED 350 OUT OF A POSSIBLE 350 USING 266 TURNS. - -ALL OF ADVENTUREDOM GIVES TRIBUTE TO YOU, ADVENTURER GRANDMASTER! - -TO ACHIEVE THE NEXT HIGHER RATING WOULD BE A NEAT TRICK! - -CONGRATULATIONS!! -