private void compareKnuth(MarkSlotBoard markslots, int curColumn) {
		int poscol = 0;
		int col = 0;
		
		for (int i = 0; i < guess.length(); i++) {
			if (guess.getColour(i) == code.getColour(i)) {
				poscol++;
			}
		}
		
		for (int i = 0; i < this.colourLength; i++) {
			int guessamount = 0;
			int codeamount = 0;
			for (int j = 0; j < code.length(); j++) {
				if (guess.getColour(j) == ColourCode.values()[i+1]) {
					guessamount++;
				}
				if (code.getColour(j) == ColourCode.values()[i+1]) {
					codeamount++;
				}
			}
			col += Math.min(guessamount, codeamount);
		}
		
		col -= poscol;
		
		for (int i = 0; i < possibleGuesses.size(); i++) {
			if (!checkPossible(guess, poscol, col, possibleGuesses.get(i))) {
				possibleGuesses.remove(i);
				i--;
			}
		}
		code.reset();
		
		markslots.setSlots(curColumn, poscol, col);
		
		markslots.repaint();
		
		this.guimain.checkWin(poscol);
		
		this.guessNum++;
		
		if (this.guessNum > this.guimain.xSize) {
			this.guimain.codeSlots.setColumnCovered(0, false);
			this.guimain.slots.setColumnCovered(this.guimain.curColumn, false);
			return;
		}
		
		if (this.guessing) {
			this.guimain.slots.setColumnCovered(this.guimain.curColumn, false);
			this.guimain.slots.repaint();
			if (!this.guimain.won && this.guimain.curColumn < this.guimain.xSize-1) {
				this.guimain.curColumn++;
				nextGuess();
			}
		}
	}