Zorkian Trophy Case Example?

Hello - Using Inform7, and I’m trying to implement a feature in my game where the player has to find a number of needed items and put them in a suitcase, like packing your luggage before you go on a vacation. Fore example, lets say I have 10 items you need to find and then put in a suitcase, and when they are all accounted for then the suitcase is now “packed”, telling the game you’ve found all the items. I managed to get this to work with 1 item, but am unsure how to go about creating a list of 10 items which have to be in the suitcase before it is flagged as “packed”. Being new, I’m afraid I’m totally lost when it comes to figuring out how to set this up with (tables? checks? variables?)? Does anyone here know of a good example they can point me to somewhere - or give me any pointers? Thanks for any help or responses.

I’d imagine there two main schools of thought on this. One with lists and one with properties.

Doing something like this with properties would follow something along the lines of what I did, below.

Essentially, it just labels various items “important” (or in this case “important to pack”) and then declares the suitcase packed when all of those items are in there.

A list would function similarly, but the suitcase would then have the list of important things, instead of items carrying around their “important” flag. I’m sure that the scope of game and number of important items would largely determine which was more efficient from a coding perspective, but here’s at least one example to work with.

A suitcase is a container. 

A thing can be important to pack. A thing is usually not important to pack.

Definition: The suitcase is packed if every important to pack thing is in the suitcase.

Before printing the name of a packed suitcase, say "completely packed ".

A hairbrush is an important to pack thing. A toothbrush is an important to pack thing. 

A pillow is a thing. [Unimportant]

The hotel room is a room. Everything is in the hotel room.

test me with "x suitcase / put hairbrush in suitcase / x suitcase / put pillow in suitcase / x suitcase / get pillow / put toothbrush in suitcase / x suitcase"

Thanks for the help! By the way, as an aside to this, every now and then when I write a long text and compile I get an error: “too much text in quotation marks - The maximum length is very high, so this is more likely to be because a close quotation mark was forgotten.” I don’t quite understand it because it doesn’t seem like I’ve written too much text, but I don’t know how to get around this error? I could split the text up into different pages in a book which could be read separately, but in some cases I’d rather just write a longish text entry and save the player the trouble of “looking up page 1, 2, ect.” Is there some trick to getting Inform7 to run longer text???

I don’t know of a trick. What I have done in the past is this:

[code]The description is “[long-desc].”

To say long-desc:
say “blah blah blah. [run paragraph on]”;
say “more blah blah blah. [run paragraph on]”;
say “the last of the blah blah blah”;[/code]
Note that the last one doesn’t end with a period, because the period is in the original text block.

As an alternate method:

The ball is a thing. The description is "some particularly long text ... [ball desc 2]". To say ball desc 2: say "extra long text ... [ball desc 3]". To say ball desc 3: say "even more very especially long text ... [ball desc 4]". And so on.