Ejemplo n.º 1
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}");
            }
        }
Ejemplo n.º 2
0
 public SudokuSolverEngine(SudokuBoardStateManager sudokuBoardStateManager, SudokoMapper sudokoMapper)
 {
     _sudokuBoardStateManager = sudokuBoardStateManager;
     _sudokoMapper            = sudokoMapper;
 }
Ejemplo n.º 3
0
 public SimpleMarkupStrategy(SudokoMapper sudokoMapper)
 {
     _sudokuMapper = sudokoMapper;
 }
Ejemplo n.º 4
0
 public NakedPairsStrategy(SudokoMapper sudokoMapper) => _sudokuMapper = sudokoMapper;