How do I use the indefinite article on first mention of an object then the definite article on subsequent mentions?

I have a character that, at the early stages of the game, is known as “the man”.

When the character is first mentioned, he is referred to as “a man”.

Something like this:

Steve is on the operating table.
Understand "man" and "patient" as Steve.
The printed name of Steve is "[first]the man[then]a man".

How do I get the interpreter to refer to Steve as “a man” the first time he’s mentioned, and “the man” thereafter?

It’s a nuisance to do this through the printed name. The printed name isn’t supposed to include articles like “a” or “the” – those come from elsewhere.

It might be easier to write an initial appearance property, either of Steve or the operating table. Then you can write any paragraph you like.

1 Like

Here’s a dumb way of doing it:

"ArticleMan" by Brian Rushton

Hallway is a room.

An ogre is in Hallway.

Every turn:
	now the indefinite article of an ogre is "the";

If you run it, it says:

You can see an ogre here.

Time passes.

You can see the ogre here.


But I agree with Zarf. You might as well call it ‘the ogre’ but use the initial appearance property to say ‘an ogre’ the first time it appears.

1 Like

The problem was that I wanted to refer to Steve as “a/the man” until the action of examining his name badge was carried out.

I’ve taken from the The Gopher-Wood example.

Instead of calling the patient man or Steve, I’ve called him patient because that’s what he is no matter what name we know him as. No definite/indefinite article trickiness. The patient becomes proper-named when we learn he is called Steve.

A patient is on the operating table.
Understand "man" and "patient" as the patient.
The printed name of the patient is "man".

After examining the name badge for the first time:
	now the printed name of the patient is "Steve";
	now the patient is proper-named.

Understand "Steve" as the patient when the patient is proper-named.

Ah, I didn’t quite understand what you were going for. That should work fine.

You could also do

The printed name of the patient is "[if the patient is proper-named]Steve[else]man[end if]".

This saves you from having to set the printed name property in the rule. But that’s just a matter of style. (I prefer having fewer state changes and more variable text.)