-
Notifications
You must be signed in to change notification settings - Fork 0
/
Program.cs
37 lines (31 loc) · 1.33 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using sudoku_solver.Workers;
using sudoku_solver.Strategies;
namespace sudoku_solver
{
class Program
{
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);
}
}
}
}