static void Main(string[] args) { try { SudokuMapper sudokuMapper = new SudokuMapper(); SudokuStateManger sudokuStateManger = new SudokuStateManger(); SudokuSolverEngine sudokuSolverEngine = new SudokuSolverEngine(sudokuStateManger, sudokuMapper); SudokuFileReader sudokuFileReader = new SudokuFileReader(); SudokuBoardDisplayer sudokuBoardDisplayer = new SudokuBoardDisplayer(); Console.WriteLine("Please enter the sudoku file name:"); var filename = Console.ReadLine(); var board = sudokuFileReader.ReadFile(filename); sudokuBoardDisplayer.Display("Initial State", board); bool isSudokuSolved = sudokuSolverEngine.Solve(board); sudokuBoardDisplayer.Display("Final State", board); Console.WriteLine(isSudokuSolved ? "Success!" : "Cannot solve this sudoku"); } catch (Exception ex) { Console.WriteLine("{0} : {1}", "Puzzle could not be solved", ex.Message); } }
static void Main() { try { SudokoMapper sudokoMapper = new SudokoMapper(); SudokuBoardStateManager sudokuBoardStateManager = new SudokuBoardStateManager(); SudokuSolverEngine sudokuSolverEngine = new SudokuSolverEngine(sudokuBoardStateManager, sudokoMapper); SudokuFileReader sudokuFileReader = new SudokuFileReader(); SudokuBoardDisplayer sudokuBoardDisplayer = new SudokuBoardDisplayer(); Console.Write("Please enter the filename containing the Soduku Puzzle: "); var filename = Console.ReadLine(); var sudokuBoard = sudokuFileReader.ReadFile(filename); sudokuBoardDisplayer.Display("Initial State", sudokuBoard); bool isSudokuSolved = sudokuSolverEngine.Solve(sudokuBoard); sudokuBoardDisplayer.Display("Final State", sudokuBoard); Console.WriteLine(isSudokuSolved ? "You have successfully solved this Sudoko Puzzle" : "Unfortunately, current algorithm(s) were not enough to solve the current Soduku Puzzle!"); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine($"Sudoku Puzzle cannot be solved because there was an error: {ex.Message}"); } }
static void Main(string[] args) { try { SudokuMapper sudokuMapper = new SudokuMapper(); SudokuBoardStateManager sudokuBoardStateManager = new SudokuBoardStateManager(); SudokuSolverEngine sudokuSolverEngine = new SudokuSolverEngine(sudokuBoardStateManager, sudokuMapper); SudokuFileReader sudokuFileReader = new SudokuFileReader(); SudokuBoardDisplayer sudokuBoardDisplayer = new SudokuBoardDisplayer(); Console.WriteLine("Please Enter The File Name Containing The Sudoku Puzzle:"); var filename = Console.ReadLine(); var sudokuBoard = sudokuFileReader.ReadFile(filename); sudokuBoardDisplayer.Display("Initial State", sudokuBoard); bool IsSudokuSolved = sudokuSolverEngine.Solve(sudokuBoard); sudokuBoardDisplayer.Display("Final State", sudokuBoard); Console.WriteLine(IsSudokuSolved ? "You Have Successfully Solved This Sudoku Puzzle!" : "Unfortunately, current algorithm(s) were not enough to solve the current Sudoku Puzzle!"); } catch (Exception ex) { //In Real World I Would Log This Message In A DataBase Console.WriteLine("{0} : {1}", "Sudoku Puzzle Cannot Be Solved Because There Was An Error:", ex.Message); } }