public FichaSudoku() { ConjuntoCuadrado conjuntoCuadrado = new ConjuntoCuadrado(); RestriccionSudoku restriccionSudoku = new RestriccionSudoku(); Entero entero = new Entero(); conjuntoCuadrado.generarCuadro(); this.setForma(conjuntoCuadrado); entero.llenar(restriccionSudoku, conjuntoCuadrado); this.setContenido(entero); }
public void llenar(RestriccionSudoku c, ConjuntoCuadrado conjunto) { Random r = new Random(); List <int> listaAux = new List <int>(); List <int> encontrados = new List <int>(); List <Cuadro> visitados = new List <Cuadro>(); int aux, i = 0; while (i < conjunto.getTamano()) { Cuadro cuadro = new Cuadro(); aux = r.Next(9); visitados.Clear(); if (c.condicionContenido(aux, conjunto.getPrincipal().buscarCuadro(i + 1, visitados, cuadro)) && aux != 0) { this.contenidoCuadro.Add(i, aux); i++; } visitados.Clear(); } }
public void llenar(RestriccionSudoku c, ConjuntoCuadrado conjunto) { Random r = new Random(); List <int> listaAux = new List <int>(); List <int> encontrados = new List <int>(); List <Cuadro> visitados = new List <Cuadro>(); int aux, i = 0; int aux2 = 0; int aux3 = 0; while (i < conjunto.getTamano()) { Cuadro cuadro = new Cuadro(); aux2 = conjunto.getPrincipal().buscarCuadro(i, visitados, cuadro).recorrerFila(encontrados, visitados).Count; visitados.Clear(); aux3 = conjunto.getPrincipal().buscarCuadro(i, visitados, cuadro).recorrerColumna(listaAux, visitados).Count; if (aux2 < aux3) { aux = r.Next(aux2); } else if (aux2 > aux3) { aux = r.Next(aux3); } else { aux = r.Next(aux3); } aux = r.Next(aux3); visitados.Clear(); if (c.condicionContenido(aux, conjunto.getPrincipal().buscarCuadro(i + 1, visitados, cuadro)) && aux != 0) { this.contenidoCuadro.Add(i, aux); i++; } visitados.Clear(); } }