Message-ID: <3AF6AD00.D4617B83@csi.com>
Date: Mon, 07 May 2001 10:11:12 -0400
From: John Colagioia <JColagioia@csi.com>
Organization: No Conspiracy Here...
X-Mailer: Mozilla 4.77 [en] (Win98; U)
X-Accept-Language: en,fr,ru,es,it,ga,de,ja,gd,eu
MIME-Version: 1.0
Newsgroups: rec.arts.int-fiction
Subject: Re: [Inform] "Take of"... it works!
References: <SFfJ6.26860$UW4.1762983@news.infostrada.it>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 208.34.37.104
X-Original-NNTP-Posting-Host: 208.34.37.104
X-Trace: excalibur.gbmtech.net 989244663 208.34.37.104 (7 May 2001 10:11:03 EST)
Lines: 56
X-Authenticated-User: jnc
X-Original-NNTP-Posting-Host: 127.0.0.1
Path: news.duke.edu!newsgate.duke.edu!news-hog.berkeley.edu!ucberkeley!newshub.sdsu.edu!newspeer.cts.com!news-feeds.jump.net!uunet!dfw.uu.net!arb.uu.net!nyc.uu.net!excalibur.gbmtech.net
Xref: news.duke.edu rec.arts.int-fiction:86604

Francesco Cordella wrote:

> It's true that only trying to program you can discover how difficult is to
> create a game.

Heh.  This is very true.  The people here make it largely look easy.


> I had a problem with a preposition, and I could find the solution, but then
> I discovered that my problem is also the problem of many famous (and less
> famous) games!!!
> The problem is with the preposition "of".
> Let's see some example:

[...]

> In Hitchickers Guide to the Galaxy, in the Front Porch, you see a "loose
> pile of junk mail", if you type "get of"... You'll take it!! (but here is
> better, because the answer is "(loose pile of junk mail). Taken". And then
> if you type "Examine of" the games says "Examine what?"

[...]

> I wonder that all this happens because "of" is a NAME.

It is, as far as I can tell.


> And I wonder that the solution is a parse_name routine for the preposition
> "of". Isnt?

It seems to me that what you could do is create an "empty" parse_name function
(the starting point being the first item on
http://www.eblong.com/zarf/inftricks/tip_parsename.html).  The trick is to
allow 'of,' but not by itself.  This will kind-of sort-of work:
    parse_name [ wd num working;
         wd = NextWord();
         while (WordInProperty(wd, self, name) || wd == 'of') {
           if (wd ~= 'of')
             working = 1;
           num++;
           wd = NextWord();
         }
         if (working)
           return num;
       ],
That is, if it's any of the "name" words--or "of"--accept the name, but only
acknowledge it if other words are involved.  This will still allow "take the
box of" or even "take of box widgets the," probably, but that's an Infocom
"paradigm" that has been inherited by most Inform programmers:  It is better to
accept too much than too little.  Accepting too much means you confuse a person
who does something rare.  Accepting too little means that you annoy a player
who doesn't think like you--and it's usually more programming, which means the
chance for bugs is much greater.


