Exemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                SodokuMapper            sodokuMapper            = new SodokuMapper();
                SodokuBoardStateManager sodokuBoardStateManager = new SodokuBoardStateManager();
                SodokuSolverEngine      sodokuSolverEngine      = new SodokuSolverEngine(sodokuBoardStateManager, sodokuMapper);
                SodokuFileReader        sodokuFileReader        = new SodokuFileReader();
                SodokuBoardDisplayer    sodokuBoardDisplayer    = new SodokuBoardDisplayer();

                Console.Write("Please enter the filename containing the Sodoku Puzzle: ");
                var fileName = Console.ReadLine();

                var sodokuBoard = sodokuFileReader.ReadFile(fileName);

                sodokuBoardDisplayer.Display("Initial State", sodokuBoard);

                bool isSodokuSolved = sodokuSolverEngine.Solve(sodokuBoard);
                sodokuBoardDisplayer.Display("Final State", sodokuBoard);

                Console.WriteLine(isSodokuSolved ? "You have successfully solved this sodoku puzzle." : "Unforunately, current algorithm(s) were not enough to solve the current sodoku puzzle.");
            } catch (Exception ex)
            {
                Console.WriteLine("{0} : {1}", "Sodoku puzzle could not be solved because there was an error:", ex.Message);
            }
        }
 public SodokuSolverEngine(SodokuBoardStateManager sodokuBoardStateManager, SodokuMapper sodokuMapper)
 {
     _sodokuBoardStateManager = sodokuBoardStateManager;
     _sodokuMapper            = sodokuMapper;
 }