123456789101112131415161718192021222324252627282930313233343536373839 |
- using System.IO;
- using uqac_ia_sudoku_csp.Interfaces;
-
- namespace uqac_ia_sudoku_csp.Solver.Generators
- {
- public class TextReaderGeneratorDbo
- {
- public TextReader Reader { get; set; }
-
- public string EmptyCharacters { get; set; }
- }
-
- public class TextReaderGenerator : IGenerator
- {
- public virtual void Generate(Board board, object data)
- {
- var dbo = data as TextReaderGeneratorDbo;
- for (var y = 0; y < board.Size; ++y)
- {
- for (var x = 0; x < board.Size; ++x)
- {
- string c;
- do
- {
- c = $"{(char)dbo.Reader.Read()}";
- } while (!dbo.EmptyCharacters.Contains(c) && !board.Characters.Contains(c));
- if (dbo.EmptyCharacters.Contains(c))
- {
- board.ClearNumber(x, y);
- }
- else if (board.Characters.Contains(c))
- {
- board.SetCharacter(x, y, c[0]);
- }
- }
- }
- }
- }
- }
|