Example #1
0
        public Quadrante FormarQuadrante9x9(List <Quadrante> quadrantes)
        {
            if (quadrantes.Count != 9)
            {
                throw new ArgumentException("Quantidade de quadrantes inválidos para formar o sudoku");
            }

            Quadrante sudoku = new Quadrante();

            sudoku.qtdLinhas  = 0;
            sudoku.qtdColunas = 0;

            List <int> matrizes = new List <int>();

            foreach (var quadrante in quadrantes)
            {
                matrizes.AddRange(quadrante.transformarMatrizEmArray());
            }

            for (int i = 0; i < quadrantes.Count / 3; i++)
            {
                sudoku.qtdLinhas  += quadrantes[i].qtdLinhas;
                sudoku.qtdColunas += quadrantes[i].qtdColunas;
            }

            sudoku.PreencherQuadrante(matrizes.ToArray());

            return(sudoku);
        }
Example #2
0
        public static int[] transformarMatrizEmArray(this Quadrante quadrante)
        {
            int[] result = new int[quadrante.valores.Length];
            int   i      = 0;

            foreach (var valor in quadrante.valores)
            {
                result[i++] = valor;
            }

            return(result);
        }
Example #3
0
 public Sudoku(Quadrante quadrante)
 {
     this.quadrante = quadrante;
 }