There are lots of ways to extend this program; it's a small world, after all. You could add lots of specialized types of Item (door, key, weapon, etc.). You could add multi-playerness (this would involve finding a way to get data from multiple players, say a bindings to BSD-style sockets, and switching from Text_IO to an IO routine that would use the interface). You could permit dynamic creation and modification of the world at run-time (add a "wizard" command, and then add wizard-only commands like @create object, @destroy object, @view object, and @set object attribute=value). I haven't implemented independently active monsters, or a combat system, or magic; you might want one or more of them. Perhaps you could permit scripts to be executed at run-time.
The best way to understand Small is probably to look at it. There are several ways you can look at it:
You are strongly encouraged to wander about and look at the hypertext source code for Small, but you do not have to. The Lovelace home page has a link to Small if you choose to look at it later.
There is no quiz question for this section.
You may go to the next section.
Go back to the previous section
Go up to the outline of lesson 18
David A. Wheeler (wheeler@ida.org)