Overview of Program Design

Design Criteria

Our program to play Anti-chess was designed with the following criteria in mind:

Project Modules

According to the above criteria, the program was split into several main modules.

computer_player vs. machine_player

There were several reasons that we used our own computer_player data structure inside the program, rather that the provided machine_player interface. The machine_player interface will still be implemented in order that our program may participate in the tournament--its implementation will be as a "wraparound" of the computer_player and chess_board data structures. The reasons that we did this were as follows:
The program specifications have been revised and elaborated in various ways, as described in the attached document.