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); }
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); }
public Sudoku(Quadrante quadrante) { this.quadrante = quadrante; }