.FUNCT HOME-F ZERO? HOUSE-DEMOLISHED /?CCL3 EQUAL? PRSA,V?ENJOY \?CCL3 PRINT ZEN PRINTI " You can't enjoy a " PRINTD RUBBLE PRINTR " properly till it's at least a hundred years old. Also, you are haunted by the tragic vision of your favourite teapot lying shattered among the dust. There is also the matter of all your clothes." ?CCL3: EQUAL? PRSA,V?BOARD,V?WALK-TO,V?THROUGH \?CCL9 EQUAL? HERE,FRONT-OF-HOUSE,FRONT-PORCH \?CCL12 CALL2 DO-WALK,P?NORTH RSTACK ?CCL12: EQUAL? HERE,BEDROOM \?CCL14 PRINT LOOK-AROUND CRLF RTRUE ?CCL14: CALL1 V-WALK-AROUND RSTACK ?CCL9: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL18 EQUAL? HERE,FRONT-PORCH \?CCL21 CALL2 DO-WALK,P?SOUTH RSTACK ?CCL21: EQUAL? HERE,BEDROOM \?PRG24 CALL1 V-WALK-AROUND RSTACK ?PRG24: PRINT LOOK-AROUND CRLF RTRUE ?CCL18: EQUAL? PRSA,V?LIE-DOWN \?CCL27 EQUAL? HERE,FRONT-OF-HOUSE \?CCL27 ZERO? IN-FRONT-FLAG /?CCL27 ICALL PERFORM,V?LIE-DOWN,GROUND RTRUE ?CCL27: EQUAL? PRSA,V?EXAMINE \?CCL32 ZERO? HOUSE-DEMOLISHED /?CCL32 PRINTI "It is now a " PRINTD RUBBLE PRINTR "." ?CCL32: EQUAL? IDENTITY-FLAG,FORD \FALSE CALL1 UNIMPORTANT-THING-F RSTACK .FUNCT HOUSE-F EQUAL? PRSO,HOUSE \?CCL3 ICALL PERFORM,PRSA,HOME,PRSI RTRUE ?CCL3: ICALL PERFORM,PRSA,PRSO,HOME RTRUE .FUNCT I-HOUSEWRECK EQUAL? HERE,BEDROOM,FRONT-PORCH \FALSE CRLF PRINTI "Astoundingly, a " PRINTD BULLDOZER PRINTI " pokes through your wall. However, you have no time for surprise because the ceiling is collapsing on you as" CALL1 BETTER-LUCK RSTACK .FUNCT BETTER-LUCK PRINTI " your home is unexpectedly demolished to make way for a new bypass. You are seriously injured in the process, but on your way to the hospital" ICALL1 MAKE-WAY-FOR CRLF FSET? BEDROOM,ONBIT /?CCL5 PRINTI "Next time, try turning on the light." CRLF JUMP ?CND3 ?CCL5: FSET? GOWN,OPENBIT /?PRG14 ZERO? HEADACHE /?PRG14 PRINTI "Too bad you never found an aspirin for your hangover." CRLF JUMP ?CND3 ?PRG14: PRINTI "Better luck next life." CRLF ?CND3: CALL1 FINISH RSTACK .FUNCT HANGOVER-F EQUAL? PRSA,V?ASK-ABOUT \?CCL3 EQUAL? PRSI,HANGOVER /FALSE ?CCL3: ZERO? HEADACHE \?CCL7 EQUAL? IDENTITY-FLAG,ZAPHOD /?CCL7 PRINTI "You can't feel any" EQUAL? HANGOVER,PRSO \?CCL14 ICALL1 PRSO-PRINT JUMP ?PRG15 ?CCL14: ICALL1 PRSI-PRINT ?PRG15: PRINTR " here." ?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL18 CALL1 V-DIAGNOSE RSTACK ?CCL18: EQUAL? PRSA,V?DROP,V?THROW,V?GIVE \FALSE CALL1 V-COUNT RSTACK .FUNCT BEDROOM-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "The bedroom is a mess. It is a small bedroom with a faded carpet and old wallpaper. There is a washbasin, a chair" FSET? GOWN,NDESCBIT \?PRG10 PRINTI " with a tatty dressing gown slung over it" ?PRG10: PRINTR ", and a window with the curtains drawn. Near the exit leading south is a phone." .FUNCT BEDROOM-EXIT-F FSET? BEDROOM-DOOR,OPENBIT /?CCL3 PRINTI "The door is closed." CRLF SET 'P-IT-OBJECT,BEDROOM-DOOR RFALSE ?CCL3: ZERO? HEADACHE /?CCL7 PRINTI "You miss the doorway by a good eighteen inches. The wall jostles you rather rudely." CRLF RFALSE ?CCL7: FSET? BULLDOZER,INVISIBLE \?PRG14 PRINTI "You make your way down to the front porch." CRLF CRLF JUMP ?CND1 ?PRG14: PRINTI "You rush down the stairs in panic." CRLF CRLF ?CND1: FCLEAR LIGHT,LIGHTBIT RETURN FRONT-PORCH .FUNCT PHONE-F EQUAL? PRSA,V?TAKE \?CCL3 FSET? PHONE,TOUCHBIT \?CCL6 ICALL PERFORM,V?CALL,DAIS RTRUE ?CCL6: FSET PHONE,TOUCHBIT PRINTI "You pick up the receiver." PRINT DIALING-TONE FSET? TOOTHBRUSH,TOUCHBIT \?CND9 ICALL1 TWO-TREES ?CND9: CRLF RTRUE ?CCL3: EQUAL? PRSA,V?REPLY \FALSE PRINTR "It isn't ringing." .FUNCT GLOBAL-BED-F EQUAL? GLOBAL-BED,PRSO \?CCL3 ICALL PERFORM,PRSA,BED,PRSI RTRUE ?CCL3: ICALL PERFORM,PRSA,PRSO,BED RTRUE .FUNCT BED-F,RARG EQUAL? RARG,M-BEG \?CCL3 EQUAL? PRSA,V?TAKE \?CCL6 FSET? PRSO,TAKEBIT \?CCL6 IN? PRSO,BED /?CCL6 CALL2 HELD?,PRSO ZERO? STACK \?CCL6 PRINTI "You can't reach it from the bed." ZERO? HEADACHE /?CND13 PRINTR " The effort almost kills you." ?CND13: CRLF RTRUE ?CCL6: EQUAL? PRSA,V?LOOK-INSIDE,V?OPEN \?CCL18 EQUAL? PRSO,CURTAINS \?CCL18 ICALL PERFORM,V?TAKE,PHONE SET 'P-IT-OBJECT,CURTAINS RTRUE ?CCL18: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL22 EQUAL? PRSO,BEDROOM-DOOR \?CCL22 ICALL PERFORM,V?TAKE,PHONE SET 'P-IT-OBJECT,BEDROOM-DOOR RTRUE ?CCL22: EQUAL? PRSA,V?WALK \FALSE CALL2 OUT-OF-FIRST,BED RSTACK ?CCL3: ZERO? RARG \FALSE EQUAL? PRSA,V?DISEMBARK \?CCL30 ZERO? HEADACHE /?CCL30 LOC PROTAGONIST EQUAL? STACK,BED \?CCL30 MOVE PROTAGONIST,HERE SET 'OHERE,FALSE-VALUE SET 'LYING-DOWN,FALSE-VALUE PRINTR "Very difficult, but you manage it. The room is still spinning. It dips and sways a little." ?CCL30: EQUAL? PRSA,V?LOOK-UNDER \?CCL37 MOVE STUFF-UNDER-BED,HERE PRINTR "There's nothing there. Well, there are a few soiled handkerchiefs, a book you thought you'd lost, a couple of foreign coins, and something else which can't be fully described in a family game, but nothing you'd actually want." ?CCL37: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE EQUAL? PRSO,BED \FALSE CALL1 TELL-ME-HOW RSTACK .FUNCT CURTAINS-F EQUAL? PRSA,V?LOOK-INSIDE,V?OPEN \FALSE FCLEAR BULLDOZER,INVISIBLE PRINTI "As you part " PRINTD CURTAINS PRINTI " you see that i" PRINT NICE-DAY PRINTI ", and a large yellow " PRINTD BULLDOZER PRINTI " is advancing on " PRINTD HOME PRINTR "." .FUNCT GOWN-F EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3 FSET? GOWN,WORNBIT /?CCL3 PRINTR "It's hard to open or close the pocket unless you're wearing the gown." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL9 PRINTI "The dressing gown is faded and battered, and is clearly a garment which has seen better decades. It has a pocket which is " FSET? GOWN,OPENBIT \?PRG17 PRINTI "open" JUMP ?CND12 ?PRG17: PRINTI "closed" ?CND12: ZERO? GOWN-HUNG /?PRG24 PRINTI ". It is hanging from a " PRINTD HOOK PRINTC 46 JUMP ?CND19 ?PRG24: PRINTI ", and a small loop at the back of the collar." ?CND19: ZERO? SLEEVE-TIED /?CND26 PRINTR " The sleeves are tied closed." ?CND26: CRLF RTRUE ?CCL9: EQUAL? PRSA,V?TAKE \?CCL31 EQUAL? GOWN,PRSO \?CCL31 ZERO? HEADACHE /?CCL31 FCLEAR GOWN,TRYTAKEBIT FCLEAR GOWN,NDESCBIT MOVE GOWN,PROTAGONIST PRINTR "Luckily, this is large enough for you to get hold of. You notice something in the pocket." ?CCL31: EQUAL? PRSA,V?WEAR \?CCL38 ZERO? SLEEVE-TIED /?CCL38 PRINTR "You'll have to untie the sleeve first." ?CCL38: EQUAL? PRSA,V?UNTIE,V?TIE \FALSE ICALL PERFORM,PRSA,SLEEVES RTRUE .FUNCT SLEEVES-F CALL2 VISIBLE?,GOWN ZERO? STACK \?CCL3 CALL2 CANT-SEE,SLEEVES RSTACK ?CCL3: EQUAL? PRSA,V?TAKE,V?WEAR \?CCL5 ICALL PERFORM,PRSA,GOWN RTRUE ?CCL5: EQUAL? PRSA,V?CLOSE,V?TIE \?CCL7 SET 'PRSO,GOWN CALL1 IDROP ZERO? STACK \TRUE ZERO? SLEEVE-TIED /?CCL12 PRINTR "It is." ?CCL12: SET 'SLEEVE-TIED,TRUE-VALUE PRINTR "The sleeves are now tied closed." ?CCL7: EQUAL? PRSA,V?OPEN,V?UNTIE \FALSE ZERO? SLEEVE-TIED /?PRG24 SET 'SLEEVE-TIED,FALSE-VALUE PRINTR "Untied." ?PRG24: PRINTR "It isn't tied!" .FUNCT TWO-TREES SET 'AWAITING-REPLY,9 CALL QUEUE,I-REPLY,2 PUT STACK,0,1 PRINTI " Shouldn't you be taking more interest in events in the world around you? While you've got it...?" RTRUE .FUNCT THING-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "Apart from a label on the bottom saying ""Made in Ibiza"" it furnishes you with no clue as to its purpose, if indeed it has one. You are surprised to see it because you thought you'd thrown it away. Like most gifts from your aunt," PRINT GET-RID CRLF RTRUE ?CCL3: EQUAL? PRSA,V?DROP \?CCL7 EQUAL? HERE,MAZE,ACCESS-SPACE /?CCL7 MOVE THING,HERE PRINTR "It falls to the ground with a light ""thunk."" It doesn't do anything else at all." ?CCL7: EQUAL? PRSA,V?CLOSE \FALSE PRINTR "Come to think of it, you vaguely remember an instruction booklet with directions for that. You never read it and lost it months ago." .FUNCT I-THING RANDOM 4 ADD 4,STACK CALL QUEUE,I-THING,STACK PUT STACK,0,1 EQUAL? IDENTITY-FLAG,ARTHUR \FALSE EQUAL? HERE,ENGINE-ROOM \?PRD5 LESS? LOOK-COUNTER,3 /FALSE ?PRD5: EQUAL? HERE,DARK,ACCESS-SPACE,MAZE /FALSE CALL2 VISIBLE?,THING ZERO? STACK \FALSE CALL HELD?,THING,PROTAGONIST ZERO? STACK \FALSE IN? FLEET,HERE /FALSE FCLEAR THING,NDESCBIT FCLEAR THING,INVISIBLE RANDOM 100 LESS? 40,STACK /?CCL13 MOVE THING,HERE RFALSE ?CCL13: FSET? GOWN,WORNBIT \?CCL15 FSET? GOWN,OPENBIT \?CCL15 RANDOM 100 LESS? 65,STACK /?CCL15 MOVE THING,GOWN RFALSE ?CCL15: MOVE THING,PROTAGONIST RFALSE .FUNCT TABLET-F EQUAL? PRSA,V?DRINK,V?TAKE,V?EAT \FALSE MOVE TABLET,LOCAL-GLOBALS FCLEAR SCREWDRIVER,TRYTAKEBIT FCLEAR TOOTHBRUSH,TRYTAKEBIT SET 'HEADACHE,FALSE-VALUE ADD SCORE,10 >SCORE PRINTR "You swallow the tablet. After a few seconds the room begins to calm down and behave in an orderly manner. Your terrible headache goes." .FUNCT CLOTHES-EXIT-F FSET? GOWN,WORNBIT \?CCL3 RETURN FRONT-OF-HOUSE ?CCL3: SET 'AWAITING-REPLY,10 CALL QUEUE,I-REPLY,2 PUT STACK,0,1 PRINT ARRESTED CRLF RFALSE .FUNCT MAIL-F EQUAL? PRSA,V?TAKE \?CCL3 FSET? MAIL,TOUCHBIT /?CCL3 FSET MAIL,TOUCHBIT FCLEAR MAIL,TRYTAKEBIT MOVE MAIL,PROTAGONIST PRINTR "You gather up the pile of mail." ?CCL3: EQUAL? PRSA,V?OPEN \FALSE ICALL PERFORM,V?READ,MAIL RTRUE .FUNCT HOUSE-ENTER-F ZERO? HOUSE-DEMOLISHED /?CCL3 PRINTI "You can't enter a " PRINTD RUBBLE PRINTC 46 CRLF RFALSE ?CCL3: EQUAL? IDENTITY-FLAG,FORD \?CCL7 EQUAL? PRSA,V?THROUGH /?CND8 PRINTI "Enter the house? " ?CND8: ICALL2 PRIVATE,STR?68 RFALSE ?CCL7: ZERO? PROSSER-LYING \?CCL13 PRINTI "The " PRINTD BULLDOZER ICALL2 JIGS-UP,STR?69 RFALSE ?CCL13: CALL QUEUE,I-HOUSEWRECK,5 PUT STACK,0,1 RETURN FRONT-PORCH .FUNCT FRONT-OF-HOUSE-F,RARG EQUAL? RARG,M-ENTER \?CCL3 FCLEAR BULLDOZER,INVISIBLE IN? DOG,COUNTRY-LANE \?CCL6 ZERO? DOG-FED \?CND7 ICALL1 I-DOG ?CND7: CALL QUEUE,I-VOGONS,3 PUT STACK,0,1 PRINTI "You reach the site of what was " EQUAL? IDENTITY-FLAG,FORD \?PRG16 PRINTI "Arthur's" JUMP ?PRG18 ?PRG16: PRINTI "your" ?PRG18: PRINTI " home. It is now a " PRINTD RUBBLE PRINTI ". " PRINTD PROSSER PRINTI " looks sheepishly triumphant, a trick few people can do, as it requires a lot of technically complex deltoid muscle work." CRLF CRLF RTRUE ?CCL6: EQUAL? IDENTITY-FLAG,FORD /FALSE ZERO? PROSSER-LYING \FALSE CALL QUEUE,I-BULLDOZER,-1 PUT STACK,0,1 RFALSE ?CCL3: EQUAL? RARG,M-LOOK \?CCL25 EQUAL? IDENTITY-FLAG,FORD \?CCL28 FSET? FRONT-OF-HOUSE,NDESCBIT /?CCL28 FSET BEER,NDESCBIT SET 'DRUNK-LEVEL,0 FSET ARTHUR,NDESCBIT FSET FRONT-OF-HOUSE,NDESCBIT PRINTI "Before you is the house of your friend, " PRINTD ARTHUR PRINTI ", who is lying in front of a " PRINTD BULLDOZER PRINTI "; you have no idea why. You have no idea about most things about Arthur, even why you regard him as a friend, but you do, and must therefore return his towel before you leave." JUMP ?CND26 ?CCL28: ZERO? HOUSE-DEMOLISHED /?CCL35 PRINTI "There is a huge " PRINTD RUBBLE JUMP ?PRG44 ?CCL35: EQUAL? IDENTITY-FLAG,FORD \?PRG42 PRINTI "Arthur's house is" JUMP ?PRG44 ?PRG42: PRINTI "You can enter your home" ?PRG44: PRINTI " to the north. A path leads around it to the northeast and northwest, and a country lane is visible to the south." ?CND26: FSET? FRONT-OF-HOUSE,NDESCBIT /?CND46 EQUAL? IDENTITY-FLAG,ARTHUR \?CND46 FSET FRONT-OF-HOUSE,NDESCBIT PRINTI " All that lies between your home and the huge yellow " PRINTD BULLDOZER PRINTR " bearing down on it is a few yards of mud." ?CND46: CRLF RTRUE ?CCL25: EQUAL? RARG,M-END \FALSE EQUAL? IDENTITY-FLAG,FORD \FALSE FSET? ARTHUR,NDESCBIT \FALSE FCLEAR ARTHUR,NDESCBIT RFALSE .FUNCT I-BULLDOZER ZERO? LYING-DOWN \?CCL2 ZERO? HOUSE-DEMOLISHED /?CND1 ?CCL2: CALL2 INT,I-BULLDOZER PUT STACK,0,0 RFALSE ?CND1: FSET PROSSER,TOUCHBIT IGRTR? 'BULLDOZER-COUNTER,4 \?CCL7 CALL2 INT,I-BULLDOZER PUT STACK,0,0 PRINT BULLDOZER-PILES CRLF CALL1 BRICK-DEATH RSTACK ?CCL7: EQUAL? HERE,FRONT-OF-HOUSE \FALSE CRLF PRINTI "The " PRINTD BULLDOZER PRINTR " rumbles slowly toward your home." .FUNCT BRICK-DEATH CRLF PRINTI "Your home collapses in a cloud of dust, and a stray flying brick hits you squarely on the back of the head. You try to think of some suitable last words, but what with the confusion of the moment and the spinning of your head, you are unable to compose anything pithy and expire in silence." ?PRG3: CRLF CRLF PRINTC 62 PUTB P-INBUF,1,0 READ P-INBUF,P-LEXV INC 'DEAD-COUNTER EQUAL? DEAD-COUNTER,1,2 \?CCL7 PRINTI "You keep out of this, you're dead" EQUAL? DEAD-COUNTER,1 \?PRG15 PRINTI ". An ambulance arrives." JUMP ?PRG3 ?PRG15: PRINTI " and should be concentrating on developing a good firm rigor mortis. You are put in the ambulance, which drives away." JUMP ?PRG3 ?CCL7: EQUAL? DEAD-COUNTER,3 \?PRG3 PRINTI "For a dead person you are talking too much. As the ambulance reaches the mortuary" ICALL1 MAKE-WAY-FOR ICALL1 FINISH JUMP ?PRG3 .FUNCT BULLDOZER-DRIVER-F EQUAL? PRSA,V?HELLO,V?TELL \FALSE PRINTI "The " PRINTD BULLDOZER-DRIVER PRINTI ", perusing a booklet of union rules, ignores you." CRLF CALL1 FUCKING-CLEAR RSTACK .FUNCT BULLDOZER-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "It's one of those really big " PRINTD BULLDOZER PRINTI "s that can actually crush other " PRINTD BULLDOZER PRINTR "s, let alone houses." ?CCL3: EQUAL? HERE,FRONT-OF-HOUSE /?CCL7 EQUAL? PRSA,V?MOVE,V?PUSH,V?RUB /?PRG13 EQUAL? PRSA,V?BLOCK,V?KICK,V?TAKE /?PRG13 EQUAL? PRSA,V?WALK-AROUND \?CCL7 ?PRG13: PRINTI "The " PRINTD BULLDOZER PRINTR " isn't here." ?CCL7: EQUAL? PRSA,V?LIE-DOWN \?CCL16 ICALL PERFORM,V?BLOCK,BULLDOZER RTRUE ?CCL16: EQUAL? PRSA,V?BLOCK \?CCL18 EQUAL? IDENTITY-FLAG,ARTHUR \?CCL18 ZERO? HOUSE-DEMOLISHED /?CCL23 PRINTR "Too late now." ?CCL23: ZERO? LYING-DOWN /?CCL27 ICALL PERFORM,V?LIE-DOWN,GROUND RTRUE ?CCL27: ZERO? PROSSER-LYING /?CCL29 PRINTR "Prosser's doing that for you." ?CCL29: SET 'LYING-DOWN,TRUE-VALUE SET 'OHERE,FALSE-VALUE CALL QUEUE,I-PROSSER,2 PUT STACK,0,1 PRINTI "You lie down in the path of the advancing " PRINTD BULLDOZER PRINTR ". Prosser yells at you to for crissake move!!!" ?CCL18: EQUAL? PRSA,V?WALK-AROUND \?CCL35 EQUAL? IDENTITY-FLAG,ARTHUR \?CCL38 CALL1 V-DIG RSTACK ?CCL38: ZERO? TOWEL-OFFERED \?CCL40 PRINTR "Didn't you come here for a purpose? Something about a towel?" ?CCL40: ZERO? GONE-AROUND /?CCL44 PRINTR "You already did. It's not a merry-go-round." ?CCL44: SET 'GONE-AROUND,TRUE-VALUE PRINTI "You walk around the " PRINTD BULLDOZER PRINTR ". Prosser is standing here, looking cross and frustrated. Realising that you are a friend of Arthur's he starts to talk at you. He says that this sort of protest is all very well, but what Mr. Dent must realise is that he's had plenty of time to make a formal protest at the proper time and place, and that spending months going through the appropriate official channels, filling in the appropriate official forms, and going to the appropriate official public hearings is the right way of going about it, and lying around whimsically in the mud is not. He says that he personally hates mud and despises the sort of people who lie in it." ?CCL35: EQUAL? PRSA,V?LISTEN \FALSE CALL2 RUNNING?,I-PROSSER ZERO? STACK /FALSE PRINTR """Rumble...rumble...""" .FUNCT I-PROSSER ZERO? LYING-DOWN \?CND1 CALL2 INT,I-PROSSER PUT STACK,0,0 ICALL1 I-BULLDOZER RTRUE ?CND1: CALL QUEUE,I-PROSSER,-1 PUT STACK,0,1 INC 'PROSSER-COUNTER CRLF EQUAL? PROSSER-COUNTER,1 \?CCL5 PRINTI "The " PRINTD BULLDOZER PRINTR " thunders toward you. The ground is shaking beneath you as you lie in the mud." ?CCL5: EQUAL? PROSSER-COUNTER,2 \?CCL9 PRINTI "The noise of the giant " PRINTD BULLDOZER PRINTR " is now so violently loud that you can't even hear Prosser yelling to warn you that you will be killed if you don't get the hell out of the way. You just see him gesticulating wildly." ?CCL9: EQUAL? PROSSER-COUNTER,3 \FALSE CALL2 INT,I-PROSSER PUT STACK,0,0 CALL QUEUE,I-FORD,-1 PUT STACK,0,1 MOVE FORD,HERE SET 'P-IT-OBJECT,TOWEL PRINTI "With a terrible grinding of gears the " PRINTD BULLDOZER PRINTI " comes to an abrupt halt just in front of you. It shakes, shudders, and emits noxious substances all over your rose bed. Prosser is incoherent with rage. Moments later, your friend " PRINTD FORD PRINTR " arrives. He hardly seems to notice your predicament, but keeps glancing nervously at the sky. He says, ""Hello, Arthur,"" takes a towel from his battered leather satchel, and offers it to you." .FUNCT PROSSER-DESCFCN,X EQUAL? IDENTITY-FLAG,FORD \?PRG8 FSET? PROSSER,TOUCHBIT /?PRG8 FSET PROSSER,TOUCHBIT PRINTR "Nearby stands an impatient man. There seems to be a bit of an atmosphere." ?PRG8: PRINTD PROSSER PRINTI ", from the local council, is " ZERO? PROSSER-LYING /?CCL12 PRINTI "lying in front" JUMP ?PRG21 ?CCL12: ZERO? GONE-AROUND /?PRG19 PRINTI "standing at the side" JUMP ?PRG21 ?PRG19: PRINT ON-OTHER-SIDE ?PRG21: PRINTI " of the " PRINTD BULLDOZER PRINTI ". He seems to be wearing a " PRINTD DIGITAL-WATCH PRINTC 46 FSET? PROSSER,TOUCHBIT /?CND1 FSET PROSSER,TOUCHBIT PRINTR " He looks startled to see you emerge, and yells at you to get out of the way." ?CND1: CRLF RTRUE .FUNCT PROSSER-F EQUAL? PROSSER,WINNER \?CCL3 IN? FLEET,HERE \?CCL6 PRINTI "Prosser is too preoccupied with recent events to give your remarks much consideration. He is running off and saying a number of things about his mother in a high voice." CRLF CALL1 FUCKING-CLEAR RSTACK ?CCL6: EQUAL? PRSA,V?TELL-ABOUT \?CCL10 EQUAL? PRSO,ME \?CCL10 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-ABOUT,PROSSER,PRSI SET 'WINNER,PROSSER RTRUE ?CCL10: EQUAL? PRSA,V?HELLO \?CCL14 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?HELLO,PROSSER SET 'WINNER,PROSSER RTRUE ?CCL14: EQUAL? PRSA,V?WHAT \?CCL16 EQUAL? PRSO,OBJECT-OF-GAME \?CCL16 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-ABOUT,PROSSER,OBJECT-OF-GAME SET 'WINNER,PROSSER RTRUE ?CCL16: EQUAL? PRSA,V?WHAT \?PRD22 EQUAL? PRSO,TIME /?CTR19 ?PRD22: EQUAL? PRSA,V?TELL-TIME \?PRD25 EQUAL? PRSO,ME \?PRD25 EQUAL? PRSI,TIME /?CTR19 ?PRD25: EQUAL? PRSA,V?WHAT-TIME \?CCL20 EQUAL? PRSO,TIME \?CCL20 ?CTR19: SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-FOR,PROSSER,TIME SET 'WINNER,PROSSER RTRUE ?CCL20: EQUAL? PRSA,V?WHAT \?CCL32 EQUAL? PRSO,OBJECT-OF-GAME \?CCL32 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-ABOUT,PROSSER,PRSO SET 'WINNER,PROSSER RTRUE ?CCL32: EQUAL? IDENTITY-FLAG,FORD \?CCL36 EQUAL? PRSA,V?LIE-DOWN \?PRD41 EQUAL? PRSO,BULLDOZER \?PRD41 ZERO? IN-FRONT-FLAG \?CTR38 ?PRD41: EQUAL? PRSA,V?LIE-DOWN \?PRD45 EQUAL? PRSO,ROOMS,GROUND \?PRD45 ZERO? HOUSE-DEMOLISHED /?CTR38 ?PRD45: EQUAL? PRSA,V?REPLACE \?CCL39 EQUAL? PRSO,ARTHUR \?CCL39 ZERO? HOUSE-DEMOLISHED \?CCL39 ?CTR38: ZERO? PROSSER-LYING /?CND52 PRINTR "He's already lying there!" ?CND52: SET 'PROSSER-LYING,TRUE-VALUE CALL QUEUE,I-ARTHUR,-1 PUT STACK,0,1 PRINTR "Prosser blinks in astonishment. ""You mean, go and lie in the mud in his place...?"" You explain that Arthur will only move if someone else takes over for him. Prosser shakes his head in such a manner as to suggest that he is very weary of the world, and you tactfully forebear from mentioning that it won't be troubling him much longer. Reluctantly, he follows you back toward Arthur. You rapidly conclude the business. Prosser lies in the mud. Arthur, bewildered, nevertheless stands up and appears ready to follow you to the Pub." ?CCL39: ICALL1 STAND-ASIDE CALL1 FUCKING-CLEAR RSTACK ?CCL36: EQUAL? PRSA,V?WHAT-ABOUT \?CCL59 EQUAL? PRSO,HOME,HOUSE \?CCL59 ZERO? HOUSE-DEMOLISHED /?CCL59 PRINTR "Prosser explains the local planning regulations and says, by way of reassurance, that you will probably be rehoused within a couple of years." ?CCL59: EQUAL? PRSA,V?BLOCK \?CCL66 EQUAL? PRSO,BULLDOZER \?CCL66 CALL2 RUNNING?,I-BULLDOZER ZERO? STACK /?CCL66 CALL1 V-PROTEST RSTACK ?CCL66: ICALL1 STAND-ASIDE CALL1 FUCKING-CLEAR RSTACK ?CCL3: ZERO? GONE-AROUND \?CCL71 EQUAL? IDENTITY-FLAG,FORD \?CCL71 EQUAL? PRSA,V?ASK-FOR,V?HELLO,V?TELL /?PRD75 EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT \?CCL71 ?PRD75: EQUAL? PRSO,PROSSER \?CCL71 IN? FLEET,HERE /?CCL71 PRINTI "Prosser can't hear you from here." CRLF CALL1 FUCKING-CLEAR RSTACK ?CCL71: EQUAL? PRSA,V?SHOW,V?GIVE \?CCL82 EQUAL? PRSO,THING \?CCL85 PRINTR "He is much impressed and says, ""You must have the same aunt I have.""" ?CCL85: EQUAL? PRSO,TOWEL \?CCL89 SET 'TOWEL-MUDDY,TRUE-VALUE PRINTR "Prosser thanks you, wipes the mud off his boots, and hands it back." ?CCL89: EQUAL? PRSO,GUIDE \?CCL93 PRINTI "Prosser takes a quick look at " PRINTD GUIDE PRINTR ", says he doesn't read that kind of rubbish, and hands it back." ?CCL93: EQUAL? PRSO,SATCHEL \FALSE PRINTR "Prosser says he wouldn't be seen dead with that kind of thing slung over his shoulder." ?CCL82: EQUAL? PRSA,V?WALK-TO \?CCL101 EQUAL? HERE,FRONT-OF-HOUSE \?CCL101 EQUAL? IDENTITY-FLAG,FORD \?PRG109 ZERO? GONE-AROUND \?PRG109 ICALL PERFORM,V?WALK-AROUND,BULLDOZER RTRUE ?PRG109: PRINTR "You're already as close as any reasonable person would want to get." ?CCL101: EQUAL? PRSA,V?KICK,V?KILL \?CCL112 ZERO? LYING-DOWN /?CCL112 PRINT WHILE-LYING CRLF RTRUE ?CCL112: EQUAL? PRSA,V?KILL \?CCL118 EQUAL? PRSO,PROSSER \?CCL118 ZERO? HOUSE-DEMOLISHED /?CCL118 PRINTR "You muck up all his fancy facial work. This is the last moment of satisfaction you will experience for some time." ?CCL118: EQUAL? PRSA,V?KICK,V?KILL \?CCL125 EQUAL? PRSO,PROSSER \?CCL125 PRINTR "He dodges, insisting that this is incorrect procedure." ?CCL125: EQUAL? PRSA,V?THROW \?CCL131 EQUAL? PRSI,PROSSER \?CCL131 MOVE PRSO,HERE ICALL PERFORM,V?KILL,PROSSER RTRUE ?CCL131: EQUAL? PRSA,V?EXAMINE \?CCL135 CALL1 PROSSER-DESCFCN RSTACK ?CCL135: EQUAL? PRSA,V?LISTEN \?CCL137 FSET? CONVERSATION,INVISIBLE /?CCL137 ICALL PERFORM,V?LISTEN,CONVERSATION RTRUE ?CCL137: EQUAL? PRSA,V?ASK-ABOUT \?CCL141 EQUAL? PRSI,OBJECT-OF-GAME \?CCL141 PRINTR "Prosser pulls a booklet out of his back pocket. ""My game manual says that the goal is getting this here house knocked down.""" ?CCL141: EQUAL? PRSA,V?ASK-ABOUT \?CCL147 EQUAL? PRSI,DIGITAL-WATCH \?CCL147 ICALL PERFORM,V?ASK-FOR,PROSSER,TIME RTRUE ?CCL147: EQUAL? PRSA,V?ASK-FOR \FALSE EQUAL? PRSI,TIME \FALSE PRINTI "Prosser shakes the " PRINTD DIGITAL-WATCH PRINTI ". ""Hasn't worked for months. I keep wearing it only because I think " PRINTD DIGITAL-WATCH PRINTR "es are neat.""" .FUNCT STAND-ASIDE ZERO? PROSSER-LYING /?PRG5 PRINTR """Leave me alone,"" Prosser whimpers miserably." ?PRG5: PRINTI """Please step aside as I need to be able to " ZERO? HOUSE-DEMOLISHED /?PRG12 PRINTI "clear this " PRINTD RUBBLE PRINTR " away.""" ?PRG12: PRINTI "knock " EQUAL? IDENTITY-FLAG,ARTHUR \?PRG19 PRINTI "your" JUMP ?PRG21 ?PRG19: PRINTI "that" ?PRG21: PRINTR " house down.""" .FUNCT DIGITAL-WATCH-F EQUAL? PRSA,V?READ,V?TAKE \FALSE CALL2 PRIVATE,STR?70 RSTACK .FUNCT FORD-DESCFCN,X ZERO? FORD-SLEEPING /?PRG6 PRINTR "Ford is in the corner, snoring loudly." ?PRG6: PRINTD FORD PRINTR " is here." .FUNCT FORD-F EQUAL? IDENTITY-FLAG,FORD \?CCL3 EQUAL? FORD,PRSO \?CCL6 ICALL PERFORM,PRSA,ME,PRSI RTRUE ?CCL6: ICALL PERFORM,PRSA,PRSO,ME RTRUE ?CCL3: EQUAL? FORD,WINNER \?CCL8 IN? FLEET,HERE \?CCL11 PRINT ABOVE-NOISE CRLF CALL1 FUCKING-CLEAR RSTACK ?CCL11: EQUAL? PRSI,HOUSE /?PRG18 EQUAL? PRSO,HOUSE \?CCL15 ?PRG18: PRINTI """It's not a house, it's a home."" (Footnote 2)" CRLF CALL1 FUCKING-CLEAR RSTACK ?CCL15: EQUAL? PRSA,V?TELL-ABOUT \?CCL21 EQUAL? PRSO,ME \?CCL21 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-ABOUT,FORD,PRSI SET 'WINNER,FORD RTRUE ?CCL21: EQUAL? PRSA,V?HELLO \?CCL25 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?HELLO,FORD SET 'WINNER,FORD RTRUE ?CCL25: EQUAL? PRSA,V?WHAT \?CCL27 EQUAL? PRSO,OBJECT-OF-GAME \?CCL27 PRINT ASK-ABOUT-OBJECT CRLF RTRUE ?CCL27: EQUAL? PRSA,V?WHAT-ABOUT \?CCL33 LESS? FORD-COUNTER,2 \?CCL33 EQUAL? HERE,FRONT-OF-HOUSE \?CCL33 EQUAL? PRSO,HOME \?CCL33 PRINTI "Ford" CALL1 FORD-DECIDES RSTACK ?CCL33: EQUAL? PRSA,V?WHAT-ABOUT \?CCL41 EQUAL? PRSO,THIRD-PLANET,HOME \?CCL41 ZERO? EARTH-DEMOLISHED /?CCL41 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-ABOUT,FORD,THIRD-PLANET SET 'WINNER,FORD RTRUE ?CCL41: ZERO? EARTH-DEMOLISHED \?PRG73 LESS? DRUNK-LEVEL,3 \?PRG54 EQUAL? HERE,PUB \?PRG54 PRINTI """Shut up and drink your beer. You're going to need it.""" CRLF JUMP ?CND47 ?PRG54: PRINTI "Ford, busy " EQUAL? FORD-COUNTER,2 \?PRG61 PRINTI "talking to Prosser" JUMP ?CND56 ?PRG61: PRINTI "scanning the sky " ?CND56: EQUAL? HERE,PUB \?CCL65 PRINTI "through the window" JUMP ?PRG71 ?CCL65: EQUAL? FORD-COUNTER,2 /?PRG71 PRINTI "for something" ?PRG71: PRINTI ", ignores you." CRLF ?CND47: CALL QUEUE,I-FORD,2 PUT STACK,0,1 RTRUE ?PRG73: PRINTI "Ford seems deep in thought." CRLF CALL1 FUCKING-CLEAR RSTACK ?CCL8: EQUAL? PRSA,V?HELLO,V?TELL-ABOUT,V?TELL /?PRD78 EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR \?CCL76 ?PRD78: EQUAL? PRSO,FORD \?CCL76 ZERO? FORD-SLEEPING /?CCL76 PRINTI "Ford is sleeping!" CRLF CALL1 FUCKING-CLEAR RSTACK ?CCL76: EQUAL? PRSA,V?GIVE \?CCL85 EQUAL? PRSI,FORD \?CCL85 ZERO? FORD-SLEEPING /?CCL85 ICALL PERFORM,V?HELLO,FORD RTRUE ?CCL85: EQUAL? FOLLOW-FLAG,1 \?CCL90 IN? FORD,HERE /?CCL90 EQUAL? PRSA,V?FOLLOW \?CCL90 PRINTI "In a state of anxiety and confusion you follow Ford down the lane..." CRLF CRLF LOC FORD CALL2 GOTO,STACK RSTACK ?CCL90: EQUAL? FOLLOW-FLAG,3 \?CCL97 EQUAL? PRSA,V?FOLLOW \?CCL97 CALL2 DO-WALK,P?WEST RSTACK ?CCL97: EQUAL? PRSA,V?FOLLOW \?CCL101 EQUAL? FOLLOW-FLAG,5 \?CCL101 CALL2 DO-WALK,P?SOUTH RSTACK ?CCL101: EQUAL? PRSA,V?SHAKE,V?ALARM \?CCL105 ZERO? FORD-SLEEPING /?CCL105 PRINTR "Rather like trying to wake the dead." ?CCL105: EQUAL? PRSA,V?ASK-ABOUT \?CCL111 EQUAL? PRSI,OBJECT-OF-GAME \?CCL111 PRINT ASK-ABOUT-OBJECT CRLF RTRUE ?CCL111: EQUAL? PRSA,V?ASK-ABOUT \?CCL117 EQUAL? PRSI,THIRD-PLANET \?CCL117 PRINTR "Ford explains that the Earth has been demolished. To cheer you up, he points out that there are an awful lot of little planets like that around, and the Earth wasn't even a particularly nice one." ?CCL117: EQUAL? PRSA,V?GIVE \?CCL123 EQUAL? PRSO,THUMB \?CCL123 IN? FLEET,HERE \?CCL123 PRINTR "You can't reach him in this wind." ?CCL123: EQUAL? PRSA,V?LISTEN \?CCL130 FSET? CONVERSATION,INVISIBLE /?CCL133 ICALL PERFORM,V?LISTEN,CONVERSATION RTRUE ?CCL133: ZERO? FORD-SLEEPING /FALSE PRINTR """Zzzzzzz...""" ?CCL130: EQUAL? PRSA,V?EXAMINE \?CCL139 ZERO? FORD-SLEEPING /?CCL139 PRINTR "He's sleeping." ?CCL139: EQUAL? PRSA,V?ASK-FOR \FALSE EQUAL? PRSI,TOWEL \FALSE EQUAL? FORD-COUNTER,0,1 \FALSE ICALL PERFORM,V?TAKE,TOWEL RTRUE .FUNCT FORD-DECIDES FCLEAR CONVERSATION,INVISIBLE CALL QUEUE,I-FORD,2 PUT STACK,0,1 SET 'FORD-COUNTER,2 PRINTI " looks startled, then guilty. He starts to say something and stops. He starts to say something else and stops. Suddenly, he seems to see the " PRINTD BULLDOZER PRINTI " for the first time, stops starting to say things and starts. He seems to come to a momentous decision, says he has something of Earth-shattering importance to tell you, and stresses the importance of a quick drink at the Horse 'n Groom. " ICALL2 BUT-THAT-MAN,STR?71 PRINTI " Ford goes off for a quiet word with Prosser. From where you're lying, you cannot hear what's happening, although they seem deeply engrossed in " PRINTD CONVERSATION PRINTR "." .FUNCT I-FORD CALL QUEUE,I-FORD,-1 PUT STACK,0,1 CALL2 IN-HEART?,PROTAGONIST ZERO? STACK /?CCL3 INC 'HEART-COUNTER EQUAL? HEART-COUNTER,1 \?CCL6 MOVE FORD,HERE CRLF PRINTI """This looks like that incredible new" PRINT IID PRINTI " spaceship, " PRINTD HEART-OF-GOLD PRINTI "!"" says Ford, with growing excitement." CRLF CRLF PRINT ANNOUNCEMENT PRINTD EDDIE PRINTI ". We have just picked up two hitchhikers" ICALL2 FACTOR,STR?72 PRINTR """" ?CCL6: EQUAL? HEART-COUNTER,2 \?CCL12 CRLF PRINTI """Come on, let's look for the Bridge."" You follow Ford, and eventually come to the..." CRLF CRLF ICALL2 GOTO,BRIDGE MOVE FORD,HERE RTRUE ?CCL12: EQUAL? HEART-COUNTER,3 \?CCL16 EQUAL? HERE,BRIDGE \FALSE CRLF PRINTI """Hey, Zaphod, how ya doing?"" says Ford. He's cool. ""Not bad, Ford. Great to see you,"" replies Zaphod. He's cooler. You suddenly realise that the woman is Tricia MacMillan (""Call me " PRINTD TRILLIAN PRINTR """), whom you were trying to pick up at a party in Islington just a few weeks ago, and that Zaphod is the guy she eventually left the party with! Odd." ?CCL16: EQUAL? HEART-COUNTER,4 \FALSE MOVE FORD,LOCAL-GLOBALS MOVE ZAPHOD,LOCAL-GLOBALS MOVE TRILLIAN,LOCAL-GLOBALS MOVE HANDBAG,BRIDGE MOVE SATCHEL,BRIDGE FCLEAR HANDBAG,NDESCBIT FCLEAR HANDBAG,TRYTAKEBIT CALL2 INT,I-FORD PUT STACK,0,0 CALL QUEUE,I-MARVIN,-1 PUT STACK,0,1 EQUAL? HERE,BRIDGE \FALSE SET 'FOLLOW-FLAG,3 CALL QUEUE,I-FOLLOW,2 PUT STACK,0,1 CRLF PRINTI """Like my spaceship, Ford?"" Zaphod asks. ""YOUR spaceship?"" says Ford, losing his cool for a second. ""Yeah, I stole it,"" Zaphod admits. ""I'm gonna use it to find" PRINT LOST-PLANET PRINTI ". Let's go sit in the sauna while I explain."" Zaphod, Ford, and " PRINTD TRILLIAN PRINTR " all head off to port." ?CCL3: EQUAL? HERE,HOLD \?CCL29 FSET? CAPTAINS-QUARTERS,TOUCHBIT \?CCL32 INC 'GUARDS-COUNTER EQUAL? GUARDS-COUNTER,1 \?CCL35 CRLF PRINTR "The guard releases you and Ford and begins cycling the air in the airlock. ""Hey, guard!"" shouts Ford, ""do you really enjoy this sort of thing? Shouting, stomping around, shooting people, is it really a fulfilling career?""" ?CCL35: EQUAL? GUARDS-COUNTER,6 \?PRG51 CALL2 INT,I-FORD PUT STACK,0,0 MOVE SATCHEL,FORD FCLEAR SATCHEL,NDESCBIT SET 'PANEL-BLOCKER,FALSE-VALUE FSET HOLD,REVISITBIT CRLF PRINTI "The guard says, """ CALL HELD?,BABEL-FISH,PROTAGONIST ZERO? STACK /?PRG47 PRINTI "Well, all things considered, I guess I like being a guard. Especially the shouting. Resistance is useless!""" JUMP ?PRG49 ?PRG47: PRINTC 73 ICALL2 PRODUCE-GIBBERISH,3 ?PRG49: PRINTI " He throws you and Ford into the airlock and closes the door." CRLF CRLF ICALL2 GOTO,AIRLOCK MOVE FORD,AIRLOCK RTRUE ?PRG51: CRLF PRINTR "Ford continues trying to talk the guard into a sudden career change." ?CCL32: MOVE GUIDE,PROTAGONIST CALL2 INT,I-FORD PUT STACK,0,0 SET 'FORD-SLEEPING,TRUE-VALUE IN? MINERAL-WATER,FORD \?CND53 MOVE MINERAL-WATER,SATCHEL ?CND53: IN? TOWEL,FORD \?CND55 MOVE TOWEL,HERE ?CND55: MOVE SATCHEL,HERE FCLEAR SATCHEL,TRYTAKEBIT CRLF PRINTI "Ford yawns. ""Matter transference always tires me out. I'm going to take a nap."" He places something on top of his satchel. ""If you have any questions, here's " PRINT GUIDE-NAME PRINTI """ (Footnote 14). Ford lowers his voice to a whisper. ""I'm not supposed to tell you this, but you'll never be able to finish the game without consulting the Guide about lots of stuff."" As he curls up in a corner and begins snoring, you pick up " PRINTD GUIDE PRINTR "." ?CCL29: ZERO? FORD-COUNTER \?CCL60 SET 'FORD-COUNTER,1 CRLF PRINTR "Ford glances uncomfortably at the sky. He offers you the towel again." ?CCL60: EQUAL? FORD-COUNTER,1 \?CCL64 CRLF PRINTI "Ford seems oblivious to your trouble, so you ask ""Ford, what about my home?"" He" CALL1 FORD-DECIDES RSTACK ?CCL64: EQUAL? FORD-COUNTER,2 \?CCL68 SET 'FORD-COUNTER,3 SET 'LYING-DOWN,FALSE-VALUE SET 'PROSSER-LYING,TRUE-VALUE CALL QUEUE,I-FORD,2 PUT STACK,0,1 FSET CONVERSATION,INVISIBLE CRLF PRINTI "Ford and Prosser stop talking and approach you. Ford says that Prosser has agreed to lie in your place so that the two of you can go off to the Pub. Reluctantly, Prosser steps forward and lies down in front of the " PRINTD BULLDOZER PRINTR ". You stand up." ?CCL68: EQUAL? FORD-COUNTER,3 \?CCL72 MOVE FORD,COUNTRY-LANE SET 'FORD-COUNTER,4 EQUAL? HERE,FRONT-OF-HOUSE \?CCL75 SET 'FOLLOW-FLAG,1 CALL QUEUE,I-FOLLOW,2 PUT STACK,0,1 CRLF PRINTR "Ford, urging you to follow, hurries toward the country lane." ?CCL75: EQUAL? HERE,COUNTRY-LANE \FALSE CRLF PRINTR "Ford enters from the north." ?CCL72: EQUAL? FORD-COUNTER,4 \?CCL83 EQUAL? HERE,COUNTRY-LANE \?CCL83 FSET? PUB,TOUCHBIT /?CCL83 SET 'FORD-COUNTER,5 SET 'FOLLOW-FLAG,1 CALL QUEUE,I-FOLLOW,2 PUT STACK,0,1 MOVE FORD,PUB CRLF PRINTR """Come along, Arthur,"" says Ford impatiently, and enters the Pub." ?CCL83: IN? FORD,HERE /?CCL90 FSET? PUB,TOUCHBIT \?CCL90 MOVE FORD,HERE CRLF PRINTR "Ford hurries after you." ?CCL90: LESS? DRUNK-LEVEL,3 \FALSE EQUAL? PRSO,BEER \?CCL99 EQUAL? PRSA,V?ENJOY,V?DRINK /FALSE ?CCL99: EQUAL? HERE,PUB \FALSE FSET? BEER,NDESCBIT /FALSE CRLF PRINTI """Drink the beer,"" urges Ford. ""It will help" ICALL1 CUSHION PRINTR """" .FUNCT SATCHEL-DESCFCN,X PRINTI "There is a satchel here" EQUAL? PANEL-BLOCKER,SATCHEL \?PRG7 PRINTI ", resting in front of the " PRINTD ROBOT-PANEL ?PRG7: PRINTC 46 ICALL1 ITEM-ON-SATCHEL-DESCRIPTION CRLF RTRUE .FUNCT ITEM-ON-SATCHEL-DESCRIPTION ZERO? ITEM-ON-SATCHEL /FALSE PRINTI " Sitting on top of it is" ICALL2 ARTICLE,ITEM-ON-SATCHEL PRINTC 46 RTRUE .FUNCT SATCHEL-F EQUAL? PRSA,V?OPEN \?CCL3 EQUAL? IDENTITY-FLAG,FORD /?CCL3 CALL2 PRIVATE,STR?73 RSTACK ?CCL3: EQUAL? PRSA,V?PUT-ON \?CCL7 EQUAL? SATCHEL,PRSI \?CCL7 CALL2 HELD?,SATCHEL ZERO? STACK /?CCL12 PRINTR "Put down the satchel first." ?CCL12: ZERO? ITEM-ON-SATCHEL /?CCL16 PRINTI "But" ICALL ARTICLE,ITEM-ON-SATCHEL,TRUE-VALUE PRINTR " is already on the satchel." ?CCL16: SET 'ITEM-ON-SATCHEL,PRSO MOVE PRSO,HERE FSET PRSO,NDESCBIT FSET PRSO,TRYTAKEBIT PRINTI "Okay," ICALL ARTICLE,PRSO,TRUE-VALUE PRINTR " is now sitting on the satchel." ?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL26 PRINTI "The satchel, which is " FSET? SATCHEL,OPENBIT \?PRG34 PRINTI "open" JUMP ?PRG36 ?PRG34: PRINTI "closed" ?PRG36: PRINTI ", is fairly bulky." ICALL1 ITEM-ON-SATCHEL-DESCRIPTION CRLF RTRUE ?CCL26: EQUAL? PRSA,V?TAKE \FALSE IN? SATCHEL,FORD \FALSE PRINTI "Ford says, ""Hey, Arthur, keep " PRINTD HANDS PRINTR "s off my satchel!""" .FUNCT TOWEL-F EQUAL? PRSA,V?TAKE \?CCL3 FSET? TOWEL,TRYTAKEBIT \?CCL3 EQUAL? HERE,FRONT-OF-HOUSE \?CCL3 ZERO? LYING-DOWN /?CCL3 FCLEAR TOWEL,TRYTAKEBIT MOVE TOWEL,PROTAGONIST MOVE FORD,LOCAL-GLOBALS SET 'FORD-GONE,TRUE-VALUE SET 'FOLLOW-FLAG,5 CALL QUEUE,I-FOLLOW,2 PUT STACK,0,1 CALL2 INT,I-FORD PUT STACK,0,0 PRINTI "As you take it, Ford says, ""Er, look, thanks for lending me the towel... been nice knowing you... got to go now..."" He smiles oddly and walks down the " PRINTD COUNTRY-LANE PRINTR "." ?CCL3: EQUAL? PRSA,V?MOVE,V?TAKE \?CCL11 EQUAL? PRSO,TOWEL \?CCL11 FSET? TOWEL,SURFACEBIT \?CCL11 FCLEAR TOWEL,TRYTAKEBIT FCLEAR TOWEL,SURFACEBIT ICALL ROB,TOWEL,HERE FCLEAR TOWEL,CONTBIT FCLEAR TOWEL,OPENBIT FCLEAR TOWEL,NDESCBIT EQUAL? PRSA,V?MOVE \FALSE PRINTR "Okay, it's no longer covering the drain." ?CCL11: EQUAL? PRSA,V?TIE,V?PUT-ON \?CCL21 EQUAL? PRSI,BEAST \?CCL21 PRINTR "The effect is decorative rather than helpful." ?CCL21: EQUAL? PRSA,V?TIE,V?PUT-ON \?CCL27 EQUAL? PRSI,EYES,HEAD \?CCL27 FSET? TOWEL,WORNBIT \?CCL32 PRINTR "It already is." ?CCL32: IN? BEAST,HERE \?PRG39 FSET TOWEL,WORNBIT MOVE TOWEL,PROTAGONIST CALL QUEUE,I-BEAST,11 PUT STACK,0,1 PRINTI "The " PRINTD BEAST PRINTR " is completely bewildered. It is so dim it thinks that if you can't see it, it can't see you. You have a few seconds before it realises its mistake." ?PRG39: PRINTI "There's no need for that. It's not like there's a " PRINTD BEAST PRINTR " around, or something." ?CCL27: FSET? TOWEL,WORNBIT \?CCL42 EQUAL? PRSA,V?UNTIE,V?REMOVE,V?TAKE-OFF \?CCL42 FCLEAR TOWEL,WORNBIT PRINTI "You unwrap the towel from your head." FSET? BEAST,MUNGEDBIT \?CND47 CRLF CRLF ICALL1 V-LOOK RTRUE ?CND47: ZERO? BEARINGS-LOST /?PRG59 PRINTI " You see that you have wandered in circles" EQUAL? HERE,OUTER-LAIR \?PRG57 PRINTI " and ended right beside the " PRINTD MEMORIAL ?PRG57: PRINTC 46 ?PRG59: PRINTI " Unfortunately, the Beast has also caught sight of you again. All this fooling around has made it doubly angry and hungry. " ICALL1 BEAST-DEATH RTRUE ?CCL42: EQUAL? PRSA,V?EXAMINE \?CCL62 FSET? TOWEL,SURFACEBIT \?CCL65 ICALL PERFORM,V?EXAMINE,DRAIN FIRST? TOWEL /FALSE RTRUE ?CCL65: ZERO? TOWEL-MUDDY /?PRG72 PRINTR "It is caked with mud." ?PRG72: PRINTR "It's covered with little pink and blue flowers." ?CCL62: EQUAL? PRSA,V?LIE-DOWN \FALSE FSET? TOWEL,SURFACEBIT \FALSE ICALL PERFORM,V?STAND-BEFORE,HOOK RTRUE .FUNCT BACK-OF-HOUSE-F,RARG EQUAL? RARG,M-END \?CCL3 CALL2 RUNNING?,I-VOGONS ZERO? STACK \?CCL3 ZERO? HOUSE-DEMOLISHED /?CCL3 ICALL1 I-VOGONS CALL QUEUE,I-VOGONS,2 PUT STACK,0,1 RTRUE ?CCL3: EQUAL? RARG,M-LOOK \FALSE PRINTI "The rear garden is a pleasant place. I" PRINT NICE-DAY PRINTR ", and it's a lovely day for a walk. A path leads around the house to the southeast and southwest." .FUNCT TREE-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE PRINTR "You were never very good at that." .FUNCT COUNTRY-LANE-F,RARG EQUAL? RARG,M-ENTER \?CCL3 ZERO? PROSSER-LYING \?CCL6 ZERO? HOUSE-DEMOLISHED \?CCL6 FSET? HOLD,TOUCHBIT /?CCL6 SET 'BULLDOZER-COUNTER,3 CALL1 I-BULLDOZER RSTACK ?CCL6: EQUAL? IDENTITY-FLAG,FORD \?CCL11 ZERO? HOUSE-DEMOLISHED /?CCL11 CALL QUEUE,I-DOG,1 PUT STACK,0,1 RFALSE ?CCL11: EQUAL? DRUNK-LEVEL,3 \?CCL15 EQUAL? IDENTITY-FLAG,ARTHUR \?CCL15 CALL QUEUE,I-DOG,1 PUT STACK,0,1 RFALSE ?CCL15: FSET? HOLD,TOUCHBIT \FALSE FSET? COUNTRY-LANE,NDESCBIT /FALSE LOC SATCHEL PUT FORD-TABLE,0,STACK LOC THUMB PUT FORD-TABLE,1,STACK LOC GUIDE PUT FORD-TABLE,2,STACK LOC TOWEL PUT FORD-TABLE,3,STACK LOC MINERAL-WATER PUT FORD-TABLE,5,STACK FSET? THUMB,MUNGEDBIT \?CND22 PUT FORD-TABLE,4,TRUE-VALUE FCLEAR THUMB,MUNGEDBIT ?CND22: FSET COUNTRY-LANE,NDESCBIT ICALL ROB,PROTAGONIST,MEMORIAL MOVE SATCHEL,PROTAGONIST MOVE THUMB,SATCHEL MOVE GUIDE,SATCHEL MOVE TOWEL,SATCHEL MOVE MINERAL-WATER,SATCHEL MOVE ARTHUR,FRONT-OF-HOUSE SET 'IDENTITY-FLAG,FORD MOVE FORD,GLOBAL-OBJECTS MOVE PEANUTS,PUB FSET PEANUTS,TRYTAKEBIT FSET PEANUTS,NDESCBIT SET 'PEANUTS-BOUGHT,FALSE-VALUE SET 'DREAMING,TRUE-VALUE CALL QUEUE,I-VOGONS,38 PUT STACK,0,1 PRINTI "You are hurrying up a country lane. The sky is light and clear, but you keep glancing at it with apprehension because you know that it will shortly be torn apart by Vogon ships, and that the hills and trees around you will just burn up and blow away, and you hope there's time for a quick drink beforehand. You want to hitch a ride aboard the Vogon fleet, but are anxious because it's so long since you were through a" PRINT BEAM PRINTC 46 CRLF CRLF RTRUE ?CCL3: EQUAL? RARG,M-END \?CCL27 FSET? COUNTRY-LANE,REVISITBIT \?CCL27 SET 'DREAMING,TRUE-VALUE CRLF PRINTI "Suddenly, a shadow passes in front of the sun. You look up. The shadow is a " PRINTD FLEET PRINTI ". You fumble for " ICALL2 JIGS-UP,STR?74 RTRUE ?CCL27: EQUAL? RARG,M-LOOK \FALSE PRINTI "The road runs from " EQUAL? IDENTITY-FLAG,ARTHUR \?PRG41 PRINTI "your" JUMP ?PRG43 ?PRG41: PRINTI "Arthur's" ?PRG43: PRINTR " home, to the north, toward the village Pub, to the west." .FUNCT I-DOG EQUAL? HERE,WAR-CHAMBER \?CCL3 INC 'DOG-COUNTER LESS? DOG-COUNTER,13 \?CND4 EQUAL? PRSA,V?WAIT /FALSE ?CND4: CRLF LESS? DOG-COUNTER,13 \?CCL10 PRINTR "The fleet continues to hurtle sunwards." ?CCL10: ZERO? DOG-FED /?PRG17 SET 'LYING-DOWN,FALSE-VALUE PRINTI "Your simple act of kindness at a moment of great personal anxiety (you fed the dog, remember?) now brings rich rewards. " PRINT FLEET-PLUNGES PRINTI " spots the dog (which appears to them as a gigantic monster) cheerfully tucking into a " PRINTD SANDWICH PRINTI ". The Vl'Hurgs and the G'Gugvunts are moved by this simple picture of happiness, compared with the furious savagery of their own lives. They think back to a day when they used to relax over an odd " PRINTD SANDWICH PRINTI " themselves, often at sunset after a hearty day working in the fields back in Vl'Hurgon and G'Gugvia, and decide to return and rebuild their homes in a new spirit of harmony and cooperation. Grateful, they offer to drop you at " PRINTD HEART-OF-GOLD PRINTI " on the way home. After a brief 900 parsec trip, you are escorted into the Transporter Chamber of the warship. The transporter glows, and your surroundings change..." CRLF CRLF CALL2 GOTO,MAZE RSTACK ?PRG17: PRINT FLEET-PLUNGES ICALL2 JIGS-UP,STR?75 RTRUE ?CCL3: EQUAL? IDENTITY-FLAG,FORD \?CCL20 MOVE DOG,HERE CALL2 INT,I-DOG PUT STACK,0,0 PRINTI "You run up the lane after Arthur. You pass a" ZERO? DOG-FED /?PRG28 PRINTR " serene dog. Fate cannot harm him, he has dined today." ?PRG28: PRINTR "n irritable dog who yaps at you." ?CCL20: IN? DOG,HERE /?CCL31 IN? FLEET,HERE /?CCL31 EQUAL? HERE,COUNTRY-LANE \?CCL31 MOVE DOG,HERE CALL QUEUE,I-DOG,2 PUT STACK,0,1 PRINTI "You see the huge " PRINTD BULLDOZER PRINTI " heaving itself among the cloud of brick dust which is all that remains of " PRINTD HOME PRINTR ". As you start up the lane, a small dog runs up to you, yapping." ?CCL31: ZERO? DOG-FED \FALSE IN? DOG,HERE \FALSE FSET? DOG,TOUCHBIT /FALSE FSET DOG,TOUCHBIT PRINTR "The dog carries on yapping for a moment and then gulps uncomfortably." .FUNCT DOG-F EQUAL? PRSA,V?THROW,V?GIVE \?CCL3 EQUAL? PRSO,SANDWICH \?CCL6 EQUAL? IDENTITY-FLAG,FORD \?CCL9 MOVE SANDWICH,HERE PRINTI "The dog is in a bad mood and tries to bite " PRINTD HANDS PRINTI ". The " PRINTD SANDWICH PRINTR " lies ignored in the roadside dust." ?CCL9: FSET? DOG,TOUCHBIT \?CCL13 PRINTI "The dog, which seems to have a slight case of indigestion, ignores the " PRINTD SANDWICH PRINTR "." ?CCL13: MOVE SANDWICH,LOCAL-GLOBALS SET 'DOG-FED,TRUE-VALUE PRINTI "The dog is deeply moved. With powerful sweeps of its tail it indicates that it regards this " PRINTD SANDWICH PRINTI " as one of the great " PRINTD SANDWICH PRINTI "es. Nine out of ten pet owners could happen by at this point expressing any preference they pleased, but this dog would spurn both them and all their tins. This is a dog which has met its main sandwich. It eats" PRINT WITH-PASSION CRLF RTRUE ?CCL6: EQUAL? PRSO,PEANUTS \FALSE PRINTR "This is a dog, not an elephant." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL23 ZERO? DOG-FED \?CCL23 PRINTR "The mongrel looks hungry." ?CCL23: EQUAL? PRSA,V?PUSH,V?KICK,V?RUB \FALSE PRINTI "The dog tries to bite your " EQUAL? PRSA,V?KICK \?PRG37 PRINTI "foot" JUMP ?PRG39 ?PRG37: PRINTI "hand" ?PRG39: PRINTR "." .FUNCT PUB-OBJECT-F EQUAL? PRSA,V?THROUGH,V?WALK-TO \?CCL3 EQUAL? HERE,PUB \?CCL6 PRINT LOOK-AROUND CRLF RTRUE ?CCL6: EQUAL? HERE,COUNTRY-LANE \?CCL10 CALL2 DO-WALK,P?WEST RSTACK ?CCL10: CALL1 V-WALK-AROUND RSTACK ?CCL3: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \FALSE EQUAL? HERE,PUB \?PRG16 CALL2 DO-WALK,P?EAST RSTACK ?PRG16: PRINT LOOK-AROUND CRLF RTRUE .FUNCT PUB-F,RARG EQUAL? RARG,M-ENTER \?CCL3 ZERO? TOWEL-OFFERED \?CCL3 EQUAL? IDENTITY-FLAG,FORD \?CCL3 CALL QUEUE,I-UNEASY,-1 PUT STACK,0,1 RFALSE ?CCL3: EQUAL? RARG,M-LOOK \?CCL8 PRINTR "The Pub is pleasant and cheerful and full of pleasant and cheerful people who don't know they've got about twelve minutes to live and are therefore having a spot of lunch. Some music is playing on an old jukebox. The exit is east." ?CCL8: EQUAL? RARG,M-END \FALSE FSET? BEER,NDESCBIT \FALSE IN? FORD,HERE \FALSE EQUAL? IDENTITY-FLAG,FORD /FALSE FCLEAR BEER,NDESCBIT CALL QUEUE,I-FORD,2 PUT STACK,0,1 SET 'FORD-COUNTER,5 CRLF PRINTI "Ford buys " PRINTD BEER PRINTR " and offers half to you. ""Muscle relaxant..."" he says, impenetrably." .FUNCT BAR-F EQUAL? PRSA,V?LOOK-BEHIND \FALSE ICALL PERFORM,V?EXAMINE,PUB-SHELF RTRUE .FUNCT PUB-SHELF-F EQUAL? PRSA,V?EXAMINE \FALSE FSET PUB-SHELF,NDESCBIT PRINTI "On the shelf behind the bar is the usual array of bottles, glasses and soggy beermats" ZERO? PEANUTS-BOUGHT \?CND6 FSET PEANUTS,TAKEBIT FSET PEANUTS,TRYTAKEBIT ZERO? SANDWICH-BOUGHT /?PRG13 PRINTI ", and" JUMP ?PRG15 ?PRG13: PRINTC 44 ?PRG15: PRINTI " some packets of peanuts" ?CND6: ZERO? SANDWICH-BOUGHT \?PRG21 FSET SANDWICH,TAKEBIT FSET SANDWICH,TRYTAKEBIT PRINTI ", and a plate of uninviting " PRINTD SANDWICH PRINTI "es" ?PRG21: PRINTR "." .FUNCT MUSIC-F EQUAL? PRSA,V?ENJOY,V?LISTEN \FALSE ICALL PERFORM,V?LISTEN,JUKEBOX RTRUE .FUNCT JUKEBOX-F EQUAL? PRSA,V?LISTEN \?CCL3 PRINTI "The song is " RANDOM 100 LESS? 25,STACK /?CCL8 PRINTR "a Walker Brothers single, ""The Sun Ain't Gonna Shine Anymore.""" ?CCL8: RANDOM 100 LESS? 33,STACK /?CCL12 PRINTR """Get Back"" by the Beatles." ?CCL12: RANDOM 100 LESS? 50,STACK /?PRG19 PRINTR """Hey Jude"" by the Beatles (Footnote 4). It's a particular favourite, and listening to it calms you down, and cheers you up." ?PRG19: PRINTI """Tie a Yellow Ribbon.""" EQUAL? IDENTITY-FLAG,FORD \?CND21 PRINTR " You can't stand it, and are pleased to think that this is probably the last time it will ever be heard." ?CND21: CRLF RTRUE ?CCL3: EQUAL? PRSA,V?LAMP-OFF \FALSE CALL2 PRIVATE,STR?77 RSTACK .FUNCT BARMAN-F EQUAL? BARMAN,WINNER \?CCL3 EQUAL? PRSA,V?TELL-ABOUT \?CCL6 EQUAL? PRSO,ME \?CCL6 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-ABOUT,BARMAN,PRSI SET 'WINNER,BARMAN RTRUE ?CCL6: EQUAL? PRSA,V?HELLO \?CCL10 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?HELLO,BARMAN SET 'WINNER,BARMAN RTRUE ?CCL10: EQUAL? PRSA,V?GIVE \?PRG16 EQUAL? PRSO,ME \?PRG16 EQUAL? PRSI,PEANUTS,BEER,SANDWICH \?PRG16 ICALL PERFORM,V?BUY,PRSI RTRUE ?PRG16: PRINTR "The barman ignores you and keeps polishing the other end of the bar." ?CCL3: EQUAL? PRSA,V?ASK-FOR \FALSE EQUAL? PRSI,PEANUTS,BEER,SANDWICH \FALSE ICALL PERFORM,V?BUY,PRSI RTRUE .FUNCT BEER-F EQUAL? PRSA,V?COUNT,V?ENJOY,V?DRINK /?PRD5 EQUAL? PRSA,V?TAKE,V?RUB,V?SMELL \?CCL3 ?PRD5: FSET? BEER,NDESCBIT \?CCL3 PRINTR "You'd better buy some first." ?CCL3: EQUAL? PRSA,V?COUNT \?CCL11 PRINTR "Lots." ?CCL11: EQUAL? PRSA,V?TAKE \?CCL15 PRINTR "Just drink it!" ?CCL15: EQUAL? IDENTITY-FLAG,FORD \?CCL19 EQUAL? PRSA,V?BUY \?CCL22 FSET? BEER,NDESCBIT /?CND23 PRINTR "You already did!" ?CND23: FCLEAR BEER,NDESCBIT IN? ARTHUR,HERE \?PRG34 PRINTI "You order six pints of bitter -- three for you, three for Arthur. According to " PRINTD GUIDE PRINTI " this should" ICALL1 CUSHION CRLF CRLF PRINTR "As you drink the first pint, you mention to Arthur that you are from a different planet, but it makes little impression. This surprises you, because you thought it was the sort of thing that would interest people." ?PRG34: PRINTI "You buy yourself three pints, which you calculate you will need to" ICALL1 CUSHION PRINTI " This is a tip you picked up from " PRINTD GUIDE PRINTR "." ?CCL22: EQUAL? PRSA,V?ENJOY,V?DRINK \FALSE INC 'DRUNK-LEVEL IN? ARTHUR,HERE /?CCL42 PRINT DOWN-WELL CRLF RTRUE ?CCL42: EQUAL? DRUNK-LEVEL,1 \?CCL46 ADD SCORE,FORD-POINT >SCORE SET 'FORD-POINT,0 PRINT DOWN-WELL PRINTR " At least they managed to get something right on this benighted planet. You decide it's time to tell Arthur that the world is about to end. You tell him. Arthur is completely unperturbed. Curious. You wonder what sort of news it would take to disturb him." ?CCL46: EQUAL? DRUNK-LEVEL,2 \?PRG53 PRINT DOWN-WELL CALL1 SCENE-THROUGH-WINDOW RSTACK ?PRG53: PRINTR "You've had enough." ?CCL19: EQUAL? PRSA,V?ENJOY,V?DRINK \?CCL57 ADD SCORE,5 >SCORE INC 'DRUNK-LEVEL EQUAL? DRUNK-LEVEL,4 \?CCL60 PRINTI "You can hear the muffled noise of your home being demolished, and the taste of the beer sours in your mouth." CRLF CRLF ICALL PERFORM,V?GET-DRUNK,ROOMS RTRUE ?CCL60: EQUAL? DRUNK-LEVEL,3 \?CCL64 CALL QUEUE,I-FORD,-1 PUT STACK,0,1 SET 'HOUSE-DEMOLISHED,TRUE-VALUE SET 'PROSSER-LYING,FALSE-VALUE PRINTR "There is a distant crash which Ford explains is nothing to worry about, probably just your house being knocked down." ?CCL64: EQUAL? DRUNK-LEVEL,2 \?CCL68 PRINTR "It is really very pleasant stuff, with a very good dry, nutty flavour, some light froth on top, and a deep colour. It is at exactly room temperature. You reflect that the world cannot be all bad when there are such pleasures in it. Ford mentions that the world is going to end in about twelve minutes." ?CCL68: EQUAL? DRUNK-LEVEL,1 \FALSE PRINTR "It's very good beer, brewed by a small local company. You particularly like its flavour, which is why you woke up feeling so wretched this morning. You were at somebody's birthday party here in the Pub last night. You begin to relax and enjoy yourself, so when Ford mentions that he's from a small planet in the vicinity of Betelgeuse, not from Guildford as he usually claims, you take it in your stride, and say, ""Oh yes, which part?""" ?CCL57: EQUAL? PRSA,V?BUY \FALSE FSET? BEER,NDESCBIT \?PRG80 ICALL PERFORM,V?BUY,PEANUTS RTRUE ?PRG80: PRINTD FORD PRINTR " has already bought an enormous quantity for you!" .FUNCT PEANUTS-F EQUAL? IDENTITY-FLAG,FORD \?CCL3 EQUAL? PRSA,V?BUY \?CCL3 ZERO? PEANUTS-BOUGHT /?CND6 PRINTR "You did!" ?CND6: SET 'PEANUTS-BOUGHT,TRUE-VALUE MOVE PEANUTS,PROTAGONIST FCLEAR PEANUTS,TRYTAKEBIT FCLEAR PEANUTS,NDESCBIT PRINTI "You buy some peanuts, which you'll need to replace protein loss from the" PRINT BEAM PRINTI ", a tip you picked up from " PRINTD GUIDE PRINTR "." ?CCL3: EQUAL? PRSA,V?OPEN \?CCL13 PRINTR "Just eat 'em." ?CCL13: EQUAL? PRSA,V?ENJOY,V?EAT \?CCL17 ZERO? EARTH-DEMOLISHED /?CCL17 ZERO? GROGGY /?CCL17 SET 'GROGGY,FALSE-VALUE MOVE PEANUTS,PUB FSET PEANUTS,TRYTAKEBIT FSET PEANUTS,NDESCBIT PRINTI "You feel stronger as the peanuts replace some of the protein you lost in the" PRINT BEAM PRINTR "." ?CCL17: EQUAL? PRSA,V?BUY \?CCL24 EQUAL? HERE,PUB \?CCL24 PRINTR "However much you clear your throat, wave your forefinger, or wiggle your eyebrows, the barman pays no attention, but carries on wiping another part of the bar." ?CCL24: EQUAL? PRSA,V?EAT,V?TAKE \FALSE FSET? PEANUTS,TRYTAKEBIT \FALSE EQUAL? HERE,PUB \FALSE PRINT HANDS-OFF CRLF RTRUE .FUNCT SANDWICH-F EQUAL? PRSA,V?BUY \?CCL3 ZERO? SANDWICH-BOUGHT \?CCL3 MOVE SANDWICH,PROTAGONIST FSET SANDWICH,TAKEBIT FCLEAR SANDWICH,TRYTAKEBIT FCLEAR SANDWICH,NDESCBIT SET 'SANDWICH-BOUGHT,TRUE-VALUE PRINTI "The barman gives you a " PRINTD SANDWICH PRINTR ". The bread is like the stuff that stereos come packed in, the cheese would be great for rubbing out spelling mistakes, and margarine and pickle have performed an unedifying chemical reaction to produce something that shouldn't be, but is, turquoise. Since it is clearly unfit for human consumption you are grateful to be charged only a pound for it." ?CCL3: EQUAL? PRSA,V?BUY \?CCL9 PRINTR "You already did." ?CCL9: EQUAL? PRSA,V?ENJOY,V?EAT,V?TAKE \?CCL13 FSET? SANDWICH,TRYTAKEBIT \?CCL13 EQUAL? HERE,PUB \?CCL13 PRINT HANDS-OFF CRLF RTRUE ?CCL13: EQUAL? PRSA,V?ENJOY,V?EAT \FALSE MOVE SANDWICH,LOCAL-GLOBALS SUB SCORE,30 >SCORE EQUAL? IDENTITY-FLAG,FORD \?PRG26 PRINTI "You swallow with revulsion, astonished that life forms which have spent 4.6 billion years evolving cannot produce a better " PRINTD SANDWICH PRINTR " than this." ?PRG26: PRINTR "It is one of the least rewarding taste experiences you can recall." .FUNCT I-VOGONS CALL QUEUE,I-VOGONS,-1 PUT STACK,0,1 INC 'VOGON-COUNTER EQUAL? VOGON-COUNTER,1 \?CCL3 EQUAL? HERE,PUB \?CND4 ICALL1 GO-TO-LANE ?CND4: MOVE FLEET,HERE CRLF EQUAL? IDENTITY-FLAG,FORD \?PRG11 MOVE ARTHUR,HERE PRINTI "Right on schedule (according to the news you picked up last night on your Sub-Etha Sens-O-Matic), a huge " PRINTD FLEET PRINTR " hurtles noisily through the sky. Time is very, very short. Storms break in the wake of the ships, the wind whips at you and makes it difficult to stand. You grab hold of a tree." ?PRG11: PRINTI "With a noise like a cross between Led Zeppelin's farewell concert and the eruption of Krakatoa, a huge " PRINTD FLEET PRINTI " flies overhead and announces that the Earth will be demolished to make way for a new hyperspace bypass in ""two of your Earth minutes.""" CRLF IN? FORD,HERE \?CND13 ZERO? FORD-COUNTER \?CND13 MOVE FORD,LOCAL-GLOBALS CALL2 INT,I-FORD PUT STACK,0,0 SET 'FORD-GONE,TRUE-VALUE MOVE TOWEL,HERE FCLEAR TOWEL,TRYTAKEBIT CRLF PRINTI "Ford drops the towel and dashes away." CRLF ?CND13: CALL2 HELD?,THING ZERO? STACK /FALSE MOVE THING,LOCAL-GLOBALS CRLF PRINTI "In all the turmoil, " IN? THING,GOWN \?PRG29 PRINTI "the " PRINTD THING PRINTI " drops out of your pocket and rolls away." JUMP ?PRG31 ?PRG29: PRINTI "you drop the " PRINTD THING PRINTI " and it rolls away." ?PRG31: PRINTI " It is the least of your worries. Anyway," PRINT GET-RID CRLF RTRUE ?CCL3: EQUAL? VOGON-COUNTER,2 \?CCL34 CRLF PRINTI "The vast yellow ships thunder across the sky, spreading waves of terror and panic in their wake. The voice of the " PRINTD VOGON-CAPTAIN PRINTI " slams across the country, insisting that the planning charts and demolition orders have been available at the local planning office in Alpha Centauri for fifty years and it's too late to start making a fuss about it now." CRLF ZERO? FORD-GONE \TRUE CRLF EQUAL? IDENTITY-FLAG,FORD \?CCL41 CALL HELD?,THUMB,PROTAGONIST ZERO? STACK /?PRG54 IN? THUMB,PROTAGONIST \?PRG50 PRINTI "The " PRINTD THUMB PRINTI " in " PRINTD HANDS PRINTI " begins to whine." JUMP ?PRG52 ?PRG50: PRINTI "You remove the " PRINTD THUMB PRINTI " from your satchel." ?PRG52: PRINTI " Lights pulsate across its surface. " PRINT THUMB-FUMBLE MOVE THUMB,HERE SET 'P-IT-OBJECT,THUMB JUMP ?PRG56 ?PRG54: PRINTI "You wish you were holding your " PRINTD THUMB PRINTC 46 ?PRG56: PRINTR " Arthur is struggling desperately towards you. The end of this planet is now only seconds away." ?CCL41: MOVE THUMB,HERE SET 'P-IT-OBJECT,THUMB PRINTR "Throughout the noise, Ford is shouting at you. He removes a small black device from his satchel, but accidentally drops it at your feet." ?CCL34: EQUAL? VOGON-COUNTER,3 \?CCL61 CRLF PRINTI "Fierce gales whip across the land, and thunder bangs continuously through the air in the wake of the giant ships. " EQUAL? IDENTITY-FLAG,ARTHUR \?CCL66 ZERO? FORD-GONE \?CCL66 PRINTI "Ford fights to reach you, but the wind is too fierce. Further announcements from the " PRINTD VOGON-CAPTAIN PRINTR " make it clear that demolition will begin in just a few seconds. Through the blinding rain, you see lights flickering on the small device." ?CCL66: EQUAL? IDENTITY-FLAG,FORD \?CCL72 IN? THUMB,HERE \?CCL72 ZERO? FLUFF-TO-GOWN /?PRG77 FSET COUNTRY-LANE,REVISITBIT ?PRG77: PRINT DRIVEN-BACK PRINTI " Fortunately, at this point, Arthur picks up the Thumb, and somehow manages to push the right button" FSET? THUMB,MUNGEDBIT \?PRG88 PRINTI ". Unfortunately, the" PRINT THUMB-CLICKS SET 'VOGON-COUNTER,4 PRINTC 32 ICALL1 I-VOGONS RTRUE ?PRG88: PRINTC 46 CRLF CRLF ICALL2 JIGS-UP,STR?79 RTRUE ?CCL72: CRLF RTRUE ?CCL61: EQUAL? VOGON-COUNTER,5 \FALSE PRINTI "The Earth is destroyed by the " PRINTD FLEET ZERO? FLUFF-TO-GOWN /?CND94 FSET COUNTRY-LANE,REVISITBIT ?CND94: ICALL2 JIGS-UP,STR?36 RTRUE .FUNCT GO-TO-LANE SET 'LYING-DOWN,FALSE-VALUE CRLF PRINTI "You hear sounds of panic from the street. You " EQUAL? IDENTITY-FLAG,FORD \?CCL5 IN? ARTHUR,HERE /?CCL5 PRINTI "leave the Pub and run into Arthur..." CRLF CRLF JUMP ?CND3 ?CCL5: EQUAL? IDENTITY-FLAG,FORD \?PRG15 PRINTI "and Arthur" JUMP ?PRG17 ?PRG15: PRINTI "and Ford" ?PRG17: PRINTI " rush outside..." CRLF CRLF ?CND3: ICALL2 GOTO,COUNTRY-LANE EQUAL? IDENTITY-FLAG,FORD \?CCL21 MOVE ARTHUR,COUNTRY-LANE RTRUE ?CCL21: MOVE FORD,COUNTRY-LANE RTRUE .FUNCT FLEET-F EQUAL? PRSA,V?ENJOY \?CCL3 PRINT ZEN CRLF RTRUE ?CCL3: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?CCL7 SET 'AWAITING-REPLY,11 CALL QUEUE,I-REPLY,2 PUT STACK,0,1 PRINTR "From here?" ?CCL7: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,HOLD,AIRLOCK,CAPTAINS-QUARTERS /FALSE PRINTR "The fleet consists of terrifying numbers of huge, ugly, yellow ships, all scarred with the results of many such past demolition jobs. Chicago's John Hancock tower, knocked about a bit and painted yellow, is what they each look like. That is, knocked about a bit, painted yellow, and flying." .FUNCT LEAVE-EARTH CALL2 INT,I-HOUSEWRECK PUT STACK,0,0 CALL2 INT,I-BULLDOZER PUT STACK,0,0 CALL2 INT,I-PROSSER PUT STACK,0,0 CALL2 INT,I-FORD PUT STACK,0,0 CALL2 INT,I-VOGONS PUT STACK,0,0 SET 'HEADACHE,FALSE-VALUE SET 'BULLDOZER-COUNTER,0 SET 'PROSSER-COUNTER,0 SET 'PROSSER-LYING,FALSE-VALUE SET 'FORD-COUNTER,0 SET 'DRUNK-LEVEL,0 SET 'HOUSE-DEMOLISHED,FALSE-VALUE SET 'VOGON-COUNTER,0 SET 'EARTH-DEMOLISHED,TRUE-VALUE SET 'IDENTITY-FLAG,ARTHUR MOVE ARTHUR,GLOBAL-OBJECTS MOVE DOG,LOCAL-GLOBALS MOVE FLEET,LOCAL-GLOBALS MOVE FORD,LOCAL-GLOBALS CALL2 HELD?,SANDWICH ZERO? STACK \?CND1 ZERO? SANDWICH-BOUGHT /?CND1 MOVE SANDWICH,LOCAL-GLOBALS ?CND1: FSET BEER,NDESCBIT FCLEAR PROSSER,TOUCHBIT FCLEAR FRONT-OF-HOUSE,NDESCBIT FCLEAR FRONT-OF-HOUSE,TOUCHBIT FCLEAR COUNTRY-LANE,TOUCHBIT RTRUE .FUNCT ARTHUR-F EQUAL? IDENTITY-FLAG,ARTHUR \?CCL3 EQUAL? ARTHUR,PRSO \?CCL6 ICALL PERFORM,PRSA,ME,PRSI RTRUE ?CCL6: ICALL PERFORM,PRSA,PRSO,ME RTRUE ?CCL3: EQUAL? ARTHUR,WINNER \?CCL8 IN? FLEET,HERE \?CCL11 PRINT ABOVE-NOISE CRLF JUMP ?CND9 ?CCL11: EQUAL? PRSA,V?FOLLOW \?CCL15 EQUAL? HERE,FRONT-OF-HOUSE \?CCL15 EQUAL? PRSO,ME \?CCL15 ZERO? PROSSER-LYING /?CCL21 PRINTI "Arthur seems willing to do so." CRLF JUMP ?CND9 ?CCL21: ICALL2 BUT-THAT-MAN,STR?81 CRLF JUMP ?CND9 ?CCL15: EQUAL? PRSA,V?DRINK \?PRG33 EQUAL? PRSO,BEER \?PRG33 FSET? BEER,NDESCBIT \?PRG31 SET 'WINNER,PROTAGONIST ICALL PERFORM,V?DRINK,BEER SET 'WINNER,ARTHUR RTRUE ?PRG31: PRINTI "Arthur seems to be waiting to follow your lead." CRLF JUMP ?CND9 ?PRG33: PRINTI "Arthur looks too confused to respond." CRLF ?CND9: CALL1 FUCKING-CLEAR RSTACK ?CCL8: EQUAL? PRSA,V?ASK-FOR,V?TELL,V?HELLO /?PRD38 EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT \?CCL36 ?PRD38: EQUAL? IDENTITY-FLAG,TRILLIAN \?CCL36 EQUAL? PRSO,ARTHUR \?CCL36 ZERO? FLUFF-REMOVED /?PRG45 FSET ARTHUR,RLANDBIT ICALL1 I-ARTHUR JUMP ?CND42 ?PRG45: PRINTI "You approach Arthur. He seems to find your tone a little cool, smiles unhappily, and wanders to the other end of the room." CRLF ?CND42: CALL QUEUE,I-ARTHUR,2 PUT STACK,0,1 CALL1 FUCKING-CLEAR RSTACK ?CCL36: EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT,V?TELL-ABOUT \?CCL48 EQUAL? PRSO,ARTHUR \?CCL48 EQUAL? IDENTITY-FLAG,TRILLIAN \?CCL48 ICALL PERFORM,V?HELLO,ARTHUR RTRUE ?CCL48: EQUAL? PRSA,V?CARVE \?CCL53 EQUAL? PRSI,MEMORIAL \?CCL53 ICALL PERFORM,V?CARVE,YOUR-NAME,MEMORIAL RTRUE ?CCL53: EQUAL? PRSA,V?GIVE \?CCL57 EQUAL? PRSO,TOWEL \?CCL57 EQUAL? HERE,FRONT-OF-HOUSE \?CCL57 ZERO? TOWEL-OFFERED \?CCL57 SET 'TOWEL-OFFERED,TRUE-VALUE PRINTI "Inexplicably, Arthur takes no notice of the towel which, magnificently, you are trying to return to him. Instead, he says, ""Ford, what about my home?"" You start guiltily. Does he actually KNOW that the Earth is about to be destroyed? You start to ask him, then stop. If he knows, what the Zark is he doing lying here in the mud in front of... You look around. You notice the " PRINTD BULLDOZER PRINTI " properly for the first time. You notice Arthur's house. You notice the workmen. The penny drops. His HOUSE is about to be demolished. You feel like a complete...what's the word?" CALL1 IDIOT? ZERO? STACK /?PRG69 PRINTI "Thank you. An idiot is exactly what you feel like." JUMP ?PRG71 ?PRG69: PRINTI "No, actually, ""idiot"" was the word I was looking for." ?PRG71: CRLF CRLF PRINTI "In a reckless moment you go completely mad and decide that you ought to take Arthur with you. You try to tell Arthur about the importance of getting a drink, but he's rambling on about a man called Prosser." CRLF RETURN 2 ?CCL57: EQUAL? PRSO,SANDWICH \?CCL76 EQUAL? PRSA,V?GIVE \?CCL76 MOVE SANDWICH,ARTHUR PRINTR "Arthur takes it, sniffs it suspiciously, and wisely decides that it's safer in his pocket than in his stomach." ?CCL76: EQUAL? PRSA,V?GIVE \?CCL82 EQUAL? PRSO,SATCHEL-FLUFF \?CCL82 ZERO? HOUSE-DEMOLISHED /?PRG90 MOVE SATCHEL-FLUFF,LOCAL-GLOBALS SET 'FLUFF-TO-GOWN,TRUE-VALUE PRINTR "Arthur hiccups, takes the fluff, and sticks it in his pocket." ?PRG90: PRINTR "Arthur blinks several times, but doesn't take the fluff. Perhaps if he had a few drinks in him..." ?CCL82: EQUAL? PRSA,V?EXAMINE \?CCL93 EQUAL? IDENTITY-FLAG,TRILLIAN \?CCL93 PRINTI "Arthur seems nice and well meaning, but also terribly shy." ZERO? FLUFF-REMOVED \?CND98 MOVE JACKET-FLUFF,HERE CALL QUEUE,I-ARTHUR,-1 PUT STACK,0,1 PRINTI " He has tried to start a " PRINTD CONVERSATION PRINTR " with you several times, but still hasn't gotten past ""Hello."" He has an enormous, unsightly ball of fluff on his jacket." ?CND98: CRLF RTRUE ?CCL93: EQUAL? PRSA,V?FOLLOW \?CCL103 EQUAL? FOLLOW-FLAG,4 \?CCL103 CALL2 DO-WALK,P?EAST RSTACK ?CCL103: EQUAL? PRSA,V?PICK-UP \?CCL107 EQUAL? IDENTITY-FLAG,TRILLIAN \?CCL107 ICALL PERFORM,V?PICK-UP,ZAPHOD RTRUE ?CCL107: EQUAL? PRSA,V?LISTEN \FALSE EQUAL? IDENTITY-FLAG,TRILLIAN \FALSE ZERO? FLUFF-REMOVED /FALSE PRINTR "Unfortunately, you seem to have no choice." .FUNCT IDIOT? CRLF CRLF PRINTC 62 PUTB P-INBUF,1,0 READ P-INBUF,P-LEXV GET P-LEXV,1 EQUAL? STACK,W?IDIOT /TRUE RFALSE .FUNCT I-UNEASY INC 'UNEASY-COUNTER EQUAL? HERE,PUB /?CND1 CALL2 INT,I-UNEASY PUT STACK,0,0 RFALSE ?CND1: CRLF EQUAL? UNEASY-COUNTER,1 \?CCL5 PRINTR "You feel uneasy about something." ?CCL5: EQUAL? UNEASY-COUNTER,2,3,4 \?PRG12 PRINTR "You still feel uneasy." ?PRG12: PRINTI "The sense of uneasiness you've been so busy ignoring now utterly engulfs you, as you realise that you've broken the fundamental rule of time travel: ""Do as you would have done by."" The rational foundation of the Universe crashes and within a few seconds the whole of creation ceases ever to have exis" CRLF CRLF CRLF QUIT RTRUE .FUNCT I-ARTHUR CALL QUEUE,I-ARTHUR,-1 PUT STACK,0,1 EQUAL? IDENTITY-FLAG,TRILLIAN \?CCL3 ZERO? FLUFF-REMOVED /?CCL6 FSET? ARTHUR,RLANDBIT /?CND7 CRLF ?CND7: FCLEAR ARTHUR,RLANDBIT IN? ARTHUR,HERE /?PRG14 MOVE ARTHUR,HERE PRINTR "Arthur follows you like an eager puppy." ?PRG14: PRINTI "Arthur tries, unsuccessfully, to interest you by talking about " CALL2 PICK-ONE,BORES PRINT STACK CRLF RTRUE ?CCL6: RANDOM 100 LESS? 20,STACK /FALSE MOVE ARTHUR,HERE MOVE JACKET-FLUFF,HERE CRLF PRINTR "Arthur walks up and says, ""Hello, again."" He looks shy, embarrassed and stuck for anything else to say, and quickly walks to the other end of the room." ?CCL3: IN? ARTHUR,HERE /FALSE MOVE ARTHUR,HERE PRINTR "Arthur follows you." .FUNCT SCENE-THROUGH-WINDOW MOVE ARTHUR,FRONT-OF-HOUSE CALL2 INT,I-ARTHUR PUT STACK,0,0 SET 'HOUSE-DEMOLISHED,TRUE-VALUE SET 'PROSSER-LYING,FALSE-VALUE SET 'FOLLOW-FLAG,4 CALL QUEUE,I-FOLLOW,2 PUT STACK,0,1 PRINTI " You hear a muffled crash. It's probably Arthur's little house getting knocked down, which you tell him. This DOES upset him, and he tears out the door. Through the window, you see him running up the lane. A small dog chases after him, yapping, " ZERO? DOG-FED \?CTR4 IN? SANDWICH,ARTHUR \?PRG10 ?CTR4: SET 'DOG-FED,TRUE-VALUE PRINTI "and he throws it a " PRINTD SANDWICH PRINTI ". The dog devours the sandwich" PRINT WITH-PASSION CRLF RTRUE ?PRG10: PRINTR "but he ignores it. The dog gulps uncomfortably." .ENDI