Command loop

The basic command loop is:

  1. Issue the prompt ``zurk> '' (the text ``zurk'', followed by a ``greater-than'' sign, followed by a single space.
  2. Read the PLAYER's input from STDIN.
  3. Parse the PLAYER's input into command token, followed by arguments.
  4. Look up and execute the command, including printing any messages issued by the command.
  5. Print a new ROOM description, if the PLAYER has changed ROOMs.
  6. Print a single newline.
  7. Return to 1.

Whenever the description of a ROOM is printed, the contents (OBJECT set) of that ROOM MUST also be printed, in ascending alphabetic order by OBJECT NAME.

If an ERROR or WARNING is encountered when executing a PLAYER command, a human-friendly message indicating the cause in the most possible detail MUST be issued. The PLAYER MUST NOT be exposed to internal error conditions, errors in the WDL interpretation, arbitrary exceptions or stack traces, or program crashes.



Terran Lane 2005-02-28