package jogo8pecas; import java.util.ArrayList; import java.util.List; import java.util.Stack; public class BuscaEmProfundidade{ Stack pilha = new Stack<>(); ArrayList caminho = new ArrayList(); int count =0; public ArrayList EmProfun(Estado atual){ Stack pilha = new Stack<>(); pilha.push(atual); while(!pilha.isEmpty()){ Estado no = pilha.pop(); if(no.VerificaOFinal()){ System.out.println("Caminho:" +caminho.toString()); System.out.println("Contador: "+count); caminho.add(no); return caminho; } for(Estado z : pilha){ if((! pilha.contains(z))){ System.out.println("Entrou"); GeradordeEstados ge = new GeradordeEstados(no.getEstadoAtual()); pilha.addAll(ge.proximoPasso()); caminho.add(no); count++; } } } return null; } }