The game starts with meek John Covarth walking down the street. We set
up the game as usual:
-.. code-block:: inform6
+.. code-block:: inform
!% -SD
!============================================================================
Almost everything is familar, apart from a few details:
-.. code-block:: inform6
+.. code-block:: inform
Constant MANUAL_PRONOUNS;
Constant MAX_SCORE 2;
of an equals sign ``=`` is optional with ``Constant``; these two lines
have identical effect:
-.. code-block:: inform6
+.. code-block:: inform
Constant ROOM_SCORE 1;
Inform provides for displaying strings of text. Until now, we have shown
you:
-.. code-block:: inform6
+.. code-block:: inform
print "And now for something completely different...^"; return true;
...
example games, this happens quite a lot, so there is a yet shorter way
of achieving the same result:
-.. code-block:: inform6
+.. code-block:: inform
"And now for something completely different...";
You'll notice that -- unusually for a room -- our ``street`` object has
a ``name`` property:
-.. code-block:: inform6
+.. code-block:: inform
Room street "On the street"
with name 'city' 'buildings' 'skyscrapers' 'shops' 'apartments' 'cars',
big box on the sidewalk; therefore we define a ``container`` set in the
street, which players may enter:
-.. code-block:: inform6
+.. code-block:: inform
Appliance booth "phone booth" street
with name 'old' 'red' 'picturesque' 'phone' 'booth' 'cabin'
connection to the as-yet-undefined café room and a default message for
the movement which is not allowed):
-.. code-block:: inform6
+.. code-block:: inform
Room street "On the street"
with name city' 'buildings' 'skyscrapers' 'shops' 'apartments' 'cars',
"No time now for exploring! You'll move much faster in your
Captain FATE costume.";
-.. todo::
-
- Notice how the syntax coloring thinks that the exclaimation point
- above is a comment. This is another problem with the built-in inform6
- syntax highlighter.
-
That takes care of entering the booth. But what about leaving it?
Players may type EXIT or OUT while they are inside an enterable
container and the interpreter will oblige but, again, they might type
inside the booth) and to the north we have the café. We may provide for
this condition in the room's ``before`` property:
-.. code-block:: inform6
+.. code-block:: inform
before [;
Go:
also refer to the café, so we express our bafflement and force the
player to try something else:
-.. code-block:: inform6
+.. code-block:: inform
n_to cafe,
s_to [; <<Enter booth>>; ],
can’t see outside the container, only the inside_description is
displayed. Take for instance the following (simplified) example:
-.. code-block:: inform6
+.. code-block:: inform
Room stage "On stage"
with description
value: instead of a string, we write an embedded routine. Here's the
(almost) finished room:
-.. code-block:: inform6
+.. code-block:: inform
Room street "On the street"
with name 'city' 'buildings' 'skyscrapers' 'shops' 'apartments' 'cars',
The description while inside the booth mentions the sidewalk, which
might invite the player to EXAMINE it. No problem:
-.. code-block:: inform6
+.. code-block:: inform
Appliance "sidewalk" street
with name sidewalk' 'pavement' 'street',
looks from the *inside*); but while we are on the street we need
something else to describe it:
-.. code-block:: inform6
+.. code-block:: inform
Appliance outside_of_cafe "Benny's cafe" street
with name 'benny^s' 'cafe' 'entrance',
by defining the ``description`` property as any of these:
- .. code-block:: inform6
+ .. code-block:: inform
description
"The town's favourite for a quick snack, Benny's caf@'e has a 50's
in just one place of our code, because this helps clarity. To achieve
this, we redirect the street's ``n_to`` property thus:
-.. code-block:: inform6
+.. code-block:: inform
n_to [; <<Enter outside_of_cafe>>; ],
nicety that many players regard as important. For this mission, we make
use of the ``LibraryMessages`` object.
-.. code-block:: inform6
+.. code-block:: inform
Include "Parser";
number of the message to be displayed, so you can change the default
with a test like this:
-.. code-block:: inform6
+.. code-block:: inform
if (lm_n == 39)
"That's not something you need to refer to in order to SAVE the day.";
-.. todo::
-
- That block of code above should be colored. Is there a defect in the
- syntax highlighting code?
-
where 39 is the number for the standard message "That's not something
you need to refer to in the course of this game" -- displayed when the
player mentions a noun which is listed in a room's name property, as we
.. note::
- remember that when we are testing for different values of the
+ Remember that when we are testing for different values of the
same variable, we can also use the switch statement. For the
Miscellany entry, the following code would work just as nicely:
- .. code-block:: inform6
+ .. code-block:: inform
...
Miscellany: