STATEMENT OF COMPLETION
I went completely overboard on this
assignment. What was at first lots of fun to hack together was, in the
end, a real chore to tidy up. Some parts are still a bit dirty. I have
left all my comments and debug statements in due to lack of time (use Java
Console to see debug statements). I have used a special comment (usually)
when a comment is a note to me to do something. This special comment is
'//!'.
Additional features as per assignment
specification:
| Provide visual feedback ("rubber banding"). |
Yes |
| Pick a colour for the next line. |
Yes |
| Allow to selectively delete previously draw lines. |
No. Only the last drawn object can be deleted using undo. This is however
unlimited. |
Other features:
-
Selectable background colours
-
Parameterised applet
-
Also runs as an application
-
Use of popup menus
-
Double buffering (possibly should be
called "triple buffering"). See Approach.
-
Unlimited undo (which ended up being
trivial). However, this only deletes the last inserted object. That is,
it doesn't work for undoing a background colour change.
Things I didn't do:
-
Put in pre and post conditions. However,
this wasn't in the assignment spec. I wrote a heap of code (created the
first weekend after assignment release) before I find out that we had to
do this. Please be forgiving.
-
I wanted to use javadoc comments but
I ran out of time.
-
Just do one of the additional features.
Sorry, I just got carried away.