static void Main(string[] args) { string puzzleName; SudokuPuzzle puzzle = SudokuPuzzle.GetPuzzle(); Agent brainsolver = new Agent(); do { Console.WriteLine("Enter a sudoku puzzle file. To quit, type exit, Exit, quit, Quit, or give no input "); puzzleName = Console.ReadLine(); if (!exitKeywords.Contains(puzzleName)) { puzzle.BuildPuzzle(puzzleName); brainsolver.Init(); brainsolver.Execute(); if (brainsolver.IsPuzzleSolved()) { Console.WriteLine("The puzzle {0} was solved", puzzleName); puzzle.ClearPuzzle(); } //} } if (exitKeywords.Contains(puzzleName)) { System.Environment.Exit(0); } } while (!exitKeywords.Contains(puzzleName)); }
public static void UnfillCell(this SudokuCell sudokuCell) { if (sudokuCell == null) { new NullReferenceException(); } else { if (sudokuCell.isFilled) { int oldValue = sudokuCell.FillValue; sudokuCell.FillValue = 0; SudokuPuzzle.GetPuzzle().cellBoard.fillFrequencyCounter.DecrementFor(oldValue); } else { Console.WriteLine("{0} is already unfilled.", sudokuCell.ToString()); } } }
public static void FillCell(this SudokuCell sudokuCell, int newFill) { if (sudokuCell == null) { new NullReferenceException(); } else { if (sudokuCell.Possibilities.Contains(newFill)) { sudokuCell.FillValue = newFill; Console.WriteLine("{0} now has fill value of {1}", sudokuCell.ToString(), newFill.ToString()); Debug.WriteLine("{0} now has fill value of {1}", sudokuCell.ToString(), newFill.ToString()); SudokuPuzzle.GetPuzzle().cellBoard.fillFrequencyCounter.IncrementFor(newFill); } else { Console.WriteLine("{0} not part of {1}'s possibilities", newFill.ToString(), sudokuCell.ToString()); } } }