I’m considering another extension idea, for representing multiple objects with backdrops:
Section - Multitudes
A multitude is a kind of backdrop.
Section - The Littering Relation
Vague quantity is a kind of value. The vague quantities are none, single, a couple, a few, and a great many.
Littering relates one multitude to various rooms. The verb to litter (he litters, they litter, he littered, it is littered, he is littering) implies the littering relation.
The littering relation has a vague quantity called the amount.
Section - Updating Multitudes
The current mess is a multitude that varies.
Definition: A room is messy if it is littered by the current mess.
To update multitudes:
Repeat with the mess running through multitudes:
Now the current mess is the mess;
Move the mess backdrop to all messy rooms;
update backdrop positions.
When play begins:
Section - Invocations
Gravel is a multitude.
The quarry is a room. The quarry is littered by gravel.
The road is west of the quarry.[/code]
This code compiles as long as I leave out the line “the littering relation has a vague quantity called the amount.” I was afraid that wouldn’t work, but I don’t want to give up on it if the only problem is that I’m using the wrong syntax.
What I want is basically a table listing the amount of each multitude in each room. So if I were to implement it as a table, it would have to have (number of rooms * number of multitudes) rows. That sounded like a relation to me, except that it needs a third column for the amount. So - can it be done with a relation? Or, is it possible to create a table with a calculated number of rows? Or should I just have a fixed number of rows and try to figure out how to fail gracefully if it overflows?