Skip to content

Norbert-Waszkowiak-WAT/pjf-zad-4-pokemon

Repository files navigation

pjf-zad4-pokemon

Opis wstępny

W świecie gier Pokemon każdy ruch oraz pokemon mają określone typy, które determinują skuteczność (liczbę obrażeń) poszczególnych ruchów przeciw poszczególnym typom pokemonów.

Jeżeli dany typ ruchu (ataku) jest efektywny przeciwko danemu typowi pokemona, to obrażenia są podwajane. Jeżeli dany typ ruchu (ataku) nie jest efektywny przeciwko danemu typowi pokemona, to obrażenia są połowiczne. Jeżeli dany typ ruchu (ataku) nie ma efektu przeciwko danemu typowi pokemona, to obrażenia są zerowe.

Przykładowo typ wodny dobrze sprawdza się przeciwko typowi ognistemu, co skutkuje zdublowaniem obrażeń. Dodatkowo niektóre pokemony mogą mieć kilka typów - w takim przypadku należy uwzględnić efektywność ruchu przeciwko każdemu z nich (iloczyn).

Przykładowo:

  • fire -> grass = 2x
  • fighting -> ice rock = 4x
  • psychic -> poison dark = 0x
  • water -> normal = 1x
  • fire -> rock = 0.5x

PokeAPI

W celu określenia efektywności ruchów skorzystaj z PokeAPI: https://pokeapi.co/docs/v2#types https://pokeapi.co/docs/v2#moves-section https://pokeapi.co/docs/v2#pokemon

Przykład zapytania GET dla typu ognistego:

curl https://pokeapi.co/api/v2/type/fire

Ocena

Modyfikuj wyłącznie plik solution.py.

Testy

W sumie można zdobyć 100 punktów.

  • python -m unittest test.TestPokemonAPI.test_get_type_data_0 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_get_type_data_1 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_single_type_0 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_single_type_1 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_single_type_2 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_single_type_3 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_double_type_0 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_double_type_1 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_double_type_2 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_double_type_3 - 5 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_move_single_type - 10 pkt.
  • python -m unittest test.TestPokemonAPI.test_calculate_effectiveness_for_move_double_type - 10 pkt.
  • python -m unittest test.TestPokemonAPI.test_get_most_effective_move_0 - 10 pkt.
  • python -m unittest test.TestPokemonAPI.test_get_most_effective_move_1 - 10 pkt.
  • python -m unittest test.TestPokemonAPI.test_execution_time_of_all_methods - 10 pkt.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages