private Board boardOlusturVeEkranaCiz(string dosyaPath) { Board board = new Board(); List <TextBox> textBoxs = board.Oku(dosyaPath); foreach (var textBox in textBoxs) { Controls.Add(textBox); } board.FillPossibleValues(); return(board); }
/// <summary> /// Verilen tahtayı DFS ile çözer ve sonuç olarak tüm hücrelerinin değeri dolu ve geçerli bir tahat nesnesi döndürür /// </summary> /// <param name="board">Sudoku problemi tahtası</param> /// <returns>Çözüm tahtası</returns> public Board Solve(Board board) { stack.Push(board); while (stack.Count > 0) { Board current = stack.Pop(); current.FillPossibleValues(); if (current.IsSolved()) { // found solution return(current); } List <Board> possibleBoards = current.GetBoardsWithFirstPossibleValues(); possibleBoards.ForEach(b => stack.Push(b)); } return(null); }