"XJET for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." "New Bywater theory" ; "Put smoker/non-smoker in next seat." T> ) ( > ) ( > ) (> ; "Not on the plane" T) ( T) (T <>)>> "Basic airplane stuff. Aisle to move around in, seats to sit in, etc." ; "Generic AISLE room..." ) (NEWVAL <>)) ,ROW-SEEN-BIT>>> T) (T <>)>) (T ,ROW-SEEN-BIT>) (T >)>>)>> )> ,STARBOARD-DIVISOR> *17*>) (T <* .NEW ,STARBOARD-DIVISOR>>>)>> )> ,PORT-DIVISOR> *17*>) (T >>)>> )> )> .N> ;>>> ; "Starboard side" ) (T )>)>> > ,ALL-SEATS>> > ,ALL-SEATS> ) (<0? .SEAT-MASK> ) (T > > > >) ( > >>>> >) (T .FF? T) (T <>)>>)> > > 4> )>>)> ) (<==? .RARG ,M-BEG> ,ALL-SEATS>> >>> )>> T) (T <>)>) ( <>) ( > > ,M-EXIT>>> )> )> )> > T) ( ) ( T) ( T) ( T) (T <>)>) (T <>)>> ) (T )> " and " CHAR >> " are " .TAILSTRING> ) (T )>> )>> ) "AUX" (NEW-ROW ) (NEW-SEAT )) <==? .NEW-ROW ,CURRENT-ROW> <==? .NEW-SEAT ,CURRENT-SEAT>> T) (T <>)>) ( <>) ( > <>) (T T)>) (T <>)>> "OPT" (ROW: <>)) )> )> .SEAT> ;>>> T) (T <>)>> FF? "OPT" (LAST? <>) "AUX" PERS) >> ) (T )>) (T )> ) (T )>> %) (<==? .N ,SEAT-B> %) (<==? .N ,SEAT-C> %) (<==? .N ,SEAT-D> %)>> )) ) (T )> >> > "Wander the aisle. Front goes to Galley, back goes to area outside lavatory." )) ,GALLEY>> )>> ,GALLEY) (T > > )> > ,AISLE)>) (<==? ,P-WALK-DIR ,P?SOUTH> ,LAV-LOBBY) (T > > )> > ,AISLE)>)>> >> >)> > ; "North is forward, so east is to C & D" ) (T )> > > > <>) (> <>) ( ,SEAT) ( ,SEAT)>> ; "Miscellany around the seat." <>) ( T) (T T)>) ( T) (T )>)>> )) )>) ( <>) ( )>)>> <>) ( > > ) (> ) (T )>) ( ) ( ) (T )>)>> >> ,AISLE-COUNT) (<==? .OFFS ,AISLE-COUNT> .OFFS) (T )>> )> ) (T >)> >) (T ) (T >)> >)>> .START> ) (SEAT )) ) (T )> > ) (SEAT ) WHO) <==? .SEAT ,SEAT-A> >> ) (> ) (T )> ) (T )>> )) ) (T > ) (T )> )>)>> 2>>> ) (SEAT ,CURRENT-SEAT) (BIT .SEAT) OFFS BITS WHICH) > >)> >>> )> >>> .BIT> ; "Lights already on" >> ) (T >)> > >> > -1> ) (T )> ) (T <>)>> )>> )>> ) (T )> T) (T <>)>> > >) (T CHAR >>)>> T) (T <>)>> <==? ,P-WALK-DIR ,P?WEST>> <==? ,P-WALK-DIR ,P?EAST>> <==? ,P-WALK-DIR ,P?OUT>> ; "Move into the aisle" ,AISLE) ( <==? ,CURRENT-SEAT ,SEAT-D>> <>) (T >>) (T >>)> > ) (T )> <>) (T ,SEAT)>)>> > ".\"" CR> T) (T <>)>> ; "The seat itself" > >> T) (T <>)>> ) "AUX" (NEW-ROW ) (NEW-SEAT )) " on your unbelievably luxurious Air Zalagasa flight to wherever it is you're going." CR> > ) (T )> )> > > )> )> T) (<==? .CONTEXT ,M-BEG> > ) ( > T) (T <>)>) (<==? .CONTEXT ,M-EXIT> T) (T )>)>) ( <>) (> ) ( )> T) ( > ) (T )>)>) ( T) ( > ) (T T)>) ( ,M-EXIT>>> )> <==? ,CURRENT-ROW .NEW-ROW> <==? ,CURRENT-SEAT .NEW-SEAT>> ) ( ) ( ) (T )> )>) (T )> > )> T) ( <==? .NEW-ROW ,CURRENT-ROW>> ) ( 0> >)> ) (T )>) (> T) ( ) (T )>) ( ) (T )>)>> )> > > )> > <==? ,CURRENT-ROW 3> > >> ) ( >> >>> )>)>> > > )) > <==? ,CURRENT-SEAT > > ; "Just returned to previous seat, so OK" T) (T > > )> > )> > )> >> 0> "! Please don't let it happen again.\"" CR CR> )>)>)>> )) "Ma'am") (T "Sir")>) (,SEX "ma'am") (T "sir")>> "Get personal belongings out of seat, and give them to steward for return." ) "AUX" NOBJ LEN (N 0)) > > >)> >> > > > )> ) (T >)> )>>)> .N> > ; "Make sure we've got a good seat number, and set things up so the parser will like it." >> ) (NMLEN )) > > )>)>)> > T) (T <>)>) (T <>)>) (T <>)>) (T <>)>> ) (NMLEN ) TAB) > <>) ( ,LAV-LOBBY) (> 2>> 2>>> ,LAVATORY) ( ; "Random person/object" ) (VEC ) (COULD-BE-PERSON? <>) TMP (WIN? <>) ONAM) > ; "Kludged due to compiler bug" <==? .ADJ >> <==? .NAM .ONAM>> )>)> <==? .NAM .ONAM>> )>)> > ,OBJECT-BREAK> ) ( >> ; "Don't recognize any of these guys except when they're actually present." ) (T )> ) (T ; "Allow search to continue, since there may be other matches later in the vector." )>)> > 3> )> .MATCH>)> > >>) ( > <==? .ADJ ,W?INTNUM> > ) (T >)> )> ,SEAT-A) (<==? .NAM ,W?C> ,SEAT-B) (<==? .NAM ,W?D> ,SEAT-C) (<==? .NAM ,W?E> ,SEAT-D)>> ,SEAT)>) ( > > >)> ,SEAT) ( <==? .NAM ,W?INTNUM>> > ,FATAL-VALUE) (T ,AISLE)>) ( > 1>> >> > ,FATAL-VALUE) (T ,SEAT)>)>> ;"Object for useless random objects on the airplane: the escape hatch, etc." > > > > > > )) ) (<==? .WHICH ,HATCH-OBJECT> ) (<==? .WHICH ,GRANDCHILDREN-OBJECT> ) (<==? .WHICH ,MEAL-OBJECT> ) (<==? .WHICH ,BABY-OBJECT> ) (<==? .WHICH ,MOVIE-OBJECT> )>> T) (T <>)>> ) "AUX" (WHICH ) STR) ) ( <>) (> "the hatch">) ( <>) ( 1> ) (T )>) ( 0> ) (T )>) ( > ) (T > ) (T )> )>) ( ) (T )>) ( T) ( T) (T T)>) ( ) ( <==? ,HERE ,OUTSIDE-PLANE>> T) (T <>)>) (<==? .WHICH ,MOVIE-OBJECT> > ) ( <>) ( ) ( > > ) (T )>)>) (<==? .WHICH ,BABY-OBJECT> > ) ( ,MOMMA-PERSON> ) ( ) ( )>) ( <==? .WHICH ,RECIPE-OBJECT>> > ,BUSINESS-PERSON>> ) ( ) (T )> T) ( ) ( <==? ,BUSINESS-PERSON>> <>) (T )>) (T <>)>)>) (<==? .WHICH ,GRANDCHILDREN-OBJECT> > ) ( <==? ,PRSO ,RANDOM-PERSON> <==? ,GRANDMA-PERSON>> <>) (T )>)>> ,HATCH-OBJECT <> ,HATCH-OBJECT <> ,HATCH-OBJECT <> ,FORM-OBJECT ,FORM-OBJECT ,FORM-OBJECT ,FORM-OBJECT ,FORM-OBJECT ,VISA-NUMBER-OBJECT ,VISA-NUMBER-OBJECT ,VISA-NUMBER-OBJECT ,VISA-NUMBER-OBJECT ,VISA-NUMBER-OBJECT ,GRANDCHILDREN-OBJECT <> ,GRANDCHILDREN-OBJECT <> ,GRANDCHILDREN-OBJECT <> ,GRANDCHILDREN-OBJECT <> ,GRANDCHILDREN-OBJECT <> ,GRANDCHILDREN-OBJECT ,GRANDCHILDREN-OBJECT ,GRANDCHILDREN-OBJECT ,GRANDMA-PERSON <> ,GRANDMA-PERSON <> ,GRANDMA-PERSON ,COMPUTER-OBJECT ,COMPUTER-OBJECT ,COMPUTER-OBJECT ,COMPUTER-OBJECT ,COMPUTER-OBJECT <> ,COMPUTER-OBJECT ,BUSINESS-PERSON ,BUSINESS-PERSON <> ,BUSINESS-PERSON ,BABY-OBJECT ,BABY-OBJECT ,BABY-OBJECT ,MOMMA-PERSON <> ,MOMMA-PERSON ,MOMMA-PERSON <> ,MOMMA-PERSON ,MOVIE-OBJECT ,MOVIE-OBJECT ,SMOKER-PERSON ,SMOKER-PERSON <> ,SMOKER-PERSON>> > )) <>) (T <>)>> ) "AUX" (HO )) <>) ( > > 4> "> > )> T) (T T)>) (<==? .CONTEXT ,M-EXIT> <>) (T <>)>) (T <>)>> ) ( )>)>> > )> > >> )> <>) (<==? .CONTEXT ,M-EXIT> <>) (<==? .CONTEXT ,M-BEG> > ) (T )> T) ( > ) (T )> > T) ( T)>) ( <>) (> ) ( ) (T )> T)>)>)>> <>) ( T) ( ; "This will unlock the door, and check for waking up at the end of the food scene." T) (T T)>) (T <>)>) ( ) (T )>) ( ) (T )>) (T <>)>> > > )>)> .IB>> )) .LEN> ,RECEPTACLE) (T <>)>> > ) (T )> T) ( > ) (T )> T) ( T) (T <>)>) ( > ) (T )> T) ( T) (T <>)>> )) > )> <>) ( > > )> <>) ( ) (T )> T) ( <>) (> <>) (T >)> T)>) ( > > T) (T T)>) ( T) ( > T) ( T) (T <>)>> > ) (T > )> T> > T) (> T) (T T)>> > > 3> > > ,NUMBER-OF-TUNES> )> >> )>)> .PHONES>> > > >> ) ( ) ( ) ( )> ) (T )> > > )) > > >> ) (T )> ) ( ) (T )> ) ( > )> > ) (MALE <>)) >)> 0 .XFEMALE>)>) (T >)> 0 .MALE>)>)> > > ,W?STEWARDESS ,W?STEWARD> ) (T )>> > > "?\"" CR> > > )"AUX" LOSERS-ROW) ) ( ) ( )>) ( <>) ( <>) ( ", but I'm not authorized to say anything about that.\"">)>)>) ( > ) (T )>) (T ,FATAL-VALUE) (T T)>)>> > .IRTS>)> >)> > )> T> ) "AUX" (SJ? <>)) > <>) ( >> ) (T )> ". People who don't pay attention to our regulations can't be permitted to continue on the flight. Why, you could be hurt!\" " " looks thoughtful for an instant, and then reaches a decision" ,PCR> ; "You dead, Jack" <>) (T T)> .SJ?> T) (T T)>> > )) )>) ( <>) (T T)>> ;"meal-state: 1: meal has been served (always what the loser didn't want) 2: meal done (loser either mungs it or eats it). If doesn't happen within five moves, give warning. If eaten, go to state 4. 3: if meal still not eaten, throw loser off. Otherwise, to state 4. 4: bad breath noticed--neighbor looks slightly green, rings for stewardess, who produces toothbrush, suggests using it. 5: after enough moves to get to lavatory, if not there, throw off for having bad breath. 6: in lavatory, immediately run return-to-seat. 7: If don't wipe sink, throw off for that as soon as leaves seat; otherwise, too late on return to seat, throw off for that." > > )>) (> ; "Too late, loser" > )>) (T )> > )) 5>> <>) (T > >> > ; "Time to serve meal" "? The Chicken Kiev, or the Peking Duck?\"" CR> )) > ) ( >) (T )> ", we're all out of that. Would you like the "> ) (T )> >> ; "5 moves to eat it" ) (T ; "Naughty, naughty" )>>) ( <0? .Y>> ; "Counter ran out" > ; "Meal eaten" )> ; "Ready to offend neighbor" ) ( <>) (T "! We can't have this! Our chef would be mortally wounded if she discovered that one of her meals was wasted. Why not make it easy on yourself and eat the food? I'm told it's absolutely scrumptious.\"" CR " stands in the aisle, watching you." CR> ; "Now have two moves to eat the damn food, otherwise thrown off." )>) (<==? .X 3> > " takes your plate and hurries off." CR> ) (T ".\"" CR CR> ; "Tsk." )>) (<==? .X 4> ; "Anybody in neighborhood notices stench." > <>) (T T)>) (<==? .X 5> <>) (T ", but some of our passengers have noticed that you're suffering from halitosis. In fact, they suggest that they may be forced to use their discomfort bags if something isn't done about it.\" " " is starting to look a little green. \"I think it would be a very good idea for you to use this, before we have to take stronger measures.\"" CR CR " hurries off, leaving you holding " A ,TOOTHBRUSH ,PERIOD> >) (<==? ,HERE ,GALLEY> ) (T )>)>) (<==? .X 6> > <>) (T ", but we gave you every chance. For the sake of everyone's health, we're going to have to do something about this.\"" CR CR> ; "Die" )>)>) (<==? .X 7> >> ". You brushed your teeth in the lavatory, and left quite a mess in the sink. You're being most discourteous to your fellow passengers, " ". We can't tolerate this sort of behavior on a civilized airline.\" " " is now accompanied by a hefty young man who looks a little too eager for action" ,PCR> ; "Too bad" ) (> )> T) (T <>)>)>)>)>> T)>> )>)>> ) ( >> ) (T )>> ) ( )>) ( ) ( )>) ( ) (T )>)>> ",\" says the attendant." CR> T) ( > ) ( T) ( ) (T )>) ( ) ( ) (T )>)>) ( )>)>> > > ) ( )>) ( > T) ( ) ( )> ) ( )> ) ( > > )> )>)> )> .CHUTE>) ( > ) ( ) ( )> )> T) ( T) (> ) ( T) ( T) ( ) (T )> T) (T <>)>> ) (T ) (T > > >> ) (T )>)>)> T> ) ( )> T> > T) ( <>) ( )> T) ( T) (T <>)>> T> T> ) (T )> T> )) )> T) (T <>)>> )) ) (T )> T) (T <>)>> > T) (T <>)>> "Code for other passengers" "Initialize state of seating: all rows are full, except for smoker/non-smoker rows, which we handle on boarding. Other four people are put randomly around plane, no more than one per row." > > > > 1> > ) (T >)> ,ALL-SEATS> > ; "Seat to leave blank" ) (T )> > )> >> ; "Set up personality in seat next to blank seat" >)> )>>> > > >> >> >>)> > " " > " with " >>> > )) .N>> <==? .N>> T) (T <>)>> <==? .N>> T) (T <>)>> <==? ,PRSI ,AIRLINE-MEAL> >> > ) "AUX" (OWINNER ,WINNER) VAL) > .VAL> >)> ; "FOO, HELLO becomes HELLO FOO" T) ( > ) ( > ) ( T) ( > ; "FOO, GIVE ME BAR becomes TAKE BAR FROM FOO" ) ( > >> ) (T >)>)> T) ( ) (T <>)>) ( >)> )> ) (<==? .N ,GRANDMA-PERSON> )> ) (<==? .N ,BUSINESS-PERSON> ) (T )>) (<==? .N ,MOMMA-PERSON> ) (T )>)>) ( <>) ( > >)> T) ( > ) ( > ,FATAL-VALUE) (T <>)>) (<==? .N ,GRANDMA-PERSON> ) (<==? .N ,SMOKER-PERSON> ) (<==? .N ,BUSINESS-PERSON> ) (<==? .N ,MOMMA-PERSON> )>) (<==? .N ,GRANDMA-PERSON> ) (<==? .N ,SMOKER-PERSON> ) (<==? .N ,BUSINESS-PERSON> ) (<==? .N ,MOMMA-PERSON> )>> ) (T >)>> > ) (T )>) ( ) ( >> > )> ) ( ) (T )> ) ( ) (T )>) ( )>> > <>) ( T) (T <>)>> > > ) ( > )>) (> ) (T )>)>> > ; "boy touching..." > ) (T T)>) (T )>) ( ) ( > ) (T )>) ( >> > ) (T )>) (T )>) ( ) ( ) (T <>)>> > ) (T )> ) ( > ) (T )>)>> > ) (T )>) ( > ) (T )>) ( > ) (> ) (T )>) ( ) ( > ) ( > ) (T )>) ( ) (T )>) ( )>> > ) (T )>) ( )>> > )>) ( ) (T )>) ( )>> 8> )>> > ) (T )>) ( ) ( > ) (T )>) ( ) (T )>) ( )>> T) ( T) (T )>)>) ( ) ( ) ( T) (T )>)>>