[56] in Coldmud discussion meeting

root meeting help first first in chain previous in chain previous next next in chain last in chain last

Re: rehash: heirarchy

daemon@ATHENA.MIT.EDU (Fri Nov 19 11:17:09 1993 )

To: stewarta@netcom.com (Alex Stewart)
Cc: coldstuff@MIT.EDU
In-Reply-To: Your message of "Thu, 18 Nov 1993 23:22:25 PST."
             <199311190722.XAA11540@mail.netcom.com> 
Date: Fri, 19 Nov 1993 10:00:43 -0600
From: Erik Ostrom <eostrom@pepperoncini.gac.edu>

>							    I'm also
> not quite sure why players are descendants of $container and
> $located instead of simply being descended from $box, but that's a
> minor point.

Just to expand a little on an earlier comment, since Jay doesn't seem
to want to flame about this right now:

The relation between me and the hat I am wearing is not the same as
the relation between a bottle and the water it contains.  I am a
container in that my spleen is inside me, but I don't think that's
what most people intend when they make users descendants of
containers.

It would be nice to be able to consider these relations separately.

> Also, WHAT are you going on about with the $user thing?  

Yes, Lynx, why is $person renamed to $user in your diagram?

Hm, after a little preliminary thinking, here's my attempt at a
user/robot hierarchy (whee, ascii art!):

         $person                     $user
            | 		            /  |  \
      [$rpg_person] 	           /   |   \
            |      \__	          /    |    \
            |         `[$character]    |     \
    $building_person        | 	       |      \
	    |       \    $guest        |       \
	    | 	     \_____________    |        \
  $programming_person              `$builder     \
                     \_______________________     \
					     `$programmer

Sigh.  The idea here is to separate "an object which has <rpg,
building, programming> commands available" from "an object which
handles connections and represents an actual user."  So $character,
$builder, and $programmer each are determined solely by their
inheritance from $user and a person class.

$person means "an object which executes commands" and basically acts
like a person in some sense, whether a robot or a real user.

Not everyone wants RPG functionality, so $rpg_person and $character
should be easily detachable; $building_person should inherit from
$person or $rpg_person if it exists, and $guest should inherit from
$user or $character.

BTW, stuffing everything into a flat namespaces is really lame.

Just tossing out ideas (and one content-free remark)
--Erik