The designer MUST implement a Java Swing-based GUI that supports the
following functionality:
- Ability to load WORLD SIMULATOR files from disk (including the
MAP component).
- Ability to load AGENT TRAJECTORY files from disk.
- Ability to display the complete MAP. (This may require
scrolling to fit entirely.)
- Implementation of visual differences between different terrain types.
- Support for distinct visual icons displaying the locations of
START and GOAL STATEs (if any have been defined for this MAP).
- Some indication of the locations of non-zero REWARDS. This
capability MAY provide some indication of the magnitude of
REWARDs, but it MUST, at the least, indicate the SIGN of
rewards. (E.g., coloring a cell blue for a positive REWARD or
red for a negative REWARD.)
- A distinct visual icon for the current LOCATION and ORIENTATION
of the AGENT.
- A method for indicating which LOCATIONs the AGENT has
encountered during a TRAJECTORY. This capability MAY provide
some indication of the number of times during the trajectory the
LOCATION was encountered or, possibly, when in the trajectory
the LOCATION was encountered. But, at the minimum, it MUST
indicate which LOCATIONs were touched.
- A method for ``playing back'' a TRAJECTORY in real-time. That
is, it must be possible to load a stored TRAJECTORY from disk
and watch the AGENT execute that TRAJECTORY. The time between
steps of the TRAJECTORY MAY be a fixed constant or it MAY be a
user-settable parameter. If it is a fixed constant, a value of
333ms between displayed steps is suggested.
The designer MAY use any elements of the Java Swing and/or AWT
libraries to implement this functionality. It is strongly
recommended that the designer use a JPanel with a
GridLayout layout manager to support visualization of
gridworlds.
Terran Lane
2005-09-29