CSCI 342 Fall 2014
Computer Graphics
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework

Policies
Advice
College
    Policies

Notes
Programs
Tutorials

CSCI 125
CSCI 255
Others

Admin

Homework 17

General Comments

Homework assignments will be drawn from a variety of sources. For programs, make sure you commit your solution to SVN by the assignment deadline!

Details

Make improvements to your Asteroids program. Of particular importance is that your collision detection is correct and as accurate and fast as possible. After that, the next most important thing would be to add the quadrant idea if you can and/or having asteroids split into smaller ones. Finally, making the graphics a little fancier would be nice, but isn't as important as some of the other aspects. Of course, some of you talked about having lives, scores, levels, etc. and other things that you think will enhance your project.

Grades will be based on both the final product and how you implemented it. This includes the correctness and efficiency of your collision detection and the details of how you implemented everything, including whether or not you made intelligent use of classes and methods.

It is important to note that a well-implemented simple solution that gets collision detection correct will be better than one with a lot of fancy features which don't really work. In other words, don't focus on adding lots of stuff all at once--add one thing at a time that works, then move on to the next thing.

Also remember to turn in a brief summary of your program that specifies

  1. What I need to know to play it.
  2. How and where (classes and methods) you did implement collision detection?
  3. Briefly describe your overall code design. Discuss what classes did you created, what the purpose of each is, what methods added to various existing classes from mygraphicslib to facilitate your computations (e.g. did you do collision detection in PolyLine and/or PolylineCollection? Do you have a class of game pieces that has a method to do this?).
  4. Evaluate your code design--what do you think you did well in terms of design, and what better choices could you have made?
  5. Tell me anything else that you think is relevant.
  6. What grade you think you should get on the assignment (both HW 16 and 17) and why (out of 20 points).