//todas las acciones posibles public Estado LlenarJ3() { Estado estado = new Estado(3, J4, "LLenar J3 "); de.setDeb("He llenado J3 *" + estado.getJ3() + "," + estado.getJ4() + "* "); return(estado); }
//crea una lista de estados candidatos, los compara con los del padre por si se repite. devuelve una lista de nodos. public List <Nodo> expandir(debug de) { this.de = de; de.setDeb(this.miEstado()); estado.setDebug(de); List <Estado> estadosCandidatos = estado.expandir(); List <Nodo> listaADevolver = new List <Nodo>(); foreach (Estado esta in estadosCandidatos) { if (padre == null) { Nodo nuevoNodo = new Nodo(this, esta.getJ3(), esta.getJ4(), null); listaADevolver.Add(nuevoNodo); } else if (!esta.comparaEstado(padre.getEstado())) { Nodo nuevoNodo = new Nodo(this, esta.getJ3(), esta.getJ4(), esta.accion); listaADevolver.Add(nuevoNodo); } } return(listaADevolver); }