Skip to content
This repository was archived by the owner on May 3, 2024. It is now read-only.

Trabalho de Consumo de API de Estrutura de Dados 2

Notifications You must be signed in to change notification settings

MisterDaniels/PokemonAPIConsume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trabalho de Consumo de API's - Utilizando PokéAPI

Codacy Badge Academy Project CircleCI      Made with Javacript Creative Commons

A ideia do projeto é utilizar as requisições de API em JSON do PokéAPI, para construir uma espécie de um jogo, onde a função do jogador é cuidar de necessidades básicas dos seus Pokémons. Então, o usuário tem como função, alimentar cada um dos seus Pokémons e capturar novos quando possibilitado. Para conhecer mais da API, acesse a página do Github do PokéAPI.

O projeto consome URL's específicas para coletar dados de Ovos de Pokémon, para o chocamento de novos Pokémons, criando uma função extra para a aplicação. Documentação sobre os ovos

Consumo dos dados sobre os ovos da API

// Requisita os ovos da API, depois vai construindo a váriavel global
function loadEggs() {
    $.getJSON('https://pokeapi.co/api/v2/egg-group/').then(function(data){     
        eggs.count = data.count;
        
        for(var i = 0; i < data.count; i++) {
            eggs.eggs.push({id: i, name: data.results[i].name, url: data.results[i].url, pokemon_possibilities: []});    
        }
        
        for (var i = 0; i < eggs.count; i++) {
            loadEggPossibilites(i);
        }
    });
}

Além dos ovos, o projeto consume dados sobre os Pokémons, para assim, mostrar de forma visual os Pokémons consumidos. Assim, constroi o núcleo do cuidado de cada um dos Pokémons. Documentação sobre os Pokémons

Consumo dos dados sobre os Pokémons da API

// Faz a requisição de cada um dos Pokémons (por url), então, vai construindo a váriavel global, recebe o id do Pokémon (baseado no parâmetro da url da API)
function loadPokemon(pokemon_id) {
    $.getJSON('https://pokeapi.co/api/v2/pokemon-species/' + pokemon_id).then(function(data) {
        pokemons.pokemons.push({id: data.id, name: data.name, url: 'https://pokeapi.co/api/v2/pokemon-species/' + pokemon_id, evolution_chain: data.evolution_chain.url});
    });
}

Para rodar o projeto

Primeiro de tudo, se caso utilizar Node.js, instale a dependência Express no seu gerenciador de pacotes favorito, para assim rodar o protocolo para a parte do servidor.

$ npm install express
$ yarn install express

Agora, é possível rodar o projeto com o script definido no package.json:

$ npm start
$ yarn start

Agora é só acessar o endereço localhost:3000

Agora basta digitar no console do seu navegador de preferência, passando um nome de usuário qualquer (como um cadastro):

createCookieUser('username');

Atualize a página com a url localhost:3000?username='username-cadastrado-anteriormente'

Pronto, agora com os dados inicias salvos no Cookie, é possível entrar na conta cadastrada passando o username na url como parâmetro


Funcionalidades e imagens

Alimentar

A aplicação tem como base alimentar o Pokémon do usuário. É utilizado um ciclo padrão de 1 em 1 minuto para dar fome para o Pokémon, representado na barra de progresso mais abaixo. Se caso essa base de 100% terminar, é começado um ciclo de 1 em 1 minuto para remover a vida do Pokémon. Caso o Pokémon perca o total de vida, ele morre.  Alimentar

Level

Os Pokémons possuem level apenas para fundamento de evolução (não presente no estado projeto)  Level

Inventário de Pokémons

O jogador cadastrado, possue um inventário de Pokémons que pode ser expandido. Para trocar de Pokémon, é utilizado as setas para mostrar cada um individualmente.  Inventário

Ovos de Pokémon

É possível o jogador possuir ovos para geração de novos Pokémons. Cada ovo tem um determinado número de Pokémons que podem nascer deles, é possível ver essas informações no tooltip da imagem do ovo. Os ovos também possuem ciclo de chocamento, tendo que o jogador esperar um tempo real, antes de chocar o ovo específico.

Ovo de Pokémon Pokémons possíveis do Ovo
Ovos 1 Ovos 2

Mapa para Captura de novos Pokémons

O mapa é utilizado para capturar novos Pokémons, ele possue um tempo especifíco para gerar novos Pokémons no mapa, para assim, o jogador poder gerar novos Pokémons. Cada Pokémon do mapa é gerado de forma aleatória em um raio próximo aos EUA. Ao clicar em cada icone de Pokémon, é possível capturar ou não em uma chande de 50/50. Mapa

Imagens

Ovo no inventário Pokémon capturado
Imagem 1 Imagem 2

About

Trabalho de Consumo de API de Estrutura de Dados 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •