Coder Social home page Coder Social logo

poke_calculator's Introduction

poke_calculator

Esse projeto visa utilizar dos métodos de data visualization, programação em python, automação e de interfaces gráficas.

A parte lógica do calculador em questão, presente em code.py, é uma implementação de um sistema para avaliar a compatibilidade da equipe de Pokémon do jogador com a região do jogo. Ele realiza as seguintes etapas:

  1. Localização da Região e Bioma:

    Determina a região, área e bioma do jogador com base em inputs ou informações fixas.

  1. Análise de Encontros:

    Utiliza informações de encontros em um arquivo para calcular a probabilidade de encontrar diferentes tipos de Pokémon na região     específica.

  1. Cálculo de Taxas:

    Calcula as taxas de encontro para cada Pokémon com base em sua presença na região.

  1. Análise de Tipos:

    Obtém os tipos dos Pokémon mais prováveis de serem encontrados na região.

  1. Sugestão de Equipe Ideal:

    Sugere uma equipe ideal de 6 Pokémon com base nos tipos mais eficazes para a região.

  1. Comparação de Equipes:

    Compara a equipe atual do jogador com a equipe ideal sugerida, fazendo ajustes se necessário.

 O código utiliza arquivos externos para obter informações sobre Pokémon e taxas de encontro, além de incluir visualizações de dados através de gráficos. A modularidade e estrutura do código facilitam a compreensão e manutenção do sistema.

 Com relação à visualização dos dados, temos o script data_visual o qual é importado em code.py como módulo. Tratando-se de uma implementação utilizando a biblioteca Matplotlib e outras para a visualização de dados relacionados aos tipos de Pokémon.

 O script começa definindo uma lista vazia chamada tipos_pokemon. Em seguida, há uma função chamada main, que realiza as seguintes tarefas:

  • Conta a ocorrência de cada tipo de Pokémon na lista tipos_pokemon.

  • Extrai os dados necessários para criar um gráfico de barras, incluindo tipos e quantidades.

  • Associa cores a cada tipo de Pokémon com base em um dicionário predefinido.

  • Cria um gráfico de pizza que mostra a distribuição de tipos de Pokémon na região.

Além disso, o código define duas funções adicionais:

  • plot_encounter_rate: Plota um gráfico de barras mostrando a taxa de encontro de diferentes Pokémon, usando nomes e taxas fornecidos como parâmetros.

  • plot_encounter_heatmap: Cria mapas de calor para correlações entre efetividade e resistência dos tipos de Pokémon, utilizando DataFrames do Pandas e paletas de cores específicas.

Finalmente, a função main(tipos_pokemon) é chamada, esperando valores da lista tipos_pokémon que vêm de code.py.

    A partir disso, temos o script interactive_map.py que utiliza a biblioteca Tkinter para criar interfaces gráficas e a biblioteca Matplotlib para gerar mapas interativos. Em resumo, o script se descreve com as seguintes classes e suas respectivas funcionalidades:

  • Classe InteractiveButton_version:

Cria uma janela gráfica com um mapa de regiões. As regiões são polígonos interativos em que o usuário pode clicar. Ao clicar em uma região, a classe captura a versão clicada, retorna o valor de version e fecha a janela.

  • Classe InteractiveMap_paldea:

Similar à classe InteractiveButton_version, mas para um mapa diferente. Permite ao usuário selecionar uma província, escolhendo o valor de province clicando em um polígono correspondente.

  • Classe InteractiveMap_province:

Semelhante às anteriores, mas para áreas dentro de uma província. O usuário pode clicar em uma área e a classe captura a área selecionada, devolvendo o valor de area.

  • Classe InteractiveButton_biome:

Exibe um mapa com diferentes biomas representados por polígonos interativos. O usuário pode clicar em um bioma dentro de uma área e a classe captura o bioma selecionado (biome), verificando se o bioma pertence à área e província previamente selecionadas.

  • Função main:

Define coordenadas para diferentes regiões em uma variante. Cria uma instância da classe InteractiveButton_version para permitir ao usuário escolher uma variante. Com base na variante escolhida, cria uma instância da classe InteractiveMap_paldea para permitir ao usuário escolher uma província. Com base na província escolhida, cria uma instância da classe InteractiveMap_province para permitir ao usuário escolher uma área. Finalmente, com base na área escolhida, cria uma instância da classe InteractiveButton_biome para permitir ao usuário escolher um bioma.

    Em suma, o código utiliza a biblioteca Matplotlib para exibir os mapas e a biblioteca Shapely para verificar se um ponto (clicado pelo usuário) está dentro de um polígono. Ressaltando que todos os dicionários contendo os pontos dos polígonos foram obtidos no site do VGG Image Anotator. As informações capturadas durante as interações do usuário são armazenadas nas variáveis version, province, area, e biome. O script fornece uma interface gráfica para exploração de diferentes regiões, províncias, áreas e biomas em um mapa. Os dados captados são retornados para a execução da lógica de calculadora de code.py.

    Por fim, temos exe.py que une a execução de todos os outros scripts. Sua estrutura funciona da seguinte forma:

  • Interface Gráfica:

Utiliza a biblioteca Tkinter para criar uma janela principal. A janela contém campos para inserção de informações da equipe de Pokémon desejada. Um botão "Submit" inicia a análise da equipe.

  • Funcionalidade Principal (main):

Recebe as informações inseridas e a equipe desejada. Utiliza um módulo chamado code para realizar várias operações, como encontrar Pokémon na área, avaliar encontros, calcular taxas, avaliar tipos, calcular danos e determinar a equipe ideal. Compara a equipe inserida pelo usuário com a equipe ideal.

  • Apresentação de Resultados:

Após a análise, finalmente, exibe uma caixa de mensagem com o resultado da comparação entre a equipe do usuário e a equipe ideal.

    Em conclusão, o usuário vai receber a equipe ideal para certa região, selecionada por ele previamente de forma interativa. Além de poder avaliar a distribuição dos dados, através do ferramental de visualização disponibilizado.

poke_calculator's People

Contributors

estevao-luiz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.