private void Solve(object sender, EventArgs ea) { if (sud == null) { sud = new Sudoku(); int cnt = 0; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if (tb[cnt].Text == "") { sud.sudokuTab[i, j] = 0; } else { sud.sudokuTab[i, j] = Int32.Parse(tb[cnt].Text); } cnt++; } } } sud.Check(); if (sud.IsSolution()) { this.Wyswietl(sud); } else { sud.DeepSearch(); this.Wyswietl(sud); } if (!sud.IsSolution()) { lbl.Text = "Nie znaleziono rozwiązania. Spróbuj głębszego szukania"; } }
private void DeeperSearch(object sender, EventArgs ea) { sud = new Sudoku(); int cnt = 0; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if (tb[cnt].Text == "") { sud.sudokuTab[i, j] = 0; } else { sud.sudokuTab[i, j] = Int32.Parse(tb[cnt].Text); } cnt++; } } sud.Check(); if (sud.IsSolution()) { this.Wyswietl(sud); } else { sud.DeepSearch(true); this.Wyswietl(sud); } if (!sud.IsSolution()) { lbl.Text = "Niestety"; } }