I confess it has the somewhat didactic aim of attempting to demonstrate
that Inform may not necessarily be the right language to advocate for
every non-programmer.
1. You have an object that appears in several places (using the
`found_in' property), but which is `absent' to start with. Your
code executes `give object ~absent', but the object fails to
appear. Why not?
2. Can you write a room so that going north wins the game, without
producing a spurious room description before the "you have won"
message? (Remember that going north might occur because of a
command like "push car north").
3. Can you write a vehicle in which movement produces a failure
message of your own choosing, with no spurious text after it (for
example, a one-way car in which "go north" produces "The car will
only go south.").
4. Can you redefine the `ask ... about ...' verb so that it parses the
question you are asking as an object in a particular scope? Make
sure that the player can't discover which words refer to subjects
in the game (that is, "ask person about green aardvark" should
produce "No reply" or something similar, regardless of whether or
not `green aardvark' is a genuine subject of conversation).
5. How can you arrange that the command "person, yes" has the same
effect as "say yes to person" (recall that "yes" is a verb)?
6. What pitfalls are there in having an object called "Door to the
kitchen"? How would you get round them (apart from renaming it
"Kitchen door")?
7. What bugs are there in the 5/10 beta version of "AllowPushDir" (in
VerbLib.h)? How would you fix them?
8. Two rooms have a glass window separating them. How would you
implement this?
9. An NPC in the game is `transparent' because he has possessions that
the player needs to refer to, but when you give him the gun, he
hides it in an inside pocket. Any ideas how to solve this one?
Does your solution produce the correct response when the player
types `objects'?
10. A thief steals everything the player is carrying, but not anything
that player is wearing. How would you code this up? What if one
of the objects is a toffee apple that sticks to the player's hands?
-- Gareth Rees