001    package ai;
002    
003    import rules.GameState;
004    
005    /**
006     * The Heuristic evaluates a GameState, and returns an evaluation of the current
007     * player's chances of winning; higher is better.
008     */
009    public interface Heuristic
010    {
011            /**
012             * @returns an evaluation of the current player's chances of winning; higher
013             *          is better.
014             * 
015             * @param currentState
016             * 
017             * @requires currentState not null
018             */
019            public int heuristic(GameState currentState);
020    }