Um jogo interativo de adivinhação desenvolvido em PROLOG, onde o jogador tenta descobrir um país secreto com base em dicas lógicas geradas pelo sistema.
Este projeto foi desenvolvido como uma aplicação prática dos conceitos de programação em lógica, utilizando uma base de conhecimento sobre países para criar uma experiência de jogo desafiadora e educativa.
O objetivo principal é demonstrar a eficácia da linguagem PROLOG para manipulação de bases de conhecimento e implementação de sistemas baseados em regras. O jogo seleciona aleatoriamente um país de uma lista pré-definida e o jogador deve adivinhá-lo. A cada palpite, o sistema fornece dicas comparativas, informando:
- Quais características categóricas (continente, hemisfério, idioma) estão corretas.
- Se a temperatura e a população do país secreto são maiores ou menores que as do país palpitado.
- Base de Conhecimento Extensa: Contém dezenas de países com atributos como hemisfério, continente, idioma, temperatura média e população.
- Seleção Aleatória: A cada nova partida, um país diferente é escolhido como resposta, garantindo a rejogabilidade.
- Feedback Inteligente: O sistema fornece dicas lógicas que ajudam o jogador a refinar suas próximas tentativas.
- Ferramenta de Dica: O jogador pode pedir para o sistema fornecer a capital do país como dica.
- Interface Simples: Interação direta via terminal de comandos PROLOG.
- Linguagem: PROLOG
- Interpretador Recomendado: SWI-Prolog
Antes de começar, você precisa ter um interpretador PROLOG instalado. Recomendamos o SWI-Prolog.
-
Clone o repositório:
git clone https://github.com/xopxee/ProloGuessr
-
Navegue até o diretório do projeto:
cd [NOME_DO_DIRETORIO] -
Inicie o interpretador SWI-Prolog:
swipl
-
Consulte (carregue) os arquivos do projeto:
?- consult('ProloGuessr.pl'). -
Inicie o jogo:
?- jogo.
- Após iniciar o jogo com o comando
jogo., o sistema irá notificá-lo que um país foi escolhido. - Digite seu palpite em letras minúsculas, seguido de um ponto final (
.), e pressione Enter. Exemplo:franca. - Analise as dicas fornecidas:
Atributos em comum: Mostra as características que o seu palpite e o país secreto compartilham.TemperaturaePopulação: Indicam se os valores do país secreto sãoMAIORouMENOR.
- Continue fazendo palpites até acertar.
- Se precisar de uma dica, digite
capital.e o jogo mostrará a Capital do país a ser adivinhado. - Se precisar de outra dica, digite
linguas.e o jogo mostrará as Línguas do país a ser adivinhado. - Se precisar de mais dicas, digite
dica., e o jogo revelará uma letra do nome do País a ser advinhado (O limite de dicas é 3). - Se quiser desistir, digite
desisto.
pais: Fatos que compõem a base de conhecimento. Cada fato define um país e sua lista de atributos.iniciar_jogo: Predicado que inicializa o jogo, escolhendo um país aleatório e armazenando-o dinamicamente.verificar_palpite: O núcleo lógico do jogo. Compara o palpite do usuário com a resposta correta e gera as dicas.jogoeloop_palpites: Controlam o fluxo principal e o loop de interação com o jogador.listar: Predicado utilitário para realizar consultas diretas à base de conhecimento.
- Jorge Alberto - https://github.com/xopxee
- Bruno Costa - https://github.com/brunocostaar
- Arthur Moreira - https://github.com/arthurmoreirat
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.