Example #1
0
        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);
            }
        }
Example #2
0
        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}");
            }
        }
Example #3
0
        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);
            }
        }