Пример #1
0
        public bool Solve()
        {
            var puzzleIterator = new PuzzleIterator(_puzzle);

            puzzleIterator.MoveNext();
            ReduceCandidates();

            return(SolveCellsRecursively(new PuzzleIterator(puzzleIterator)));
        }
Пример #2
0
 private bool FindNextUndefinedCell(PuzzleIterator iterator)
 {
     while (iterator.MoveNext())
     {
         if (iterator.Current.Value == CellValue.Unknown.Value)
         {
             return(true);
         }
     }
     return(false);
 }
        public bool PuzzleIsCompleted()
        {
            var iterator = new PuzzleIterator(_puzzle);

            while (iterator.MoveNext())
            {
                if (iterator.Current.Value == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #4
0
 public void MoveNext_NotLastElement_ReturnsTrue()
 {
     Assert.IsTrue(_iterator.MoveNext());
 }