Ir ao conteúdo
  • Cadastre-se
PhTixa

8-puzzle(quebra cabecas) , programação em java

Recommended Posts

Boa Noite Galera! 
Estou com um dúvida em programação java!
O Trabalho é para desenvolver um quebra cabeça de 8 peças, e montar uma Busca em Profundidade, Largura, Gulosa e A*!
Mas estou com problemas de cara na Busca em profundidade pois ela está com estados repetidos!
Se alguém poder me ajudar realmente ficarei Muito Grato!
essa é a parte da Busca em Profundidade em que não estou entendendo o porque de não tratar esses estados! 
 

 

public ArrayList<Estado> EmProfun(Estado atual){
        Stack<Estado> 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;
            }
            
                if((! pilha.contains(no))){
                System.out.println("Entrou");    
                GeradordeEstados  ge = new GeradordeEstados(no.getEstadoAtual());
                pilha.addAll(ge.proximoPasso());
                caminho.add(no);
                count++;
                
                
            }
        }
        
        return null;
    }


Mais abaixo deixo o código para poderem ver melhor a minha situação valeu ai...

BuscaemLargura.java

BuscaEmProfundidade.java

Estado.java

GeradordeEstados.java

Interface.java

Matriz.java

Editado por dif
Colocar o código com o botão CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou precisando desses algoritmos pode anexar novamente. Tenho o mesmo trabalho para entregar, e tal qual como você a dúvida não é em programação mas sim como estruturar o algoritmo para chegar lá. E o pior de tudo que acho mil exemplos simples de busca em largura mas nenhum com quebra cabeça de 8 peças.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×