Script Classes for Adventure Games/Inventory Class: Difference between revisions
No edit summary |
No edit summary |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Category:SCI Pages]] | |||
[[Official SCI Documentation]]<br /> | [[Official SCI Documentation]]<br /> | ||
[[Script Classes for Adventure Games | Table of Contents]] | [[Script Classes for Adventure Games | Table of Contents]] | ||
<div align="center"> | <div align="center"> | ||
Chapter: | Chapter: | ||
| Line 33: | Line 32: | ||
[[Script Classes for Adventure Games/Global Variables|27]] | | [[Script Classes for Adventure Games/Global Variables|27]] | | ||
[[Script Classes for Adventure Games/Index|Index]] | [[Script Classes for Adventure Games/Index|Index]] | ||
</div> | </div> | ||
<div align="center"><span style="font-size: 22pt">The Inventory Class</span><br />''Author: [[Jeff Stephenson]]''<br />''1988-04-05''</div></div> | |||
<div align="center"><span style="font-size: 22pt">The Inventory Class</span><br /> | |||
''Author: [[Jeff Stephenson]]''<br /> | |||
'' | |||
<br /> | |||
==<br /> The Inventory Class == | ==<br /> The Inventory Class == | ||
| Line 86: | Line 81: | ||
==<br /> References == | ==<br /> References == | ||
<references /> | <references /><!-- Do not edit this section. It is autopopulated by <ref></ref> tags --> | ||
==<br /> See | ==<br /> Also See == | ||
* [[:Category:SCI Documentation|SCI Documentation]] | |||
* [[:Category:Official SCI Documentation|Official SCI Documentation]] | |||
* [[:Category:SCI Scripting|SCI Scripting]] | |||
* [[:Category:SCI Classes|SCI]] | |||
* [[:Category:SCI Inventory Class | The SCI Inventory Class]] | |||
* [[SCI Specifications]] | * [[SCI Specifications]] | ||
| | ||
[[Official SCI Documentation]]<br /> | |||
[[Script Classes for Adventure Games | Table of Contents]] | [[Script Classes for Adventure Games | Table of Contents]] | ||
<span style="float: left">[[Script Classes for Adventure Games/EventHandler Class|< Previous: The EventHandler Class]]</span> | <span style="float: left">[[Script Classes for Adventure Games/EventHandler Class|< Previous: The EventHandler Class]]</span> | ||
<span style="float: right">[[Script Classes for Adventure Games/Script Class|Next: The Script Class >]]</span> | <span style="float: right">[[Script Classes for Adventure Games/Script Class|Next: The Script Class >]]</span> | ||
| | ||
[[Category:References]] | [[Category:References]] | ||
[[Category:SCI References]] | [[Category:SCI References]] | ||
[[Category:Historical Pages]] | |||
[[Category:SCI Historical Pages]] | |||
[[Category:Development]] | |||
[[Category:SCI Development]] | |||
[[Category:Documentation]] | [[Category:Documentation]] | ||
[[Category:SCI Documentation]] | [[Category:SCI Documentation]] | ||
[[Category:Official Documentation]] | |||
[[Category:Official SCI Documentation]] | |||
[[Category:Scripting]] | [[Category:Scripting]] | ||
[[Category:SCI Scripting]] | [[Category:SCI Scripting]] | ||
[[Category:Classes]] | [[Category:Classes]] | ||
[[Category:SCI Classes]] | [[Category:SCI Classes]] | ||
[[Category:Inventory Class]] | |||
[[Category:SCI Inventory Class]] | |||
[[Category:Methods]] | |||
[[Category:Inventory]] | |||
[[Category:SCI Inventory]] | |||
Latest revision as of 22:47, 7 January 2026
Official SCI Documentation
Table of Contents
Chapter:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
Index
The Inventory Class
The Inventory class is a List of all the objects (see the InvItem class) which may be collected by ego in a game. There are two steps to setting up the inventory.
First, in the main header file for the game (typically game.sh), create an enum statement listing all the symbols which you will use to refer to the inventory items. In order to avoid name conflicts, these are traditionally the names preceded by an 'i': a rock might be referred to as "iRock".
Next, in the main game file (the file in which you define your instance of Game), you create the instances of InvItem which are the inventory items. These are added to the Inventory (whose ID is in the global variable inventory) in the init: of the game after the (super init:). The InvItems must be added to the inventory in the order in which they are listed in the enum statement above (a block copy works wonders...).
From now on you may get the object ID of any InvItem with the at: method of Inventory by using the symbol for the item defined in the enum statement. If you wanted to move the rock from its current position to room number 15, you could write
Code:((inventory at:iRock) moveTo:15)
The get:, put:, and has: methods of the Ego class use the enumed symbols rather than the object ID. Thus, to see if ego has the rock, you would write
Code:(ego has:iRock)
| In file: | invent.sc |
| Inherits from: | List |
| Inherited by: | none |
Methods
showSelf: whomDisplay the items possessed by whom. This is done by putting up a window with all currently possessed items in it. By clicking the mouse on an item, the user may see a picture of it and receive a more detailed description of it. Ego's possessions are done with
Code:(inventory showSelf:ego)
saidMe =Return the object ID of the first item in the inventory whose said property matches what the user typed.
References
Also See
- SCI Documentation
- Official SCI Documentation
- SCI Scripting
- SCI
- The SCI Inventory Class
- SCI Specifications