COMP 310
Spring 2010

HW01:  Grading criteria

Home  Info  Owlspace  Resources

Inheritance-based Ballworld

Assignment Instructions

The assignment is to create Ballworld implementation where the ball implementations are sub-classes of an abstract ball.

See tjhe on-line demo of the inheritance-based Ballworld.   You are to replicate all the functionality of the demo.

  1. Other than than the code for the individual concrete ball subclasses, no code in the rest of the system can reference a ball sub-class.
  2. Balls should bounce correctly off the sides of a panel on the main frame, not the entire frame.   Balls should bounce from their edges, not their middles or only one side.
  3. The application should be able to dynamically load any ball sub-class, given its fully qualified name at run-time (i.e. typed into a text field).
  4. The application should be able to clear out any balls that are already on the screen.
  5. At least 3 different types of ball sub-classes must be implemented which have distinct behaviors.  This can include changing colors, curving around, changing radius, etc.  
Turn-in instructions:  
  1. Zip up the entire project directory, including the project file and source and binary sub-directories.     In Windows, you can do this by right-clicking the project folder and selecting "Send to"/ "Compressed (zipped) folder".
  2. Submit that one zipped file as an attachment to this assignment.   DO NOT PUT IT IN A DROPBOX!!
  3. Add any instructions on how run your program in the text field for this assignment's submission.

Grading Criteria:

  1. Replicating the behavior of the demo:
    1. Overall look: panel with controls plus separate display area -- 5
    2. Ability to type in ball class name - 5
    3. Ability to create the ball of the desired type - 15
    4. Ability to clear the balls - 10
    5. Ability to have multiple balls of multiple types on screen simultaneously - 15
    6. Correct bouncing behavior off edges of display area and edges of balls. - 10
    7. At least 3 different types of balls being made - 15
    8. Discretionary points - 5
  2. No references to concrete ball subclasses in code -- 15
  3. Other programming style and operational issues/discretionary points -- 5


© 2010 by Stephen Wong