Fundamentals of Computer Science II (CSC-152 98S)

Assignment Four: Othello

Summary: In this assignment, you will use the Matrix structure you built in a previous assignment to build an interactive Othello game.

Collaboration: You can work on this assignment in groups of up to size four, with three being an "optimal" size. You may discuss your design with any size group. You may also work with each other on general debugging issues.

If you work as part of a group, you are responsible for ensuring that all members of the group understand all sections of the assignment. You may (and should), however, break up the initial work. I'd say that in a three-person group, one could be responsible for the game board, one for the user input, and one for the interface between the two. In a two-person group, one person might be responsible for the board, and the other for everything else. In a four-person group, two people could work on the game board.

Once the pieces are coded, you can take on additional roles. One member might be responsible for developing reasonable tests, another for making sure that everyone understands the underlying code, and another for making sure that the documentation is readable.


Using your Matrix class from assignment 3, develop an object-oriented interface for Othello, a two-player game played on an NxM grid with black and white pieces. Your game should repeatedly prompt the current player for a move, determine whether the move is legal and, if so, make the move. If the player's move is illegal, you may either reprompt or make the player lose his/her turn (it's up to you which you do).

Try to design your game in such a way that it would be possible for one to change the rules, the design of the board, or the interface. (I don't expect you to completely succeed, but do your best.) For example, we might want to play Othello on a 4x4 board rather than an 8x8 board.


The basic rules of Othello are as follows.

Extra Credit

For extra credit, do one or all of the following:

Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

Source text last modified Sun Feb 22 19:33:47 1998.

This page generated on Tue Jan 12 11:44:34 1999 by SiteWeaver.

Contact our webmaster at