0 votos
por (20 puntos) en Java
Buenas a todos, soy nuevo, tengo que poner piezas de ajedrez en un tablero de nxn y colocarlas de manera que no se maten, y algunos casos me funcionan y otros no, alguien que domine el backtracking me podria ayudar?

private void colocarPiezas(int fInicial, int cInicial, int nColocadas) {
        boolean solIncompleta = true;
        encertado = false;
        int[][] posicionesPosibles;

        if (primeraVez) {
            posicionesPosibles = new int[1][2];
            posicionesPosibles[0][0] = fInicial;
            posicionesPosibles[0][1] = cInicial;
            primeraVez = false;
        } else {
            // Busca las posiciones que no estan amenazadas
            posicionsPossibles = cercarPossibles();

        }
        
     

        int indice = 0;
        while (solIncompleta &amp;&amp; indice < posicionesPosibles.length) {
            int f = posicionesPosibles[indice][0];
            int c = posicionesPosibles[indice][1];
            coordPiezas[nPiezasColocadas][0] = f;
            coordPiezas[nPiezasColocadas][1] = c;
            piezasPorColocar[nPiezasColocadas].setI(f);
            piezasPorColocar[nPiezasColocadas].setJ(c);
            nPiezasColocadas++;
            solIncompleta = nPiezasColocadas < nPiezasElegidas;

            if (solIncompleta) {
                colocarPiezas(fInicial, cInicial, nColocadas + 1);
                if (!encertado) {
                    nPiezasColocadas--;
                }
            }
            indice++;
            solIncompleta = nPiezasColocadas < nPiezasElegidas;
        }
        if (!solIncompleta) {
            encertado = true;
        } else {
            encertado = false;
        }

    }

Muchas gracias a todos por la ayuda, saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
1 respuesta
preguntado por miguel0953 (20 puntos) Ene 28, 2016 en Java
0 votos
1 respuesta
preguntado por teresa (140 puntos) Ene 28, 2016 en Java
0 votos
0 respuestas
preguntado por jubalo (200 puntos) Ene 28, 2016 en Java
0 votos
0 respuestas
preguntado por medieval (20 puntos) Ene 28, 2016 en jQuery
0 votos
0 respuestas
preguntado por yue (20 puntos) Nov 19, 2020 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...