import java.util.Collection;

/**
 * Interface that defines the methods that must be implement by a Hangman.
 *   @author Dave Reed
 *   @version 2/19/13
 */
public interface Hangman {       
    /**
     * Returns the word with unguessed letters redacted (i.e., replaced by '-')
     *   @return the redacted word
     */
    public String getRedactedWord();
        
    /**
     * Returns a set of all characters guessed so far.
     *   @return the set of guessed characters
     */
    public Collection<Character> getPastGuesses();
    
    /**
     * Records a guess and returns whether the guess was successful
     *   @param guess the character being guessed
     *   @return true if that character is in the word, otherwise false
     */
    public boolean recordGuess(char guess);

}
