public void reset() {
        attempt = 0;
        feedback = new Feedback[TRIALS][TRIAL_SIZE];
        feedbackmodel = new FeedbackModel();
        for (int i = 0; i < feedback.length; i++) {
            for (int j = 0; j < feedback[i].length; j++) {
                feedback[i][j] = new NullFeedback();
            }
        }
        inputs = new Piece[TRIALS][TRIAL_SIZE];
        for (int i = 0; i < inputs.length; i++) {
            for (int j = 0; j < inputs[i].length; j++) {
                inputs[i][j] = new Piece(piecemodel);
            }
        }
        currentInput = new Piece[TRIAL_SIZE];
        for (int i = 0; i < currentInput.length; i++) {
            currentInput[i] = new Piece(piecemodel, 1);
        }
        makeSolution();
        feedbackmaker = new FeedbackMaker(feedbackmodel, solution);
        fireStateChanged();
    }