Exemple #1
0
 /** arruma a profundidade de um nodo e de seus pais */
 void setProfundidade() {
   if (pai == null) {
     profundidade = 0;
   } else {
     pai.setProfundidade();
     profundidade = pai.getProfundidade() + 1;
   }
 }
Exemple #2
0
 public Nodo(Estado e, Nodo p) {
   estado = e;
   pai = p;
   if (p == null) {
     profundidade = 0;
     g = e.custo();
   } else {
     profundidade = p.getProfundidade() + 1;
     g = e.custo() + p.g;
   }
 }
 public Nodo buscaR(Nodo corrente) {
   if (corrente == null) {
     return null;
   }
   status.explorando(corrente, 0);
   if (corrente.estado.ehMeta(corrente)) {
     return corrente;
   }
   if (corrente.getProfundidade() > profMax || parar) {
     return null;
   }
   for (Nodo s : sucessores(corrente)) {
     Nodo n = buscaR(s);
     if (n != null) {
       return n;
     }
   }
   return null;
 }