X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=chapters%2F07.rst;h=9e928a32e898d745ea1377d30433f4ae07f42881;hb=d102cdffefa7d68901d9f6e7d564656270bd0280;hp=4a8031b369df988dd1ba045d6ded4218b7557950;hpb=a94081289bc21041a8daac44d8c8b6714a831281;p=ibg.git diff --git a/chapters/07.rst b/chapters/07.rst index 4a8031b..9e928a3 100644 --- a/chapters/07.rst +++ b/chapters/07.rst @@ -141,6 +141,8 @@ hasnt visited)``, you'll have to change that as well. Worse, if you *forget* to change it, the game will still work -- but not in the way you'd intended, and the resulting bug will be quite difficult to track down. +.. _adding-props: + Adding some props ================= @@ -259,6 +261,8 @@ true if *any* of those individual tests is true. And in the third example we introduce the ``or`` keyword, which is a more succinct way of achieving exactly the same result. +.. _possessions: + The player's possessions ======================== @@ -492,7 +496,7 @@ interaction. Additionally, a new ``life`` property -- very similar to ``before`` -- can be defined to intercept them. Here we use it to trap speech-related commands such as ASK HELGA ABOUT APPLE and TELL WALTER ABOUT BABIES, telling players that in this game we've implemented only a simpler -TALK verb (which we describe in "Verbs, verbs, verbs" on page 111). +TALK verb (which we describe in :ref:`verbs`). Based on the NPC class we've created, here's Helga:: @@ -538,8 +542,7 @@ scored; when it changes like this, the interpreter tells the player that "Your score has just gone up by one point". There are also ``life`` and ``times_spoken_to`` properties (which we'll -talk about in "William Tell: the end is nigh" on page 103) and an -``initial`` property. +talk about in :doc:`09`) and an ``initial`` property. ``initial`` is used when the interpreter is describing a room and listing the objects initial you can see there. If we *didn't* define it, you'd get @@ -619,7 +622,7 @@ we *could* write two ``if`` statements:: enough. How's Frau Tell? Give her my best wishes.~^"; but that's unbearably clumsy; instead, we use the braces to group the -``move`` and ``print`` statement into a **statement block** (sometimes +``move`` and ``print`` statement into a :term:`statement block` (sometimes known as a code block) which counts as a single statement for the purposes of control by the ``if`` statement. :: @@ -702,5 +705,5 @@ neatly:: We've done a lot of scene-setting, but the real action is still to come. Next, it's time to define the town square, and create a confrontation between Wilhelm and the vogt's soldiers. (But first, see again -"Compile-as-you-go" on page 233 if you're typing in the game as you read -through the guide.) +:ref:`compile-as-you-go` if you're typing in the game as you read through +the guide.)