![]() | 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 by grouping them together, and there are two ways to do this. One is as follows:
To comment upon (whatever - a thing):
if whatever is transparent then say "I see right through this!";
if whatever is an open door:
say "Oh look, an open door!";
if whatever is openable then say "But you could always shut it."
Here we group two phrases together under the same "if". Note that the "then" has been replaced by a colon, and that the indentation in the list of phrases shows how they are grouped together. That's the convention used in this manual and in the examples, but not everybody likes this Pythonesque use of indentation. So Inform also recognises a more explicit form, in which the beginning and ending are marked with the words "begin" and "end":
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.
(Pythonesque because it's a style popularised by the programming language Python, named in turn after "Monty Python's Flying Circus".)
Similarly for while:
while ...:
...
or alternatively --
while ...
begin;
...
end while.
(The "begin" of an "if" must of course match an "end if", not an "end while", and so on.)
| ![]() The player is unable to sleep on a mattress (or stack of mattresses) because the bottom one has something uncomfortable under it. |
|
| ![]() 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. |
|
Previous | Contents | Next |