//GamePlayer.java
/**
*
* @author Sean Bridges
* @version 1.0
*
* A game player can make moves on a board. It is given a copy of the board,
* and asked for the move that it wishes to make.
*
*/
public interface Player
{
/**
* Passed a copy of the board, asked what move it would like to make.
*
* This method is called from a seperate thread that is created each time a
* game is started or restarted. Each time start or restart is called on
* the gameMaster, a new thread is created.
*
* Because of this, there is the potential for a player to be asked for
* its move, and for the game to be stopped or restarted before the player
* can decide on a move. In that case the GameMaster will interrupt the
* thread that called getMove(), and ignore the results returned.
*/
public Move getMove(Board b);
/**
* Return the name of the player.
*/
public String getName();
/**
* Get the players number
*/
public int getNumber();
}