
<HTML><HEAD><TITLE>CosmicOS message</TITLE></HEAD>
<BODY BGCOLOR='#ffffff'>
<HR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT><A NAME='40'><FONT COLOR=red>#&nbsp;MUD playing around with doors and rooms</FONT></A></TT><BR>
<TT>[<A HREF='sound.cgi?s=2110110003211110001322211110010321111001133221111010032111100113332210010011321100100032210000000322111100103211001003221001100033322111101003211001003221001100033333221001001132111101013221101032221010001032111100113332210110101322210100010321110000132211110010333221111010033322210100010321110000132211110100333221111001033320333322100100113211110110322110103222101000103211110011333221011010132221010001032111000013221111001033322101011333222101000103211100001322111101003332210101133322101100333332233'>hear</A>] </TT><TT>(class door <font style='background-color: #cdffff'>(</font><font style='background-color: #9bffff'>(src room)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(dest room)</font><font style='background-color: #cdffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(method new </font><font style='background-color: #ff9bff'>(begin</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ff69ff'>(src add </font><font style='background-color: #ff37ff'>(self)</font><font style='background-color: #ff69ff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ff9bcd'>(dest add </font><font style='background-color: #ff9b9b'>(self)</font><font style='background-color: #ff9bcd'>)</font><font style='background-color: #ff9bff'>)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method access-from </font><font style='background-color: #ffff9b'>(lambda </font><font style='background-color: #ffff69'>(</font><font style='background-color: #ffff37'>(current room)</font><font style='background-color: #ffff69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff9b'>(cond </font><font style='background-color: #9bff9b'>(</font><font style='background-color: #69ff9b'>(current == </font><font style='background-color: #37ff9b'>(src)</font><font style='background-color: #69ff9b'>)</font><font style='background-color: #9bff9b'> </font><font style='background-color: #9bcd9b'>(dest)</font><font style='background-color: #9bff9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd9b'>(</font><font style='background-color: #cd9b9b'>(current == </font><font style='background-color: #cd699b'>(dest)</font><font style='background-color: #cd9b9b'>)</font><font style='background-color: #cdcd9b'> </font><font style='background-color: #cdcd69'>(src)</font><font style='background-color: #cdcd9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff9b'>0)</font><font style='background-color: #ffff9b'>)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method is-present </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(</font><font style='background-color: #37ffff'>(current room)</font><font style='background-color: #69ffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(cond </font><font style='background-color: #9b9bff'>(</font><font style='background-color: #9b69ff'>(current == </font><font style='background-color: #9b37ff'>(src)</font><font style='background-color: #9b69ff'>)</font><font style='background-color: #9b9bff'> </font><font style='background-color: #9b9bcd'>(true)</font><font style='background-color: #9b9bff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(</font><font style='background-color: #9bcd9b'>(current == </font><font style='background-color: #9bcd69'>(dest)</font><font style='background-color: #9bcd9b'>)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #69cdcd'>(true)</font><font style='background-color: #9bcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cdff'>(false)</font><font style='background-color: #9bcdff'>)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211011000321111001132210010010332211011101321110100132211000011321100100033322100100113210010010322100100103332210010011321110000032211010322100101332211101001322100101333332233'>hear</A>] </TT><TT>(class room <font style='background-color: #cdffff'>(name)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(field content </font><font style='background-color: #ff9bff'>(container new)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method name </font><font style='background-color: #ffff9b'>(name)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method unknown </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(x)</font><font style='background-color: #9bffff'> </font><font style='background-color: #9bcdff'>(content </font><font style='background-color: #9b9bff'>(x)</font><font style='background-color: #9bcdff'>)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;need to fix up containers to use object equality</TT><BR>
<TT>[<A HREF='sound.cgi?s=21101321111011132211010322110000321110113322113221111013221101001032211010322100101332210010132111000013221100003333221110113333203332233'>hear</A>] </TT><TT>(define object-element</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(n lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(&gt; </font><font style='background-color: #cd9bff'>(list-length </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd69ff'>(select-match </font><font style='background-color: #cd37ff'>(lambda </font><font style='background-color: #cd05ff'>(x)</font><font style='background-color: #cd37ff'> </font><font style='background-color: #cd37cd'>(x == </font><font style='background-color: #cd379b'>(n)</font><font style='background-color: #cd37cd'>)</font><font style='background-color: #cd37ff'>)</font><font style='background-color: #cd69ff'> </font><font style='background-color: #cd69cd'>(lst)</font><font style='background-color: #cd69ff'>)</font><font style='background-color: #cd9bff'>)</font><font style='background-color: #cdcdff'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>0)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101100032110000113232211011101321100010032211100111321100100032210000333322100100113211000101322110001003211101010333221001001132110010032211010322100101332211113221003221111011132210010133221100010032111010103333221100010032111010113221111113221001013322110001003211101010333322101100333332233'>hear</A>] </TT><TT>(class container <font style='background-color: #cdffff'>()</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(field contents </font><font style='background-color: #ff9bff'>(cell new </font><font style='background-color: #ff69ff'>(vector)</font><font style='background-color: #ff9bff'>)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method inventory </font><font style='background-color: #ffff9b'>(contents get)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method add </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(x)</font><font style='background-color: #9bffff'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(if </font><font style='background-color: #9b9bff'>(not </font><font style='background-color: #9b69ff'>(object-element </font><font style='background-color: #9b37ff'>(x)</font><font style='background-color: #9b69ff'> </font><font style='background-color: #9b69cd'>(contents get)</font><font style='background-color: #9b69ff'>)</font><font style='background-color: #9b9bff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(contents set </font><font style='background-color: #9bcd9b'>(prepend </font><font style='background-color: #9bcd69'>(x)</font><font style='background-color: #9bcd9b'> </font><font style='background-color: #69cd9b'>(contents get)</font><font style='background-color: #9bcd9b'>)</font><font style='background-color: #9bcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cdff'>(false)</font><font style='background-color: #9bcdff'>)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013211111000322111100113211001000320332233'>hear</A>] </TT><TT>(define hall <font style='background-color: #cdffff'>(room new 0)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013211111001322111100113211001000321332233'>hear</A>] </TT><TT>(define kitchen <font style='background-color: #cdffff'>(room new 1)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013211111010322111100013211001000322111110003322111110013332233'>hear</A>] </TT><TT>(define door1 <font style='background-color: #cdffff'>(door new </font><font style='background-color: #9bffff'>(hall)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(kitchen)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=22100000132211111000321100010133321110000132211111010332233'>hear</A>] </TT><TT>(<font style='background-color: #cdffff'>(first </font><font style='background-color: #9bffff'>(hall inventory)</font><font style='background-color: #cdffff'>)</font> == <font style='background-color: #ffcdff'>(door1)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=22100000132211111001321100010133321110000132211111010332233'>hear</A>] </TT><TT>(<font style='background-color: #cdffff'>(first </font><font style='background-color: #9bffff'>(kitchen inventory)</font><font style='background-color: #cdffff'>)</font> == <font style='background-color: #ffcdff'>(door1)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2111110103211110101322111110003321110000132211111001332233'>hear</A>] </TT><TT>(door1 access-from <font style='background-color: #cdffff'>(hall)</font> == <font style='background-color: #ffcdff'>(kitchen)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21003221111101032111101013221111100033211100001322111110003332233'>hear</A>] </TT><TT>(not <font style='background-color: #cdffff'>(door1 access-from </font><font style='background-color: #9bffff'>(hall)</font><font style='background-color: #cdffff'> == </font><font style='background-color: #cdcdff'>(hall)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2111110103211110101322111110013321110000132211111000332233'>hear</A>] </TT><TT>(door1 access-from <font style='background-color: #cdffff'>(kitchen)</font> == <font style='background-color: #ffcdff'>(hall)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2110132111110113221111001132110010003210332233'>hear</A>] </TT><TT>(define stairs <font style='background-color: #cdffff'>(room new 2)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2110132111111003221111001132110010003211332233'>hear</A>] </TT><TT>(define lawn <font style='background-color: #cdffff'>(room new 3)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321111110132211110011321100100032100332233'>hear</A>] </TT><TT>(define bedroom <font style='background-color: #cdffff'>(room new 4)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013211111110322111100113211001000320332233'>hear</A>] </TT><TT>(define nowhere <font style='background-color: #cdffff'>(room new 0)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013211111111322111100013211001000322111110003322111111003332233'>hear</A>] </TT><TT>(define door2 <font style='background-color: #cdffff'>(door new </font><font style='background-color: #9bffff'>(hall)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(lawn)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2110132100000000322111100013211001000322111110003322111110113332233'>hear</A>] </TT><TT>(define door3 <font style='background-color: #cdffff'>(door new </font><font style='background-color: #9bffff'>(hall)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(stairs)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2110132100000001322111100013211001000322111110113322111111013332233'>hear</A>] </TT><TT>(define door4 <font style='background-color: #cdffff'>(door new </font><font style='background-color: #9bffff'>(stairs)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(bedroom)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211011000321000000103232211011101321000000113221110011132110010003203332211011101321001001032211100111321100100032033322100100113210000010032211010322210000010132111100113332210000000322111132210032211000302321000000113211101010333221000000113211101010321100011032210011000333203322100000101321100100322100110003332210000001132111010113221000001013333332210010011321000001103221000000113211101010333221001001132100000111322110103221100003322100100103211101011302321100003333221001001132100001000322100100103211101010333221001001132100001001320332233'>hear</A>] </TT><TT>(class character <font style='background-color: #cdffff'>()</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(field location </font><font style='background-color: #ff9bff'>(cell new 0)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(field name </font><font style='background-color: #ffff9b'>(cell new 0)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method set-room </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(</font><font style='background-color: #37ffff'>(r room)</font><font style='background-color: #69ffff'>)</font><font style='background-color: #9bffff'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(begin</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9bff'>(if </font><font style='background-color: #9b69ff'>(not </font><font style='background-color: #9b37ff'>(number? / location get)</font><font style='background-color: #9b69ff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9bcd'>(location get remove </font><font style='background-color: #9b9b9b'>(self)</font><font style='background-color: #9b9bcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9bff'>0)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(r add </font><font style='background-color: #9bcd9b'>(self)</font><font style='background-color: #9bcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cdff'>(location set </font><font style='background-color: #37cdff'>(r)</font><font style='background-color: #69cdff'>)</font><font style='background-color: #9bcdff'>)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(method get-room </font><font style='background-color: #ff9bff'>(location get)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method set-name </font><font style='background-color: #ffff9b'>(lambda </font><font style='background-color: #ffff69'>(n)</font><font style='background-color: #ffff9b'> </font><font style='background-color: #cdff9b'>(name set / n)</font><font style='background-color: #ffff9b'>)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method get-name </font><font style='background-color: #9bffff'>(name get)</font><font style='background-color: #cdffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(method update 0)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321000010103221101032210111001321011013210001103211000032111011332211113221132211110132211101133320332211113221132210111001322111010322111011333322101101333221000010103221011100133221011100132211101032211101133332211000033221010322110000332133221111003221110113333221000010103221011100133221011013322100011033221010322110000332133221111003221110113333322100011033332233'>hear</A>] </TT><TT>(define find-max-helper</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(test max idx n lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(if </font><font style='background-color: #cd9bff'>(&gt; </font><font style='background-color: #cd69ff'>(list-length </font><font style='background-color: #cd37ff'>(lst)</font><font style='background-color: #cd69ff'>)</font><font style='background-color: #cd9bff'> 0)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(if </font><font style='background-color: #cdcd9b'>(&gt; </font><font style='background-color: #cdcd69'>(test </font><font style='background-color: #cdcd37'>(head </font><font style='background-color: #cdcd05'>(lst)</font><font style='background-color: #cdcd37'>)</font><font style='background-color: #cdcd69'>)</font><font style='background-color: #cdcd9b'> </font><font style='background-color: #9bcd9b'>(max)</font><font style='background-color: #cdcd9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(find-max-helper </font><font style='background-color: #69cdcd'>(test)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #9b9bcd'>(test </font><font style='background-color: #9b69cd'>(head </font><font style='background-color: #9b37cd'>(lst)</font><font style='background-color: #9b69cd'>)</font><font style='background-color: #9b9bcd'>)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #9bcd9b'>(n)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #69cdcd'>(+ </font><font style='background-color: #37cdcd'>(n)</font><font style='background-color: #69cdcd'> 1)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #9b9bcd'>(tail </font><font style='background-color: #9b69cd'>(lst)</font><font style='background-color: #9b9bcd'>)</font><font style='background-color: #9bcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bcd'>(find-max-helper </font><font style='background-color: #cd69cd'>(test)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #cd9b9b'>(max)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #9b9bcd'>(idx)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #cd69cd'>(+ </font><font style='background-color: #cd37cd'>(n)</font><font style='background-color: #cd69cd'> 1)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #cd9b9b'>(tail </font><font style='background-color: #cd9b69'>(lst)</font><font style='background-color: #cd9b9b'>)</font><font style='background-color: #cd9bcd'>)</font><font style='background-color: #cdcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(idx)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013210000101132211010322101110013211101133221000010103221011100133221011100132211101032211101133332032032211101133332233'>hear</A>] </TT><TT>(define find-max-idx</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(test lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(find-max-helper </font><font style='background-color: #cd9bff'>(test)</font><font style='background-color: #cdcdff'> </font><font style='background-color: #cdcdcd'>(test </font><font style='background-color: #cdcd9b'>(head </font><font style='background-color: #cdcd69'>(lst)</font><font style='background-color: #cdcd9b'>)</font><font style='background-color: #cdcdcd'>)</font><font style='background-color: #cdcdff'> 0 0 </font><font style='background-color: #9bcdff'>(lst)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2110132100001100322110103221011100132101101321000110321100003211101133221111322113221111013221110113332033221111322132210111001322111010322111011333322101101333221000011003221011100133221011100132211101032211101133332211000033221010322110000332133221111003221110113333221000011003221011100133221011013322100011033221010322110000332133221111003221110113333322100011033332233'>hear</A>] </TT><TT>(define find-min-helper</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(test max idx n lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(if </font><font style='background-color: #cd9bff'>(&gt; </font><font style='background-color: #cd69ff'>(list-length </font><font style='background-color: #cd37ff'>(lst)</font><font style='background-color: #cd69ff'>)</font><font style='background-color: #cd9bff'> 0)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(if </font><font style='background-color: #cdcd9b'>(&lt; </font><font style='background-color: #cdcd69'>(test </font><font style='background-color: #cdcd37'>(head </font><font style='background-color: #cdcd05'>(lst)</font><font style='background-color: #cdcd37'>)</font><font style='background-color: #cdcd69'>)</font><font style='background-color: #cdcd9b'> </font><font style='background-color: #9bcd9b'>(max)</font><font style='background-color: #cdcd9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(find-min-helper </font><font style='background-color: #69cdcd'>(test)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #9b9bcd'>(test </font><font style='background-color: #9b69cd'>(head </font><font style='background-color: #9b37cd'>(lst)</font><font style='background-color: #9b69cd'>)</font><font style='background-color: #9b9bcd'>)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #9bcd9b'>(n)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #69cdcd'>(+ </font><font style='background-color: #37cdcd'>(n)</font><font style='background-color: #69cdcd'> 1)</font><font style='background-color: #9bcdcd'> </font><font style='background-color: #9b9bcd'>(tail </font><font style='background-color: #9b69cd'>(lst)</font><font style='background-color: #9b9bcd'>)</font><font style='background-color: #9bcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bcd'>(find-min-helper </font><font style='background-color: #cd69cd'>(test)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #cd9b9b'>(max)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #9b9bcd'>(idx)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #cd69cd'>(+ </font><font style='background-color: #cd37cd'>(n)</font><font style='background-color: #cd69cd'> 1)</font><font style='background-color: #cd9bcd'> </font><font style='background-color: #cd9b9b'>(tail </font><font style='background-color: #cd9b69'>(lst)</font><font style='background-color: #cd9b9b'>)</font><font style='background-color: #cd9bcd'>)</font><font style='background-color: #cdcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(idx)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211013210000110132211010322101110013211101133221000011003221011100133221011100132211101032211101133332032032211101133332233'>hear</A>] </TT><TT>(define find-min-idx</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(test lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(find-min-helper </font><font style='background-color: #cd9bff'>(test)</font><font style='background-color: #cdcdff'> </font><font style='background-color: #cdcdcd'>(test </font><font style='background-color: #cdcd9b'>(head </font><font style='background-color: #cdcd69'>(lst)</font><font style='background-color: #cdcd9b'>)</font><font style='background-color: #cdcdcd'>)</font><font style='background-color: #cdcdff'> 0 0 </font><font style='background-color: #9bcdff'>(lst)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21032103221000010113221101032210010133221001013332210000321132100321013203332233'>hear</A>] </TT><TT>(= 2 <font style='background-color: #cdffff'>(find-max-idx </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(x)</font><font style='background-color: #9bffff'> </font><font style='background-color: #9bcdff'>(x)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(vector 3 4 5 0)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2103213221000010113221101032210010133221001013332210000321132101321003203332233'>hear</A>] </TT><TT>(= 1 <font style='background-color: #cdffff'>(find-max-idx </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(x)</font><font style='background-color: #9bffff'> </font><font style='background-color: #9bcdff'>(x)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(vector 3 5 4 0)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2103203221000010113221101032210010133221001013332210000321013211321003203332233'>hear</A>] </TT><TT>(= 0 <font style='background-color: #cdffff'>(find-max-idx </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(x)</font><font style='background-color: #9bffff'> </font><font style='background-color: #9bcdff'>(x)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'> </font><font style='background-color: #cdcdff'>(vector 5 3 4 0)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;the robo class makes a character that patrols from room to room</TT><BR>
<TT>[<A HREF='sound.cgi?s=21101100032100001110323221101110132110010113221000000103211001000333221101110132100001111322111001113211001000321333221101110132100010000322111001113211001000322110103221001013320333322100100113211100000322110103221001013322110010113221001013333322100100113210000100132210011013222100010001322110100103221101032210010133221011000032111100013221001013333221001100032100000011321100010133333221001101322210001001032210101013221101032210010133221000100003211101010322100101333322100010001333332210011013222100010011322111110322100010001332210000110132211010322100101332210010133322100010010333332210001010032210001000032111010103332210001010132210000111132111010103333221000000032210011000321000000113211101011322100010011321111010132210011000321000000113211101010333322100010000321110101132211010322210001011032111100013332211113221000101103211100001322100010011333221000101013322100010100322100010110333333221000011113211101011322101032210000111132111010103321333333332233'>hear</A>] </TT><TT>(class robo <font style='background-color: #cdffff'>()</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(field super </font><font style='background-color: #ff9bff'>(character new)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(field timestamp </font><font style='background-color: #ffff9b'>(cell new 1)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(field timestamp-map </font><font style='background-color: #9bffff'>(cell new </font><font style='background-color: #69ffff'>(lambda </font><font style='background-color: #37ffff'>(x)</font><font style='background-color: #69ffff'> 0)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(method unknown </font><font style='background-color: #ff9bff'>(lambda </font><font style='background-color: #ff69ff'>(x)</font><font style='background-color: #ff9bff'> </font><font style='background-color: #ff9bcd'>(super </font><font style='background-color: #ff9b9b'>(x)</font><font style='background-color: #ff9bcd'>)</font><font style='background-color: #ff9bff'>)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method update </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff9b'>(let </font><font style='background-color: #ffff69'>(</font><font style='background-color: #ffff37'>(exits </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff05'>(select-match </font><font style='background-color: #ffff00'>(lambda (x) </font><font style='background-color: #cdff00'>(instanceof door </font><font style='background-color: #9bff00'>(x)</font><font style='background-color: #cdff00'>)</font><font style='background-color: #ffff00'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff05'>(self location inventory)</font><font style='background-color: #ffff05'>)</font><font style='background-color: #ffff37'>)</font><font style='background-color: #ffff69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff9b'>(let </font><font style='background-color: #9bff9b'>(</font><font style='background-color: #69ff9b'>(timestamps</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37ff9b'>(map </font><font style='background-color: #05ff9b'>(lambda </font><font style='background-color: #00ff9b'>(x)</font><font style='background-color: #05ff9b'> </font><font style='background-color: #05cd9b'>(timestamp-map get </font><font style='background-color: #059b9b'>(x)</font><font style='background-color: #05cd9b'>)</font><font style='background-color: #05ff9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37cd9b'>(exits)</font><font style='background-color: #37ff9b'>)</font><font style='background-color: #69ff9b'>)</font><font style='background-color: #9bff9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd9b'>(let </font><font style='background-color: #cd9b9b'>(</font><font style='background-color: #cd699b'>(chosen-exit </font><font style='background-color: #cd379b'>(list-ref </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd059b'>(exits)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd3769'>(find-min-idx </font><font style='background-color: #cd3737'>(lambda </font><font style='background-color: #cd3705'>(x)</font><font style='background-color: #cd3737'> </font><font style='background-color: #9b3737'>(x)</font><font style='background-color: #cd3737'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b3769'>(timestamps)</font><font style='background-color: #cd3769'>)</font><font style='background-color: #cd379b'>)</font><font style='background-color: #cd699b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9b69'>(current-tmap </font><font style='background-color: #cd9b37'>(timestamp-map get)</font><font style='background-color: #cd9b69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9b9b'>(current-t </font><font style='background-color: #699b9b'>(timestamp get)</font><font style='background-color: #9b9b9b'>)</font><font style='background-color: #cd9b9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd69'>(begin</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd37'>(self location set </font><font style='background-color: #cdcd05'>(chosen-exit </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd05'>access-from </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd00'>(self location get)</font><font style='background-color: #cdcd05'>)</font><font style='background-color: #cdcd37'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcd69'>(timestamp-map set </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cd69'>(lambda </font><font style='background-color: #37cd69'>(</font><font style='background-color: #05cd69'>(d door)</font><font style='background-color: #37cd69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #699b69'>(if </font><font style='background-color: #969696'>(d == </font><font style='background-color: #966496'>(chosen-exit)</font><font style='background-color: #969696'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #699b37'>(current-t)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #379b69'>(current-tmap </font><font style='background-color: #059b69'>(d)</font><font style='background-color: #379b69'>)</font><font style='background-color: #699b69'>)</font><font style='background-color: #69cd69'>)</font><font style='background-color: #9bcd69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9b69'>(timestamp set </font><font style='background-color: #cd6969'>(+ </font><font style='background-color: #cd3769'>(timestamp get)</font><font style='background-color: #cd6969'> 1)</font><font style='background-color: #cd9b69'>)</font><font style='background-color: #cdcd69'>)</font><font style='background-color: #cdcd9b'>)</font><font style='background-color: #cdff9b'>)</font><font style='background-color: #ffff9b'>)</font><font style='background-color: #ffffcd'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321000101113221000011103211001000332233'>hear</A>] </TT><TT>(define myrobo <font style='background-color: #cdffff'>(robo new)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000010032211111011332233'>hear</A>] </TT><TT>(myrobo set-room <font style='background-color: #cdffff'>(stairs)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321000110003221101032221000110013210000111033322100001011322110103222100000101321111001133322111132210000010132111000013221000110013210000011033321320333221000032211111000332211111001332211111011332211111100332211111101333332233'>hear</A>] </TT><TT>(define which-room</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(</font><font style='background-color: #69ffff'>(rr robo)</font><font style='background-color: #9bffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(find-max-idx </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>(lambda </font><font style='background-color: #cd69ff'>(</font><font style='background-color: #cd37ff'>(r room)</font><font style='background-color: #cd69ff'>)</font><font style='background-color: #cd9bff'> </font><font style='background-color: #cd9bcd'>(if </font><font style='background-color: #cd9b9b'>(r == </font><font style='background-color: #cd9b69'>(rr get-room)</font><font style='background-color: #cd9b9b'>)</font><font style='background-color: #cd9bcd'> 1 0)</font><font style='background-color: #cd9bff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(vector </font><font style='background-color: #cdcd9b'>(hall)</font><font style='background-color: #cdcdcd'> </font><font style='background-color: #9bcdcd'>(kitchen)</font><font style='background-color: #cdcdcd'> </font><font style='background-color: #cd9bcd'>(stairs)</font><font style='background-color: #cdcdcd'> </font><font style='background-color: #cdcd9b'>(lawn)</font><font style='background-color: #cdcdcd'> </font><font style='background-color: #9bcdcd'>(bedroom)</font><font style='background-color: #cdcdcd'>)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321000110103221101032211000032101000103211101133221111322132210100010332211000033322100000003221000101113210000100133221000110103221100003322101032210100010332133221101000132210001100032210001011133322111011333332211101133332233'>hear</A>] </TT><TT>(define sequencer</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(n current lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(if </font><font style='background-color: #cd9bff'>(&lt; </font><font style='background-color: #cd69ff'>(current)</font><font style='background-color: #cd9bff'> </font><font style='background-color: #cd9bcd'>(n)</font><font style='background-color: #cd9bff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(begin</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd9b'>(myrobo update)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(sequencer</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cdcd'>(n)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9bcd'>(+ </font><font style='background-color: #9b69cd'>(current)</font><font style='background-color: #9b9bcd'> 1)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcd9b'>(append</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcd69'>(which-room </font><font style='background-color: #9bcd37'>(myrobo)</font><font style='background-color: #9bcd69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cd9b'>(lst)</font><font style='background-color: #9bcd9b'>)</font><font style='background-color: #9bcdcd'>)</font><font style='background-color: #cdcdcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(lst)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;here is a list of the first 30 rooms the robot character visits</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;0=hall, 1=kitchen, 2=stairs, 3=lawn, 4=bedroom</TT><BR>
<TT>[<A HREF='sound.cgi?s=2100000032210001101032111103203221000033322100003210032103203211320321320321032100321032032113203213203210321003210320321132032132032103210032103203211320321332233'>hear</A>] </TT><TT>(list= <font style='background-color: #cdffff'>(sequencer 30 0 </font><font style='background-color: #9bffff'>(vector)</font><font style='background-color: #cdffff'>)</font> <font style='background-color: #ffcdff'>(vector 4 2 0 3 0 1 0 2 4 2 0 3 0 1 0 2 4 2 0 3 0 1 0 2 4 2 0 3 0 1)</font>);</TT><BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;Now should start to introduce a language to talk about what is</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;going on in the simulated world, and start to move away from</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;detailed mechanism</TT><BR>

</BODY>
</HTML>
