"EVENTS for WITNESS Copyright (C) 1983 Infocom, Inc. All rights reserved." "Ideas: insurance policy - fraud? nosy neighbor? fingerprint two-color picture" > )> > > > > > > > > > >> "SCORE INDICATES HOURS / MOVES = MINUTES" "8 PM" "from L.A. Times of 1938-02-18" "sun crosses horizon at Pasadena on 1938-02-19" > ,OUTSIDE-LINE-C>)) > ) (T )> >) (<==? 2 ,I-WEATHER-NUM> ) (T )> >) (<==? 3 ,I-WEATHER-NUM> )> >) (<==? 4 ,I-WEATHER-NUM> )> >) (<==? 5 ,I-WEATHER-NUM> )> >) (<==? 6 ,I-WEATHER-NUM> )> >>) (<==? 7 ,I-WEATHER-NUM> >>) (<==? 8 ,I-WEATHER-NUM> >>) (<==? 9 ,I-WEATHER-NUM> )> >) (<==? 10 ,I-WEATHER-NUM> )> )> > > > > > >)> ) (<==? 2 .HR> ) (T )> ) (T )>)> > ) ( 3>>>> )>> > > ) (T )> > > > > )> > ) "AUX" (L )) ;"? or sees you thru door" >>>>> > )>> "Object functions" > )) ) (,FINGERPRINT-OBJ )> )> )> ) (T >)> >>> > > )> > ) ( ) (T )> > )> ) ( > ) (> )>) ( > ) ( ) ( ;)> )>) (<==? ,FINGERPRINT-OBJ ,CLOCK-POWDER> ) ( ) ( ) ( ) (T )> > > > ) (T )>)>> > )> >)> ) (,TOO-LATE ; ) (T ) (T )> >)>> ) (T )> >> >) (T )> )> > )> > > >) (T > ) (T )> >) ( >) (T >)> )> > > > > > > >> ) (T )> > )> )>> )) > > )> ) (>> ,FURNITURE> )> ) (T )> )> > .VAL> ) ( ,ROOMS> > ) (T )> >) (T >)>> > )>> > >> ) ( ,WOODEN-CHAIR ,LOUNGE>>> )> ; ) (<==? ,DIFFICULTY ,DIFFICULTY-MAX> )>> ,OUTSIDE-LINE-C> )>> )>> "Here is the code for goal motivation for the various characters. Each character has a tendency to move from one place to another at certain times. They all converge on the living room at about noon." "Goal tables for the 6 characters (including PLAYER), offset by the preceding constants, which, for a given character, is the P?CHARACTER property of the object." <> <> <> 1 <> <> I-FOLLOW 4 4> <> <> <> 1 <> <> I-PHONG 3 3>
<> <> <> 1 <> <> I-LINDER 4 4>
<> <> <> 1 <> <> I-STILES 9 9>
<> <> <> 1 <> <> I-MONICA 2 2>
<> <> <> 1 <> <> I-CAT 1 1>>> > "Offsets into GOAL-TABLEs" "Goal-function constants, similar to M-xxx in MAIN" "Here's how the movement goals are done: For each player is a table which consists of triplets, a number of minutes until the next movement (an clock interrupt number), a number of minutes allowed variation (for a bit of randomness), and a room toward which to start. All movement is controlled by the GOAL-ENABLE flag in the GOAL-TABLE for a character." "Time starts at 8AM. Characters are at that point in their starting positions, as reflected in DUNGEON." ;"PHONG"
Phong to front door, rings bell, then office." 70 10 KITCHEN ;"10-12 PM" 120 10 BUTLER-ROOM ;"12 PM ON" 0> ;"LINDER"
;"STILES"
;"MONICA"
;"CAT"
>> > > > >> )> >> )> >>> >> >>> ) (T )>> > > >> "This routine does the interrupt-driven goal establishment for the various characters, using the MOVEMENT-GOALS table." > (ID VAR DIS TIM) FIX) >>> > >>> ) (T )>)> >>> > >> >> > >> <- .VAR .DIS>>>)>)> > ) (CNT 0) GT VAL) > ,CHARACTER-MAX> ) (> ,GOAL-S> <0? >>> >> > )>)>)>> .FLG> ) (CNT 0) ATT) > ,CHARACTER-MAX> ) (<==? 1>> 1> ,HERE> ,MONICA-DASHED-OUT-DOOR> >) (T " is acting impatient." CR>)> )>) (<==? .ATT 0> ,GOAL-ENABLE T>)> > .FLG> ) GT ATT) #DECL ((PERSON) OBJECT (ATT) FIX) > >> ) ( >)>)> > " Movement etc." > > > > >> > > >)>> ) "AUX" (HERE ) HL GL GT) #DECL ((PERSON GOAL HERE) OBJECT (HL GL) FIX (PRIORITY) ) >> )> > >> >) (<==? .HL ,OUTSIDE-LINE-C> ) (<==? .HL ,OFFICE-LINE-C> ) (<==? .HL ,MONICA-LINE-C> ) (<==? .GL ,OUTSIDE-LINE-C> ) (<==? .GL ,MONICA-LINE-C> ) (T )> ') (T ',)>> > ) LINE LN RM GT GOAL FLG (GOAL-FLAG <>) (IGOAL <>) LOC (CNT 1) DIR) #DECL ((PERSON HERE LOC RM) OBJECT (LN CNT) FIX (GOAL-FLAG IGOAL) ) >> > > >) (> )> ') (T ',)>>>> > )> > ) (T >)> ) (<==? .HERE .GOAL> >>) (>> >> > ) (T > >)>)> > ,OUTSIDE-LINE) (<==? .LN ,INSIDE-LINE-C> ,INSIDE-LINE) (<==? .LN ,OFFICE-LINE-C> ,OFFICE-LINE) (<==? .LN ,MONICA-LINE-C> ,MONICA-LINE)>> > .HERE> >>) (T >>)> >) (<==? .RM .GOAL> )> >>> > ,GOAL-FUNCTION> ,G-REACHED>> ) DR (VAL <>) (STI )) #DECL ((PERSON WHERE) OBJECT) >>> > > >> ,DEXIT> > > > )>) (T >)>) (T >)> >> ,DUFFY-WITH-STILES> ) (> ) (T )> ,DUFFY-WITH-STILES> ) (T )>) (<==? .DIR ,P?IN> >> )> ,DUFFY-WITH-STILES> ) (T )> >> ; )> ) (T >> )> ,DUFFY-WITH-STILES> ) (T )> >> ; )> )>) ( >> >> ,DUFFY-WITH-STILES> ) (> ) (T )>)>) (> >> > 0>>> > ,DUFFY-WITH-STILES> ) (> ) (T )> > >> )> ,DUFFY-WITH-STILES> ) ( ) (T )> > >> ; )> ) (<0? >> ,DUFFY-WITH-STILES> ) (> ) (T )> > >> ) (T ,DUFFY-WITH-STILES> ) (> ) (T )> > > )>) (> 0>>> > ,DUFFY-WITH-STILES> ) (> ) (T )> ) (T )> ) (T >)> )>)> .WHERE> >> <==? ,HERE .WHERE> >> ) (T )>)>)> )> )> .VAL) (T .FLG)>> >> ) ( T) (> > > <==? .THERE>> )>)>>> )) #DECL ((PERSON IGOAL FGOAL) OBJECT) ; ) (<==? .IGOAL ,ENTRY> ; ) (<==? .IGOAL ,MONICA-ROOM> ) (<==? .IGOAL ,HALL-2> ) (<==? .IGOAL ,HALL-4> ) (T )>> .V> ) "AUX" WT NC (CNT 0)) > > ) (<==? .CNT .NC>) ( .FLG> >> .NC ,PRESENT-TIME>)> >>>
>> "People functions" > > > ,GOAL-S>> ,HERE> > )> )>)>> ) "AUX" (L ) MPB) ) (<==? .GARG ,G-REACHED> > > > >> ) (T ) (T )>)>)> )>) (<==? .L ,OFFICE> > )>) (T )>)>) (<==? .L ,OFFICE-PATH> > ) (<==? .L ,FRONT-PORCH> ;"? Can this happen?" ) (T )> ) (<==? .L ,ENTRY> )> ) (<==? .L ,LIVING-ROOM> ) (<==? .L ,BUTLER-ROOM> ,BUTLER-ROOM> >> ; )> )> )>)>> > ) "AUX" (L )) ) (<==? .GARG ,G-REACHED> > > > > > > > ,GOAL-S <>> > )>) (T > ) (T )> ) (T )> ) ( ) (T )> ) ( ) (T )> )>)>) (<==? .L ,OFFICE-PATH> ,GOAL-S <>> 3>>> ) (T )> )>) (<==? .L ,FRONT-PORCH> ) (T )> ) (<==? .L ,LIVING-ROOM> > ) (T )>) ( ) (T )> ) ( > )>)>)>> ) "AUX" N X (ROBBED? <>)) > )> > > >> ; )> >> > > > ) "AUX" (L ) HR) ) (<==? .GARG ,G-REACHED> > > >> > ) ( )> > > ) ( )>)>) ( > ,GOAL-S <>> ,GOAL-ENABLE <>> >>> > ) (<==? ,OUTSIDE-LINE-C > ) (T )>) (<==? .L ,WORKSHOP> > )> )>) ( > >> )> ) (T )> > ) (T )> )>) (<==? .L ,TOILET-ROOM> ) ( > )>) ( > ) ( > )>) (<==? .L ,OFFICE> > ,MG-LENGTH>> ) (T ;"?" > >> ) (T )> ) (T )>)>) (<==? .L ,MONICA-ROOM> ; ) ( ) ( > )>)>)>> > )>> ,GOAL-ENABLE T> ) (T )> ) (T )>> > ) (T ) (T )> )> > > )> )> > > ,HERE> )> )> > "Evidence: hints and conclusions" ) (,DUFFY-WITH-STILES )> )> > > ) (,NO-WIRE-HINT > ) ;( ) ( > ) ( ) (> ) (> ) ( ) ;( ) ( ) (T )>> > > > > > > > "Other clues: INSIDE-GUN, GUN-RECEIPT, OFFICE-BUTTON, BROKEN-GLASS, HOLE, and MEDICAL-REPORT." ) "AUX" FLG) > >> > >>> ) (T )>)> > )> > )> ; )> ) (T > > )> ) (> )> ) ( ) (T )>) (> ) ( ,MONICA-TIED-TO> ) (T )>) (T )> > )> )> >>>