packt.java9.by.example.mastermind

## Class UniqueGuesser

- java.lang.Object
- - packt.java9.by.example.mastermind.Guesser
  - - packt.java9.by.example.mastermind.UniqueGuesser

-     public class UniqueGuesser
      extends Guesser

  A unique guesser creates guesses that do not use a color twice in a row.

- - ### Field Summary

    - ### Fields inherited from class packt.java9.by.example.mastermind.Guesser

      `lastGuess, none, table`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UniqueGuesser(Table table)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Color[]` | `nextGuess()` get the next guess, without checking any matching
    `protected void` | `setFirstGuess()` Set the first possible guess.

    - ### Methods inherited from class packt.java9.by.example.mastermind.Guesser

      `guess`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UniqueGuesser

          public UniqueGuesser(Table table)

  - ### Method Detail

    - #### setFirstGuess

          protected void setFirstGuess()

      Set the first possible guess. This method is used during the construction process.
      Specified by:
        `setFirstGuess` in class `Guesser`

    - #### nextGuess

          protected Color[] nextGuess()

      Description copied from class: `Guesser`
      get the next guess, without checking any matching
      Overrides:
        `nextGuess` in class `Guesser`
      Returns:
        the next guess