
import Board;
import Rules;

/**
 * This class is an AI Player for the game Othello
 *
 * @author Matthew Charnetski
 * @author Anne Feltovich
 * @author Elizabeth Ottesen
 * @author Austin Wells
 * @version 1.0 of March 2000
 */

public class ComputerPlayer {

    /**Here we will have a field for the list of unoccupied spaces*/

    /**This method obtains a list of the unoccupied spaces.
     * It requires that class Board contain a method Occupied that
     * takes a location as a parameter and returns true or false.
     * It requires a field emptyspaces.
     * It creates a list of unoccupied spaces.
     */
    protected void ListEmptySpaces() {

    }// ListEmptySpaces()


    /**This method takes the list of empty spaces, and creates another list
     * consisting of those spaces which are legal moves.
     * It requires that the class Rules contains a method LegalMove that
     * takes a location as a parameter and returns true or false.
     * It also requires the fields legalmoves and emptyspaces.
     * It returns a list of legal moves.
     */
    protected void ListLegalMoves() {

    }// ListLegalMoves()

    /**This method takes the list of legal moves, and calculates which
     * move is optimal.
     * It requires class Board has two methods: NumberCaptured, which
     * takes a location as a parameter and returns the number of pieces
     * flipped if a piece is placed there, and StatusofSquare, which
     * takes a location as a parameter and returns either unoccupied,
     * black, or white.
     * This method returns the location of the best possible move.
     */
    protected void EvaluateBest() {

    }// EvaluateBest()

    /**This method tells class Board to make the move returned by
     * EvaluateBest.
     */
    public void MakeMove() {

    }// MakeMove()

}// ComputerPlayer
