//Move.java /** * * @author Sean Bridges * @version 1.0 * * The move represents a single move in a game. * A move can represent itself as an integer, and * knows the player number of the player made it. */ public interface Move { /** * The default method of accessing the moves value. * This method is to avoid casting. Rather than having * a board cast the Move to its real class, it can access * the move as an int. At times though it may be neccassary * to cast the Move to its true class. * * Casting can be an expensive process. When time is an issue, eg for * games that try thousands of moves in order to determine the best one, * it is better to avoid casting. * * The clever programmer may also use the toString() method to * represent the move as a String. */ public int toInt(); /** * The player who made the move. */ public Player maker(); }