The purpose of this first project assignment is several-fold. The
first is to give you experience with CVS. The second is to gain
experience working with a code-base others have written. The
third is to implement a few improvements to the display methods.
In order to complete this (and subsequent) project, you will need to
have a text editor and a java environment.
First, you will want to setup your CVS environment. For these
first few assignments, your CVSROOT will be
wardrobe.cs.westmont.edu:/home/maeden/Maeden. After setting
things up, you should check out a personal copy of the source ("cvs
For project 1a, you are asked to implement two enhancements to the
display routines used by Maeden.
1. First, alter the code so that the Grid and the DisplayGrid gets
updated instead of repainted. You will probably need to do a bit
of research in the Java documentation in order to determine the most
appropriate way to do this. You may not use the Thread.sleep()
method in your solution.
The main requirement is: the display must not flicker while running a
2. Second, the triangle representing an agent should be updated through
several rotations when turning, rather than simply being redrawn in its
new orientation. You may experiment with the number of rotations
and updates in order to determine an appropriate setting with visual
appeal. Similarly, the rendition of the visible portion of the
world in a GridDisplay, should be rotated as well. Again, using
Thread.sleep() is not acceptable.
The primary requirement is: the observer should percieve either the
object or the world rotating in a reasonably smooth transition.
As you work on this project, be sure
to use appropriate documentation in the code and informative log
messages when committing changes in CVS.
Submission Instructions You will not need to do anything special for
submission. At the deadline, I will checkout the the current
code-base and test it. (You will want to be sure all changes are
committed to CVS.)