Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //Input Validation
            if (!IsValidParameters(args))
            {
                return;
            }

            string             inputFilename = args[0];
            SudokuPuzzleReader reader        = GetSudokuPuzzleReader(inputFilename);

            if (!IsValidSudokuPuzzleReader(reader))
            {
                return;
            }

            Gameboard gameboard = reader.Read(inputFilename);

            string resultsToBeWritten = gameboard.ToString(true);

            if (gameboard.IsInitialBoardValid() && gameboard.IsValidGame)
            {
                RunSolvingAlgorithms(gameboard);
                resultsToBeWritten += gameboard.ToString();
                resultsToBeWritten += GetTimesFromAlgs();
            }

            string         outputFilename = args.Length == 2 ? args[1] : null;
            SolutionWriter writer         = GetSolutionWriter(outputFilename);

            writer.Write(outputFilename, resultsToBeWritten);
        }
Exemplo n.º 2
0
 static bool IsValidSudokuPuzzleReader(SudokuPuzzleReader myReader)
 {
     if (myReader == null)
     {
         Console.WriteLine("Invalid Input File. Supported types:");
         foreach (SudokuPuzzleReader reader in SudokuPuzzleReaders)
         {
             Console.WriteLine(reader.Name);
         }
         return(false);
     }
     return(true);
 }
Exemplo n.º 3
0
        static SudokuPuzzleReader GetSudokuPuzzleReader(string inputFilename)
        {
            SudokuPuzzleReader result   = null;
            string             fileType = Path.GetExtension(inputFilename);

            foreach (SudokuPuzzleReader reader in SudokuPuzzleReaders)
            {
                if (fileType == reader.Name)
                {
                    result = reader;
                    break;
                }
            }
            return(result);
        }