Worms -- OOP Redo  2016-01
Worms-Redo Project as a learning vehicle.
Worms -- OOP Redo Documentation

This file was a "notes to myself" that I edited a bit for use by others. It is about worms.cpp, a solution to a problem in CS1 courses. Like all documentations of real programs, the source code may have been updated without a corresponding update here.

Homework in this course is done individually, without help from others. The due date is announced on the course home page.

In this HW, we are focussed on the SOLID principles of OOD, and in particular on Design by Contract and use of Assertions.

Improve OOD C++

(45 points) [Improve OOD] [C++] The file [[../Lectures/Examples/Worms/worms-one-file.cpp.html][worms.cpp]] implements a grass roots game example of wiggly worms, scissor heads, cannibals, or vegetarian kind, moving about. Additional Notes: Visit the pages at [[../Lectures/Examples/Worms/][Worms]].

  1. Revise it so that it is in "proper" OOP form. Describe the end result and the changes made in a brief tech report.
  1. Write entry- and exit-assertions for all the methods, and class invariants. You may ignore assertions relating to =ncurses.h=.
  1. The design and code-as-given does not "really" do anything about the z-axis. Suggest ideas and implement.
  1. It probably has bugs. Feel free to ignore its bugs (that is, you are not expected to fix bugs). If you can, identify them!
  1. Write one or two paragraphs reporting on how you discovered and revised the classes, and on your experience with the tools you used to carry out this assignment.