games.jotto.players
Class JottoGuesser

java.lang.Object
  extended by games.jotto.players.JottoGuesser
Direct Known Subclasses:
ComputerGuesser, HumanGuesser

public abstract class JottoGuesser
extends java.lang.Object


Field Summary
protected  java.util.Properties myConstants
           
protected  IJottoModel myJottoModel
           
protected  int myMaxGuesses
           
protected  int myNumberOfGuesses
           
protected  java.lang.String myWord
           
protected  java.util.ArrayList<java.lang.String> myWordList
           
 
Constructor Summary
JottoGuesser(int maxGuesses, IJottoModel currentJottoGame, java.util.ArrayList<java.lang.String> wordList)
           
 
Method Summary
 int commonCount(char[] aletters, char[] bletters)
          Returns number of letters in common to a and b, ensuring each common letter only counts once in total returned.
protected  void displayNumberOfGuessesLeft(java.lang.String player)
           
protected  java.lang.String getRandomWord(java.util.ArrayList<java.lang.String> lexicon)
           
abstract  void newGame()
          subclasses MUST implement the following three classes: 1) newGame 2) process 3) revealHint 4) revealAnswer
abstract  void process(java.lang.String s)
           
 void revealAnswer()
           
 void revealHint()
           
protected abstract  void tellModelWhosePlaying()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myWord

protected java.lang.String myWord

myMaxGuesses

protected int myMaxGuesses

myNumberOfGuesses

protected int myNumberOfGuesses

myJottoModel

protected IJottoModel myJottoModel

myWordList

protected java.util.ArrayList<java.lang.String> myWordList

myConstants

protected java.util.Properties myConstants
Constructor Detail

JottoGuesser

public JottoGuesser(int maxGuesses,
                    IJottoModel currentJottoGame,
                    java.util.ArrayList<java.lang.String> wordList)
Method Detail

newGame

public abstract void newGame()
subclasses MUST implement the following three classes: 1) newGame 2) process 3) revealHint 4) revealAnswer


process

public abstract void process(java.lang.String s)

tellModelWhosePlaying

protected abstract void tellModelWhosePlaying()

revealHint

public void revealHint()

revealAnswer

public void revealAnswer()

displayNumberOfGuessesLeft

protected void displayNumberOfGuessesLeft(java.lang.String player)

commonCount

public int commonCount(char[] aletters,
                       char[] bletters)
Returns number of letters in common to a and b, ensuring each common letter only counts once in total returned.

Parameters:
a - is one string being compared
b - is other string being compared
Returns:
number of letters in common to a and b

getRandomWord

protected java.lang.String getRandomWord(java.util.ArrayList<java.lang.String> lexicon)