@Override
			public void mouseClicked(MouseEvent e) {
				textArea.setText("");
				puzzle = new Puzzle(N, new PuzzleState(N),
						new PuzzleGoalTest(N));
				if (!seedTextField.getText().isEmpty()
						&& !scramblesTextField.getText().isEmpty()) {
					seed = Integer.parseInt(seedTextField.getText());
					scrambles = Integer.parseInt(scramblesTextField
							.getText());
					Utils.makeRandomInitialState(puzzle, seed, scrambles);
					textArea.append("\nInitial state:\n"
							+ puzzle.getInitialState() + "\n");
					solveButton.setEnabled(true);
				} else if (seedTextField.getText().isEmpty()) {
					JOptionPane.showMessageDialog(null, "Insert seed value",
							"Error", JOptionPane.ERROR_MESSAGE);
				} else if (scramblesTextField.getText().isEmpty()) {
					JOptionPane.showMessageDialog(null,
							"Insert scrambles value", "Error",
							JOptionPane.ERROR_MESSAGE);
				}
			}