Section 18.7 - Closing Remarks on Program Small

I haven't explained every detail of program Small, but hopefully by now you've got a flavor of it.

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 binding 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.

Note that the following legal note appears in each file of program Small:

-- Copyright (C) 1996 Ada Resource Association (ARA), Columbus, Ohio.
-- Author: David A. Wheeler

-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright and authorship notice appear in all
-- copies and that both that copyright notice and this permission notice
-- appear in supporting documentation.
-- The ARA makes no representations about the suitability of this software
-- for any purpose.  It is provided "as is" without express
-- or implied warranty.

There is no quiz question for this section.

You may go to the next section.

You may also:

PREVIOUS Go back to the previous section

OUTLINE  Go up to the outline of lesson 18

David A. Wheeler (

The master copy of this file is at "".