Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!news.ruhr-uni-bochum.de!news-koe1.dfn.de!main.Germany.EU.net!Germany.EU.net!EU.net!howland.erols.net!netcom.com!erkyrath
From: erkyrath@netcom.com (Andrew Plotkin)
Subject: Re: [Inform] annoying pronouns
Message-ID: <erkyrathE3nCt7.AFE@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <Pine.SGI.3.95L.970107093713.14934A-100000@tower.york.ac.uk>
Date: Tue, 7 Jan 1997 16:36:43 GMT
Lines: 46
Sender: erkyrath@netcom.netcom.com

John J Lee (jjl101@york.ac.uk) wrote:

> I hope I didn't post this thing last term and forget about it...

You didn't say what language you're using; I'm assuming Inform because I 
know the answer. :)

> Anyway:
> --
> > x desk

> The desk contains a fascinating Widget.

> > take it

> You can't do that to the desk!
> --
> D'oh!  Surely there's some way of stopping this.

Object desk
with description [;
  itobj = widget;
  "The desk contains a fascinating Widget.";
],

The problem is that if you want to do this, you really ought to do it 
consistently. Which is a tremendous pain in the butt. If it was only in 
this instance, the player would not be expecting it (since "it" usually 
refers to the last item *he* referred to.) Then you'd get

> x desk
The desk contains a fascinating Widget.
> put Boring Widget on it
You can't put things on the fascinating Widget!

which is just as annoying.

A very crude solution would be to have the printing functions (CDefArt, 
etc) set "itobj" to their arguments. This would work very badly.

--Z

-- 

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the
borogoves..."
