X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=chapters%2F07.rst;h=9e928a32e898d745ea1377d30433f4ae07f42881;hb=d102cdffefa7d68901d9f6e7d564656270bd0280;hp=521fa7c3210f52bed913abaf78f2fe30604e3d6e;hpb=b387dfc43dfc85d7ff0324e27b15ba8be6b91f0c;p=ibg.git diff --git a/chapters/07.rst b/chapters/07.rst index 521fa7c..9e928a3 100644 --- a/chapters/07.rst +++ b/chapters/07.rst @@ -2,7 +2,7 @@ William Tell: the early years =============================== -.. highlight:: inform6 +.. highlight:: inform .. epigraph:: @@ -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. :: @@ -644,7 +647,7 @@ all of them loop statements that we don't encounter in this guide). if (condition) { statement; statement; - ! ... + ... } but other designers have their own preferences, including:: @@ -652,20 +655,20 @@ all of them loop statements that we don't encounter in this guide). if (condition) { statement; statement; - ! ... + ... } if (condition) { statement; statement; - ! ... + ... } if (condition) { statement; statement; - ! ... + ... } Although we've not yet needed to use it, now would probably be a good time @@ -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.)