Programming Assignment 1c - Solitaire, Part 3

Object-Oriented Programming with Java, Spring 2008


Due Date

This assignment is due by 11:30 p.m. on Thursday, 3 April.

See the assignment turn-in page (last modified on 14 February 2008) for instructions on turning in your assignment.

The Problem

Implement the game-playing program designed in Assignment 1b. The game you will implement is the game for which you created the API:
PlayerGamePlayer
implementerAPIdesigner
Alpaugh Windmill Bacon
Bacon Black Hole Banks
Banks Bakers Dozen Betancourth
Betancourth Pyramid Carpouzis
Carpouzis Klondike Codd
Codd Golf Guardascione
GuardascioneTarentella Karpodinis
Karpodinis Aces and Kings Kaufman
Kaufman Forty Thieves Lee
Lee Scorpion Perriello
Perriello Freecell Rinaldi
Rinaldi Spider Wallerstein
Wallerstein East Haven Alpaugh

The design for the game-player program can be found in the class directory /export/home/class/cs-310/a1c/1b in the file design.html in the appropriately-named directory. For example, the design for the East Haven game-playing program can be found in

/export/home/class/cs-310/1b/east-haven/design.html

Documentation

A significant portion of the quality of the game-player program is based on the implementation's fidelity to the design spec, as defined in the previous assignment. However, the design may not be sufficiently or correctly detailed enough to implement a game-playing program. In such cases, you'll have to go beyond the design document to implement a working game-playing program.

You must document each extension you make to the design document while implementing the game-playing program. Undocumented variations from the design document in your game-playing implementation are interpreted as failures in the one-one relation between design and implementation. The documentation should be in an html file called variations.html in the player package directory (see Turn-In below).

Each documented variation should have three parts:

  1. Design shortcoming: A brief but complete description of where the design falls short of what you need to implement a game-playing program.

  2. Justification: A justification for what you're calling a design shortcoming. Note that the only acceptable justification is impossibility: that the design makes it impossible to implement the game-playing program. Practically, this means a justification is an argument that the design makes it impossible to implement a necessary feature.

  3. Resolution: The variation implemented by your game-playing program and how it solves the problem.

Turn-In

You should turn-in your code to assignment “1c” (without the double quotes). Your turn-in should include a package called player; it may also include other packages as you see fit.


This page last modified on 18 March 2008.

Creative
    Commons License