Project Phase #3 - COMP 303
- Due at the beginning of class, Thursday, March 10.
Complete implementation of GUI-based simulator
The purpose of this milestone is to complete the implementation of
a GUI-based version of the simulator.
You should be able to invoke your GUI-based simulator using:
java ant.GuiMain < optional flags >
Your GUI should support at least the following:
- Buttons to read in the red ant file, the black ant file and the world,
with the appropriate window-based browsing for these files.
- Buttons to start, stop and pause the simulation. The stop button
just stops the simulation - a subsequent press of the start button
should restart at the beginning. The pause button also stops the
simulation, but a subsequent press of the button should
resume at the paused location.
- Buttons or a slider bar used to control the speed of the simulator.
- A display of the simulation as it proceeds, showing the state of the
board and the current score for the red and black ants.
You may support more features if you wish. Remember one of our prizes is
for the coolest GUI.
What to hand-in
- A discussion of how you changed your design to integrate the GUI. You
should include any new design documents for the parts you have added.
- A discussion of any limitations or extra features of your GUI-based
simulator.
- A discussion of the sorts of JUnit tests you implemented.
- The html generated using javadoc for your implementation.
- The build.xml file needed for your project to date. This
should support targets for init , clean ,
compile , build , javadoc and junit .
- Your build target should now generate two .jar files. It should build
the original simulator.jar which contains only the command-line based
simulator and can be run using can be run using
java -jar simulator.jar ... . It should also include another
.jar file guisimulator.jar which should contain all of the class
files for both the command-line simulator and the GUI-based simulator.
It should be possible to run the GUI-based simulator
using java -jar guisimulator.jar .
You should hand in a hardcopy for questions 1, 2 and 3.
In addition, you should e-mail to the TA a file YourLastname.jar
file which has the following directory structure.
YourLastName/
README
build.xml build file for ant
bin/ any scripts you have developed
classes/ where your generated classes go
design/ any online design documentation
doc/ where your generated javadoc html goes
lib/ where generated .jar files go
src/ java/aspectj/junit source files for your project
(organized into a good package structure)
You can create a clean directory (that does not have the hidden svn files) using:
svn export YourSVNWorkingDirectory YourLastName
to export a clean copy of your project to a directory called YourLastName.
You can create the jar file by using:
jar -cvf YourLastName.jar YourLastName
to create the jar file to send to the TA.