Chapter 4: Kinds
4.7. New value properties

Moving on to properties which contain values, such as the "matching key" property of a door or a container, we need to use a different formulation.

A dead end has some text called river sound. The river sound of a dead end is usually "a faint whispering of running water". The Tortuous Alcove has river sound "a gurgle of running water".

The property "river sound" is now applicable only to dead ends, and we would not be allowed to talk about it in any other context. As can be seen, it holds a piece of text. If we tried the following:

The river sound of the Tortuous Alcove is 7.

...then Inform would object, because the number 7 is the wrong kind of value to go into the "river sound" property. If we need a numerical property, we can try this instead:

A dead end has a number called the difficulty rating. The Tortuous Alcove has difficulty rating 7.

Suppose that we were to add:

The Exquisitely Narrow Defile is a dead end.

The Defile must have a river sound, of course, because we said that every dead end would have one. Now in fact the Defile will be provided for because we also said:

The river sound of a dead end is usually "a faint whispering of running water".

But suppose there are no instructions at all about the value of a property? What Inform does is to start off the property holding the "default value" for this kind of value: for instance, it sees that the river sound has to be "some text", and it fills in the default value for text: which is the empty text, consisting of no words at all, and written "". Similarly, its difficulty rating is set to 0. (A table of the kinds which can be used for properties, and their default values, can be found in the Kinds index.)


51
* Example  Would you...?
Adding new properties to objects, and checking for their presence.

RB
52
** Example  Straw Boater
Using text properties that apply only to some things and are not defined for others.

RB


PreviousContentsNext