/** arruma a profundidade de um nodo e de seus pais */ void setProfundidade() { if (pai == null) { profundidade = 0; } else { pai.setProfundidade(); profundidade = pai.getProfundidade() + 1; } }
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; }