1997Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev]  Room&#45;based vs. coordinate&#45;based -->
<!--X-From-R13: nyrkbNovtsbbg.pbz (Oyrk Aera) -->
<!--X-Date: from fabius.globecomm.net [207.51.48.6] by in10.ibm.net id 867056395.49358&#45;1 Mon Jun 23 08:59:55 1997 CUT -->
<!--X-Message-Id: 33b33947.521449955@neptune -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199706120100.SAA01212#xsvr3,cup.hp.com -->
<!--X-Reference: 33A001A5.41C67EA6#iname,com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev]  Room-based vs. coordinate-based</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:alexo#bigfoot,com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg01451.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01453.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01319.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01458.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01452">Author</A>
&nbsp;|&nbsp;<A HREF="#01452">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01452">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev]  Room-based vs. coordinate-based</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev]  Room-based vs. coordinate-based</LI>
<LI><em>From</em>: <A HREF="mailto:alexo#bigfoot,com">alexo#bigfoot,com</A> (Alex Oren)</LI>
<LI><em>Date</em>: Mon, 23 Jun 1997 08:59:50 GMT</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>

Which brings me back to the topic.

How would I implement the equivalent of room-spoofs in a coordinate-based
setting?


Shawn wrote:

} clawrenc#cup,hp.com wrote:
} &gt; 
} &gt; In &lt;<A HREF="msg01266.html">339C618C.167EB0E7#iname,com</A>&gt;, on 06/09/97
} &gt;    at 05:16 PM, Shawn Halpenny &lt;malachai#iname,com&gt; said:
} 
} [ original handling of user-programming ]
} 
} &gt; You're going to have a checklist to run every piece of code past to
} &gt; make sure nothing has been missed?  You're never going to skip or
} &gt; skimp something on this list?  This list is going to always be updated
} &gt; as the system changes?
} &gt; 
} &gt; &gt;The solution above is not exactly conducive to that.
} &gt; 
} &gt; Quite.
} 
} _Originally_ that was my intent, though the more I thought about what I
} wanted to be possible, the less I looked forward to the amount of work
} involved.  So no, there won't be any checklist that I have to watch over,
} since if I can make things generic enough, everything will hold itself
} together and not need me to hold its hand.  The addition of user-programming
} was a fairly recent thing for me, so some changes of methodology are
} definitely necessary.
} 
} [ spoof implementation ]
} 
} Which is essentially what I'm getting at here:
} 
} &gt; &gt;I make the magic-effect creator a method on a container (say, a room)
} &gt; &gt;and whenever I want to "spoof", I just override the method in a
} &gt; &gt;derived object (something I already do elsewhere, hence my realizing
} &gt; &gt;I'd not thought the post through enough).  Simple enough, since all
} &gt; &gt;the rooms are derived from a common object (which would have been
} &gt; &gt;that magic-effect creator if you went high enough up the inheritance
} &gt; &gt;tree) anyhow.  That should now account for stupid programmers and
} &gt; &gt;make things much more scalable.  And of course, if one does the
} &gt; &gt;inheritance and overriding properly, it's nicely applicable to all
} &gt; &gt;sorts of other situations.
} &gt; 
} &gt; Bingo.
} 
} Good.  Nothing new or quirky going on here, just plain OOD.  What I called
} "inheritance" is your spoof-by-cloning, and your generic methods are what
} I do through overriding.
} 
} &gt; &gt;If A wants to watch B, A sticks a reference to itself in a list
} &gt; &gt;inside B.  State changes in B will now send notification to A
} &gt; &gt;provided the change matches the parameters required by the watcher.
} &gt; &gt;A can stop watching B whenever it chooses, but only the destruction
} &gt; &gt;of B can force A to stop watching B.
} &gt; 
} &gt; Ahh.  I don't have any sort of filtering or definition of watchers.  A
} &gt; watcher just triggers whenever an object changes.  The result is a
} &gt; message sent to the waiting object of the form, "I HAVE CHANGED".  I
} &gt; then leave it up to the waiting object to figure out what changed, and
} &gt; if they are interested in that change.
} 
} A watcher will only trigger if the correct property (or properties)
} changes so that the watching object isn't deluged by messages about state
} changes it doesn't care about on busy objects.  The waiting object only has
} to decide what to do with the change, since it only gets messages
} concerning the things it cares about.
} 
} &gt; This allows a watcher to trigger on a state change for a private data
} &gt; member in an object.  Depending on the strictness of your views on
} &gt; data encapsulation, this can be thought of as a Good Thing, or a Bad
} &gt; Thing.
} 
} Watchers can trigger on private data changes by not defining exactly what
} they're watching, but choosing to watch for a change in any property.  So
} I still maintain the low message traffic for watchers waiting on a few
} properties, and don't have to cheat my encapsulation by allowing watching
} on the entire object if desired.
} 
} -- 
} Shawn Halpenny
} 
} "Caesar si viveret, ad remum dareris"
}                             - Latin for All Occasions
} 
} 


Have fun,
Alex.


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="01618" HREF="msg01618.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>
<ul compact><li><em>From:</em> clawrenc#cup,hp.com</li></ul>
<li><strong><A NAME="01465" HREF="msg01465.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>
<ul compact><li><em>From:</em> Nathan Yospe &lt;yospe#hawaii,edu&gt;</li></ul>
<li><strong><A NAME="01458" HREF="msg01458.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>
<ul compact><li><em>From:</em> Shawn Halpenny &lt;malachai#iname,com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="01299" HREF="msg01299.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></STRONG>
<UL><LI><EM>From:</EM> clawrenc#cup,hp.com</LI></UL></LI>
<LI><STRONG><A NAME="01308" HREF="msg01308.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></STRONG>
<UL><LI><EM>From:</EM> Shawn Halpenny &lt;malachai#iname,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01451.html">Re: [MUD-Dev] Alright... IF your gonan do DESIESE...</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01453.html">Pen-and-paper and Computer-based systems</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01319.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01458.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01452"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01452"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: [MUD-Dev]  Room-based vs. coordinate-based</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="01299" HREF="msg01299.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 12 Jun 1997, 08:02 GMT
<LI><strong><A NAME="01308" HREF="msg01308.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 12 Jun 1997, 21:03 GMT
<LI><strong><A NAME="01313" HREF="msg01313.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Fri 13 Jun 1997, 05:35 GMT
<LI><strong><A NAME="01319" HREF="msg01319.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Fri 13 Jun 1997, 20:34 GMT
</LI>
</LI>
<LI><strong><A NAME="01452" HREF="msg01452.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Mon 23 Jun 1997, 15:59 GMT
<LI><strong><A NAME="01458" HREF="msg01458.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Mon 23 Jun 1997, 23:52 GMT
<LI><strong><A NAME="01619" HREF="msg01619.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 01 Jul 1997, 06:45 GMT
</LI>
</LI>
<LI><strong><A NAME="01465" HREF="msg01465.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Tue 24 Jun 1997, 01:33 GMT
<LI><strong><A NAME="01474" HREF="msg01474.html">Re: [MUD-Dev]  Room-based vs. coordinate-based</A></strong>, 
Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Tue 24 Jun 1997, 14:09 GMT
</LI>
</LI>
</LI>
</LI>
</LI>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>