X-Git-Url: https://jxself.org/git/?p=ibg.git;a=blobdiff_plain;f=chapters%2F06.rst;h=902ff0b26ef5a977cb4182b1169d43f80bd54f51;hp=c93c887fdd482ea7e96088cd6f0e5d8e692a5c36;hb=f9eb50b5024de49b2df4b5daab471731840195d3;hpb=71055d9a1b3d81cc44181814c4a5736f77717dba diff --git a/chapters/06.rst b/chapters/06.rst index c93c887..902ff0b 100644 --- a/chapters/06.rst +++ b/chapters/06.rst @@ -2,7 +2,7 @@ William Tell: a tale is born ============================== -.. highlight:: inform6 +.. highlight:: inform .. epigraph:: @@ -223,7 +223,7 @@ like this:: A track heads to the northeast.", has light; - ! ... + ... and we explained that just about *every* room needs that ``light`` attribute, or else the player would be literally in the dark. It's a bit @@ -245,7 +245,7 @@ write this:: A track heads to the northeast.", has ; - ! ... + ... We've done four things: @@ -267,14 +267,14 @@ We've done four things: #. We don't need to explicitly include the ``light`` attribute each time; every ``Room`` object has it automatically. -A **class** is a family of closely related objects, all of which behave in -the same way. Any properties defined for the class, and any attributes +A :term:`class` is a family of closely related objects, all of which behave +in the same way. Any properties defined for the class, and any attributes defined for the class, are automatically given to objects which you specify as belonging to that class; this process of acquisition just by being a -member of a class is called **inheritance**. In our example, we've defined -a ``Room`` class with a ``light`` attribute, and then we've specified four -objects each of which is a member of that class, and each of which gets -given a ``light`` attribute as a result of that membership. +member of a class is called :term:`inheritance`. In our example, we've +defined a ``Room`` class with a ``light`` attribute, and then we've +specified four objects each of which is a member of that class, and each of +which gets given a ``light`` attribute as a result of that membership. Why have we gone to this trouble? Three main reasons: @@ -333,7 +333,7 @@ and here is how we could have used it in "Heidi":: "Through the dense foliage, you glimpse a building to the west. A track heads to the northeast."; - ! ... + ... You'll notice that, if an object has no block of attributes, the semicolon which terminates its definition simply moves to the end of its last @@ -408,7 +408,8 @@ The interesting things that this statement demonstrates are: nest", ``(a) nest`` would display "a bird's nest", ``(A) nest`` would display "A bird's nest" and ``(name) nest`` would display just "bird's nest". This use of a word in parentheses, telling the interpreter how to - display the following object's internal ID, is called a **print rule**. + display the following object's internal ID, is called a :term:`print + rule`. * There's a library variable ``self`` which always contains the internal ID of the current object, and is really convenient when using a ``Class``. @@ -421,7 +422,7 @@ Let's see an example of this in action; here's a ``Prop`` object from Prop "south gate" street with name 'south' 'southern' 'wooden' 'gate', description "The large wooden gate in the town walls is wide open.", - ! ... + ... If players type EXAMINE GATE, they'll see "The large wooden gate..."; if they type CLOSE GATE then the gate's ``before`` property will step in and