Java - Caballo

 
Vista:

Caballo

Publicado por Elizabeth (2 intervenciones) el 01/12/2011 01:14:40
Hola a todos, tengo este codigo que tengo que completarlo pero no entiendo realmente como hacerlo intenete llenarlo y me envia error; porfavor ayudenme es el programa que realmente me ha salido mas complicado hasta ahora.

gracias

Ejercicio: recorrido del caballo
//******* Código correspondiente al ejercicio del recorrido del caballo ********//
public class Nodo{
private int [][] tablero;
private int x;
private int y;
private int actual;
public Nodo(int [][] tablero, int x, int y, int actual){
/* crear el tablero: no hacer solo una referencia del parámetro */
/* colocar el valor actual sobre la copia */
}
/* crear metodos get para todos los atributos */
public boolean esSolucion(){
return (/*condicion para asegurar que terminó*/);
}
public String toString(){
String formato = "";
/*codigo para visualizar el tablero: no imprimir directamente*/
return formato;
}
public boolean esValido(int nX, int nY){
return ( /*condición para asegurar que en una casilla podemos colocar un nuevo dato*/);
}
}
import java.util.Stack;
public class Caballo{
private int saltoX[] = {-2,-1,1,2,2,1,-1,-2};
private int saltoY[] = {1,2,2,1,-1,-2,-2,-1};
private Stack<Nodo> pila;
public Caballo(int fils, int cols, int px, int py){
/*crear la pila y el tablero con el primer valor: insertar en la pila*/
}
public Nodo backtracking(){
/*extraer de la pila: si es solución retornar el tope*/
/*extraer los datos del tope: para verificar las alternativas*/
for(int i=0; i < 8; i++){
/*insertar los elementos validos en la pila */
}
return null;
}
public void solver(){
while( !pila.empty()){
Nodo solucion = backtracking();
if(solucion != null){
System.out.println(solucion);
//break; habilitada solo muestra una solución
}
}
}
public static void main(String[] args){
Caballo x = new Caballo(3, 4, 0,0); //una verificación: muestra dos soluciones
x.solver();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Caballo

Publicado por Aitor (85 intervenciones) el 02/12/2011 12:21:46
te añadido los metodos que faltan

class Nodo {

private int[][] tablero;
private int x;
private int y;
private int actual;

public Nodo(int[][] tablero, int x, int y, int actual) {
/* crear el tablero: no hacer solo una referencia del parámetro */
this.tablero=new int[x][y];
/* colocar el valor actual sobre la copia */
this.actual=actual;
}
/* crear metodos get para todos los atributos */

public int getActual() {
return actual;
}

public int[][] getTablero() {
return tablero;
}

public int getX() {
return x;
}

public int getY() {
return y;
}

public void setActual(int actual) {
this.actual = actual;
}

public void setTablero(int[][] tablero) {
this.tablero = tablero;
}

public void setX(int x) {
this.x = x;
}

public void setY(int y) {
this.y = y;
}

public boolean esSolucion() {
return (/*condicion para asegurar que terminó*/);
}

public String toString() {
String formato = "";
/*codigo para visualizar el tablero: no imprimir directamente*/
return formato;
}

public boolean esValido(int nX, int nY) {
return ( /*condición para asegurar que en una casilla podemos colocar un nuevo dato*/);
}
}
class Caballo {

private int saltoX[] = {-2, -1, 1, 2, 2, 1, -1, -2};
private int saltoY[] = {1, 2, 2, 1, -1, -2, -2, -1};
private Stack<Nodo> pila;

public Caballo(int fils, int cols, int px, int py) {
/*crear la pila y el tablero con el primer valor: insertar en la pila*/
this.pila=new Stack<Nodo>();
}

public Nodo backtracking() {
/*extraer de la pila: si es solución retornar el tope*/
/*extraer los datos del tope: para verificar las alternativas*/
for (int i = 0; i < 8; i++) {
/*insertar los elementos validos en la pila */
}
return null;
}

public void solver() {
while (!pila.empty()) {
Nodo solucion = backtracking();
if (solucion != null) {
System.out.println(solucion);
//break; habilitada solo muestra una solución
}
}
}

public static void main(String[] args) {
Caballo x = new Caballo(3, 4, 0, 0); //una verificación: muestra dos soluciones
x.solver();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar