Teaching
6515 S '11
 
Projects
Presentations
 
Ingenious
Project 1
Project 2
Project 3
Project 4
Project 5
Project 6
Project 7
Project 8
Project 9
Project 10
Project 11
Project 12
Project 13

Project 3

Due date: 1/26 : NOON -- NOTE UNUSUAL DATE, in SVN

Objective: to write the story of Ingenious, to work out the "board-centric" use case; and to edit your memo on your choice of language


Task 1: The two of you are to revise your memo in response to the criticism of the first version. If project 2 has convinced you that you aren't sufficiently comfortable with your chosen language, you may now choose a different one and write a supportive memo. Before you do so, you may wish to re-implement homework 2 in this new language. The grade for this version will override the grade for homework 1.

Task 2: Supplement the description of Ingenious with two "software stories": (1) human players wish to use a computerized board and (2) your client wants a framework into which programmers can pluck in AI players and compete with each other. For the second story, you could imagine that someone wishes out the best strategy for playing Ingenious, and to do so, he runs thousands of games and measures the performance of the various strategies.

Task 3: Work out a use-case for the "model" part of an automated board. Players place tiles on the board as spelled out in the general rules. It is your task to think through the idea of how a "computerized" board could work in conjunction with, say, human players. Doing so will require specifying the basic terminology of the game.

Rules for placing a tile: As the game description says, a tile consists of two hexagons, which are joined at one of the sides. Each hexagon features a symbol in one color. Hence "to place a tile" means to occupy two adjacent hexagons on the board with the colors of the given tile.

In general, a player may place a tile anywhere on the board as long as one side of the tile touches a tile on the game board that displays a color. To get started, six hexagons of the game board are initially occupied with six distinct colors. The rules of the game impose one significant additional constraint on the placement of tiles, namely, the first tile of each player must be placed adjacent to a colored hexagon that isn't already used by some other player.

Deliverables: Your SVN directory must contain a subdirectory labeled "03" with a revised memo in PDF form (memo.pdf); a "story" also in PDF (story.pdf); a "use case" in text form (use.txt) with supplemental scans of "napkins". If you change the choice of language and re-program project 2, place the new code into a subdirectory named "01v2".


last updated on Tue Apr 12 15:14:46 EDT 2011generated with Racket