Computer Science 275.001

Interaction Programming

Fall 2006

Interactive Design

Programming Assignment #4

Due: Thursday, November 30, 2006

(Due in drop-box by 1:00 PM)

Your final interactive design assignment is to develop an interactive checkers
game that uses timer-based animation to illustrate both the user’s moves and
the computer-generated moves. The following features are required:
Ÿ         The user and the computer should be able to select game pieces and indicate 
how to move them. Note that a regular piece can only advance in two ways
(forward diagonal left and forward diagonal right), but that a kinged piece
can move in four possible directions (forward diagonal left, forward diagonal
right, backward diagonal left, and backward diagonal right). Selected pieces
should be visually distinct from unselected pieces.
Ÿ         A game piece is moved. Note that such moves can consist of mere diagonal
shifts, jumping an opponent’s piece (with the resultant removal of that piece
from the board), and advancing to the opponent’s end of the board
(whereupon the player’s piece is kinged). All of these moves should have
associated animations.
Ÿ         When the computer makes a move an artificial intelligence algorithm is
needed to determine which piece to move. For this assignment, merely use a
straightforward highest-capture move, i.e., of all possible moves, the computer
takes one that yields the most jumps of its human opponent’s pieces; if no
move yields such a capture, then the computer takes a move that yields the
least number of its own pieces being captured on the next human move. 
Ÿ         Users should be allowed to automate their moves at any point in the game,
and to turn off that automation whenever they wish. Essentially, have the
user’s moves utilize the same highest-capture approach as the computer does
whenever the user has activated the automated move feature.
Ÿ         The game will be rather confusing to the user if the computer’s moves (or
the user’s own automated moves) are not delayed for a moment or two to
simulate the concept that the next move is being contemplated. Therefore,
a timer-driven delay is needed for this purpose.
Ÿ         Whenever the user or the computer wins the game by capturing all of the
opponent’s pieces, there should be an elaborate visual display indicating
that the game has been won.

As usual, you are strongly encouraged to bring early versions of your design to

the instructor for feedback. You may also feel free to discuss your early design

ideas with your classmates, but remember that showing your actual code to

anyone besides the instructor is considered academic misconduct and will be

dealt with as such. Also, remember to fully document your program, explaining

your design as needed.

Remember that your entire project folder is due on your drop-box

by 1:00 PM on Thursday, November 30, 2006.