•
•
A pokédex é capaz de identificar o tipo de pokémon quando ele entra no
alcance do radar.
Caso mais de um pokémon apareça no radar da pokédex, você deve calcular
o melhor caminho e a melhor ordem para capturar os pokémons visíveis que
desejar.
•
O total de cada tipo de pokémon é o seguinte:
o 20 pokémons de grama;
o 10 pokémons de água;
o 8 pokémons de ar;
o 6 pokémons de fogo;
o 4 pokémons elétricos;
•
•
•
•
•
Os pokémons sempre estão em locais de grama. Ao sortear a posição inicial
dos pokémons, o programa deve garantir que eles sempre estejam em regiões de
grama.
Deve existir uma maneira de visualizar os movimentos do agente, mesmo que a
interface seja bem simples. Podendo até mesmo ser uma matriz desenhada e
atualizada no console.
O mapa do planeta deve ser configurável, ou seja, deve ser possível modificar
o tipo de terreno em cada local. O mapa pode ser lido de um arquivo de texto ou
deve ser facilmente editável no código.
A única forma de garantir o caminho de menor custo possível é resolvendo
várias vezes o problema do Caixeiro Viajante (Travelling Salesman) para
selecionar a melhor ordem para visitar os ginásios e capturar os pokémons.
O programa deve exibir o custo do caminho percorrido pelo agente enquanto
ele se movimenta pelo mapa e também o custo final ao terminar a execução.
•
•
O programa pode ser implementado em qualquer linguagem.
O trabalho pode ser feito individualmente ou em grupos de no máximo 3
pessoas.
•
O programa deve ser apresentado durante a aula por todos os membros do
grupo. Se algum dos membros do grupo não comparecer ou não souber explicar
nada sobre a implementação receberá nota zero.