ParallelGamePlayer
The ParallelGamePlayer
class implements the Player
interface that defines the play
method:
@Override public void play() { final var table = new Table(NR_COLUMNS, colorManager); final var secret = new RandomSecret(colorManager); final var secretGuess = secret.createSecret(NR_COLUMNS); final var game = new Game(table, secretGuess); final var guessers = createGuessers(table); final var finalCheckGuesser = new UniqueGuesser(table); startAsynchronousGuessers(guessers); try { while (!game.isFinished()) { final var guess = guessQueue.take(); if (finalCheckGuesser.guessMatch(guess)) { game.addNewGuess(guess); } } } catch (InterruptedException ie) { } finally { stopAsynchronousGuessers(guessers); } }
This method creates a Table
, a RandomSecret
that creates the guess used as a secret in a random way, a Game
object, IntervalGuesser
objects, and a UniqueGuesser
.
The...