Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 /// <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);
 }