An instance of the Game class contains a Row holding the secret color values and also contains a Table. When there is a new guess, the Game instance stores the guess into the Table and also sets the number of positions and colors matching the secret row:
package packt.java189fundamentals.example.mastermind; public class Game { final Table table; final private Row secretRow; boolean finished = false; final int nrOfColumns; public Game(Table table, Color[] secret) { this.table = table; this.secretRow = new Row(secret); this.nrOfColumns = secretRow.nrOfColumns(); } public void addNewGuess(Row row) { if (isFinished()) { throw new IllegalArgumentException( "You can not guess on a finished game."); } final int positionMatch = secretRow.nrMatchingPositions...