| Chapter 11: Phrases |

| 11.7. Begin and end

In practice it is not enough to apply "if" or "while" to a single phrase alone: we want to give a whole list of phrases to be followed repeatedly, or to be followed only if a condition holds.

We do this using "begin" and "end", as in the following examples.

> To comment upon (whatever - a thing):
> if whatever is transparent then say "I see right through this!";
> if whatever is an open door begin;
> say "Oh look, an open door!";
> if whatever is openable then say "But you could always shut it.";
> end if.

Here we group two phrases together under the same "if". Note that the "then" has been replaced by "begin", and that the end is marked by "end if".

Similarly for while:

> while (condition) begin; (... phrases ...); end while

The "begin" of an "if" must of course match an "end if", not an "end while", and so on.

138
| Example Matreshka A SEARCH [room] action that will open every container the player can see, stopping only when there don't remain any that are closed, unlocked, and openable.

"Matreshka" Ransacking is an action applying to one thing. Check ransacking: if the noun is not the location, say "You can hardly search [the noun] from here." instead. Carry out ransacking: while the player can see a closed openable unlocked container (called target) begin; say "[target]: [run paragraph on]"; try opening the target; end while. Report ransacking: say "You can see nothing further worth searching." The Russian Gift Shop is a room. In the Russian Gift Shop is a large wooden doll. It is closed and openable. In the large wooden doll is a medium wooden doll. It is closed and openable. In the medium wooden doll is a small wooden doll. It is closed and openable. In the small wooden doll is a tiny solid wooden doll. And now we need to borrow from a later chapter for the command that will make this work: Understand "search [any visited room]" as ransacking. Test me with "search gift shop".

139
| Example Princess and the Pea The player is unable to sleep on a mattress (or stack of mattresses) because the bottom one has something uncomfortable under it.

Previous | Contents | Next