Revert to original minimal Inform lexer.
[ibg.git] / chapters / 05.rst
index 87b89887f52b37394bf204c21bfe7f89c197005e..f1342a93da49ccf5d25a9e1639482f13a5552793 100644 (file)
@@ -7,7 +7,16 @@
    | *I was an innkeeper, who loved to carouse;*
    | *J was a joiner, and built up a house.*
 
-In even the simplest story, there's bound to be scope for the player to
+.. only:: html
+
+  .. image:: /images/picI.png
+     :align: left
+
+.. raw:: latex
+
+    \dropcap{i}
+
+n even the simplest story, there's bound to be scope for the player to
 attempt activities that you hadn't anticipated.  Sometimes there may be
 alternative ways of approaching a problem: if you can't be sure which
 approach the player will take, you really ought to allow for all
@@ -55,7 +64,7 @@ LISTEN TO NEST or LISTEN TO TREE, but fairly inappropriate here; we really
 need to substitute a more relevant response after LISTEN TO BIRD.  Here's
 how we do it:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   bird "baby bird" forest
      with   description "Too young to fly, the nestling tweets helplessly.",
@@ -124,7 +133,7 @@ false`` then the interpreter carries on to perform the default action as
 though it hadn't been intercepted.  Sometimes that's what you want it to
 do, but not here: if instead we'd written this:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object    bird "baby bird" forest
      with    description "Too young to fly, the nestling tweets helplessly.",
@@ -171,7 +180,7 @@ might lead her to believe that she can go inside:
 Again, that isn't perhaps the most appropriate response, but it's easy to
 change:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object    before_cottage "In front of a cottage"
      with    description
@@ -212,7 +221,7 @@ receives the obviously nonsensical reply "You can't see any such thing".
 That's easy to fix; we can add a new ``cottage`` object, making it a piece
 of ``scenery`` just like the ``tree``:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   cottage "tiny cottage" before_cottage
      with   description "It's small and simple, but you're very happy here.",
@@ -235,7 +244,7 @@ response:
 The situation here is similar to our LISTEN TO BIRD problem, and the
 solution we adopt is similar as well:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   cottage "tiny cottage" before_cottage
      with   description "It's small and simple, but you're very happy here.",
@@ -252,7 +261,7 @@ This time, however, we've done it using one statement rather than two.  It
 turns out that the sequence "``print`` a string which ends with a newline
 character, and then ``return true``" is so frequently needed that there's a
 special statement which does it all.  That is, this single statement (where
-you'll note that the string doesn't need to end in ``^``)::
+you'll note that the string *doesn't* need to end in ``^``)::
 
      print_ret "It's such a lovely day -- much too nice to go inside.";
 
@@ -273,7 +282,7 @@ currently gives the completely misleading response "I don't think much is
 to be achieved by that").  Yet another opportunity to use a ``before``
 property, but now with a difference.
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   tree "tall sycamore tree" clearing
      with   description
@@ -337,7 +346,7 @@ interception not on an object-by-object basis, as we have been doing so
 far, but instead for every ``Drop`` which takes place in our troublesome
 ``top_of_tree`` room.  This is what we have to write:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   top_of_tree "At the top of the tree"
      with   description "You cling precariously to the trunk.",
@@ -418,7 +427,7 @@ Of course, you might think that the standard message "Dropped" is slightly
 unhelpful in these non-standard circumstances.  If you prefer to hint at
 what's just happened, you could use this alternative solution:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   top_of_tree "At the top of the tree"
      with   description "You cling precariously to the trunk.",
@@ -445,7 +454,7 @@ nest, or vice versa.  It would be better not to end the game until we'd
 checked for the bird actually being in the nest; fortunately, that's easy
 to do:
 
-.. code-block:: inform6
+.. code-block:: inform
 
    Object   branch "wide firm bough" top_of_tree
      with   description "It's flat enough to support a small object.",
@@ -458,7 +467,7 @@ The extended ``if`` statement::
     if (bird in nest && nest in branch) deadflag = 2;
 
 should now be read as: "Test whether the ``bird`` is currently in (or on)
-the ``nest``, and whether the ``nest`` is currently on (or in) the
+the ``nest``, *and* whether the ``nest`` is currently on (or in) the
 ``branch``; if both parts are ``true``, set the value of ``deadflag`` to 2;
 otherwise, do nothing".