| *E was an esquire, with pride on his brow;*
| *F was a farmer, and followed the plough.*
-Each of the three games in this guide is created step by step; you'll get
+.. only:: html
+
+ .. image:: /images/picE.png
+ :align: left
+
+.. raw:: latex
+
+ \dropcap{e}
+
+ach of the three games in this guide is created step by step; you'll get
most benefit (especially to begin with) if you take an active part, typing
in the source code on your computer. Our first game, described in this
chapter and the two which follow, tells this sentimental little story:
Ensure the file is named ``Heidi.inf``, rather than ``Heidi.txt`` or
``Heidi.inf.txt``.
- Remember that, throughout this guide, we place the "TYPE" symbol
+ Remember that, throughout this guide, we place the "``TYPE``" symbol
alongside pieces of code that we recommend you to type into your own
game files as you read through the examples (which, conversely, means
- that you don't need to type the unmarked pieces of code). You'll learn
- Inform more quickly by trying it for yourself, rather than just taking
- our word for how things work.
+ that you *don't* need to type the unmarked pieces of code). You'll
+ learn Inform more quickly by trying it for yourself, rather than just
+ taking our word for how things work.
.. todo::
By the way, the compiler *doesn't* give special treatment to exclamation
marks in quoted text: ``!`` within quotes "..." is treated as a normal
character. On this line, the first ``!`` is part of the sequence (or
- string) of characters to be displayed:
+ **string**) of characters to be displayed:
.. code-block:: inform
Include "Parser";
Include "VerbLib";
- ! ...
+ ...
Include "Grammar";
They always have to be in this order, with ``Parser`` and ``VerbLib``
name 'bird^s' 'nest' 'twigs' 'moss',
has ;
-The ``name`` introduces a list in single quotes '...'. We call each of
-those quoted things a **dictionary word**, and we do mean "word", not
-"phrase" (``'baby'``\ ``'bird'`` rather than ``'baby bird'``); you can't
-uses spaces, commas or periods in dictionary words, though there's a space
-*between* each one, and the whole list ends with a comma. The idea is that
-the interpreter decides which object a player is talking about by matching
-what she types against the full set of all dictionary words. If the player
-mentions BIRD, or BABY BIRD, or NESTLING, it's the ``baby bird`` that she
-means; if she mentions NEST, BIRD'S NEST or MOSS, it's the ``bird's nest``.
-And if she types NEST BABY or BIRD TWIGS, the interpreter will politely say
-that it doesn't understand what on earth she's talking about.
+The ``name`` introduces a list in single quotes '...'. We call each of
+those quoted things a **dictionary word**, and we do mean "word", not
+"phrase" (``'baby'``\ ``'bird'`` rather than ``'baby bird'``); you can't
+uses spaces, commas or periods *in* dictionary words, though there's a
+space *between* each one, and the whole list ends with a comma. The
+idea is that the interpreter decides which object a player is talking
+about by matching what she types against the full set of all dictionary
+words. If the player mentions BIRD, or BABY BIRD, or NESTLING, it's the
+``baby bird`` that she means; if she mentions NEST, BIRD'S NEST or MOSS,
+it's the ``bird's nest``. And if she types NEST BABY or BIRD TWIGS, the
+interpreter will politely say that it doesn't understand what on earth
+she's talking about.
.. note::
name 'wide' 'firm' 'flat' 'bough' 'branch',
has static supporter;
-The only new things are those two labels. ``static`` is similar to
-``scenery``: it prevents the branch from being picked up by the player
-character, but *doesn't* suppress mention of it when describing the
-setting. And ``supporter`` is rather like the ``container`` that we used
-for the nest, except that this time the player character can put other
-objects *onto* the branch. (In passing, we'll mention that an object can't
-normally be both a ``container`` and a ``supporter``.) And so here are our
-objects again:
+The only new things are those two labels. ``static`` is similar to
+``scenery``: it prevents the branch from being picked up by the player
+character, but *doesn't* suppress mention of it when describing the
+setting. And ``supporter`` is rather like the ``container`` that we
+used for the nest, except that this time the player character can put
+other objects *onto* the branch. (In passing, we'll mention that an
+object can't normally be both a ``container`` *and* a ``supporter``.)
+And so here are our objects again:
.. code-block:: inform