bd on 27 Apr 2003 19:14:01 -0000 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [spoon-discuss] Why we need OO |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sunday 27 April 2003 02:54 pm, Rob Speer wrote: > So, a whole lot of wins or attempted wins have come from the fact that > the rules don't cleanly define what things _are_. Is a Charter a bunch > of text? Is it an object that can take actions? Is it Wonko? Does it > exist at all? > > If objects were defined by a class system, then there would be no > question of a Charter possibly being turned into something it isn't. > > I was about to propose my OO system. The proposal is kind of large, > because it contains a whole ton of classes - to be precise, as many > classes as are necessary to bootstrap an OO system that is itself OO. > > The idea behind the system is that it can coexist with the ruleset, but > eventually parts of the ruleset will be replaced such that the ClassTree > defines what things _are_, while the Ruleset defines what they _do_. > > Now that things are all confused, I'm going to wait until the CFJs go > through or we get things sorted out some other way (I dislike SOEs, by > the way). > > But I'll post the current version of the proposal here. If you want to > get to the important part, look at Thingy and Class, which define most > of the system; Object, which almost everything will derive from; and > Unique, a concept that has been sorely missing from the Ruleset. I'm not > defining things like Players within it yet; this is just the foundation > for the system, and changes like that can be proposed separately. > > __Be Objective__ > {{ > 1. Destroy the Base class, and repeal rule 1447 [[Class System]]. > 2. Create a rule: > > __Object-Orientation__ > {{ > Everything in the game is an instance of a Class, as defined in the > ClassTree. If not otherwise specified, it is an instance of Thingy. Nitpick: I think 'Object' would be less prone to confuse. Or 'Thing', which just sounds better. > Taking X to be the name of any class: if an object is an instance of > class X, or any subclass of X, it can be referred to as "a X" or "an X". > }} > > 3. Create the ClassTree, which has these contents: > {{ > Class: Thingy > Properties: > * {10} It follows the Rules. What's the number for? [snip] > Class: ClassTree > Inherits from: Unique, Container > Properties: > * It contains the definitions of all Classes. > * It is publicly visible [[and for Dave's sake, it can be displayed as > this flat text file until we come up with a better way to display > it.]] XML would do nicely. XSLT could get it into HTML. Complete with cross-references, too. > }} > }} Interesting. I like it. - -- bd Lei da experiência: Só sabe a profundidade da poça quem cai nela. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE+rCvHx533NjVSos4RAiYZAKDGRdAD8GB7vH6tMpDsOJqIy9n9iQCgoqdR 2n/YgsLWdgHwJK7AFQf7jeM= =X2EP -----END PGP SIGNATURE----- _______________________________________________ spoon-discuss mailing list spoon-discuss@xxxxxxxxx http://lists.ellipsis.cx/mailman/listinfo/spoon-discuss