public void Solve() { IsInEditMode = false; Compute(0, 0); IsInEditMode = true; } private bool FindNextCell(ref int Zeile, ref int Spalte) { Zeile++; if (Zeile == nSizeBoard) { Spalte++; Zeile = 0; if (Spalte == nSizeBoard) return true; } return false; } private bool Compute(int ActZeile, int ActSpalte) { int NextZeile = ActZeile; int NextSpalte = ActSpalte; bool ValueFound; List PossibleValues; if (GameBoard[ActZeile, ActSpalte].IsBlocked == false) { PossibleValues = new List(); for (int Value = 1; Value <= nSizeBoard; Value++) { ValueFound = false; //Teste Zeilen for (int Zeile = 0; Zeile < nSizeBoard && ValueFound == false; Zeile++) { if (GameBoard[Zeile, ActSpalte].Value == Value) ValueFound = true; }