CPS 108, Spring 2004, Initial Model Design

Part I, Model Design

Submit a preliminary interface and associated classes, e.g., Move, for the OOGA games described above (non-animated games, not necessarily single person, but assume the computer is the opponent playing a reasonable strategy).

Your interface, named IGameModel, should be well-commented and should include information on how it might be connected to a view, for example. You can also include thoughts on how to implement classes for one or two games using the interface, e.g., what issues might arise.

The IGameModel interface, and its associated interfaces, (e.g., you may decide that a Move interface is a good idea) should be submitted by midnight on Monday, March 25 (this is a change from a previous due date).

We will discuss design considerations in class before then, but these discussions will be most beneficial if you've reviewed the code handed out (see links above) and done readings provided. In particular, class on Friday, March 19, will be devoted to a discussion of MVC in general and as part of OOGA/NOOGA in particular. Please look over the code linked above.

One way to test the design of your model is to try to refactor say the puzzle game or the same game code to use your model interface and its associated interfaces. How are views incorporated in the model? You'll need some idea of the responsibilities of a view, but not many for just specifying the model interface method signatures.

There will be no extensions on the Monday due date, and no modifications of this date are foreseen. As an incentive to spend serious time and thought, the evaluation of the model will be as follows.

The final grade will contribute to your groups final OOGA grade. Each pair's contribution will count at least 1% and not more than 3% of the final grade --- good effort/quality will count more.

Finally, pairs with high effort and reasonable quality will be grouped with similar pairs. Effort will be a large part of this aspect of the outcome of your submission. The goal is to try hard on this first part, to show you've thought about things seriously. Your OOGA groups will be four-six person groups, you can request one person to be in your group, the others will be assigned randomly.

 
  submit_cps108 oogamodel *.java README

Owen L. Astrachan
Last modified: Wed Mar 31 12:17:00 EST 2004