跳转到主要内容

来自xcookie的模块

项目描述

GithubActions

PyPogo模块。

目标是创建一个Python模块来运行宝可梦Go的计算和模拟。该模块通过接口与 https://pogoapi.net/api/v1/ 获取数据,如宝可梦统计数据等。它目前可以进行CP计算,并基于宝可梦在不同等级的统计数据产品检查IV等级。

我目前正在开发一个战斗模拟器,并计划使用神经网络和强化学习训练代理进行PVP游戏。但这还需要一段时间才能完成。

在此期间,您仍然可以使用此软件包做一些有用的事情。

主要的接口方式是使用 Pokemon 类。

您可以在约束条件下找到IV和等级以最大化CP

>>> from pypogo.pokemon import Pokemon
>>> base = Pokemon('eevee')
>>> print('base = {}'.format(base))
>>> #
>>> max_cp = 1500
>>> #
>>> for mon in base.family():
>>>     mon.maximize(max_cp, ivs='maximize', max_level=51)
>>>     print('mon = {}'.format(mon))
base = <Pokemon(eevee, None, None, None, None)>
mon = <Pokemon(leafeon, 1497, 19.0, [1, 15, 14], None)>
mon = <Pokemon(espeon, 1498, 17.5, [0, 15, 15], None)>
mon = <Pokemon(umbreon, 1497, 27.5, [0, 15, 14], None)>
mon = <Pokemon(flareon, 1500, 18.5, [0, 15, 13], None)>
mon = <Pokemon(glaceon, 1500, 18.0, [0, 15, 12], None)>
mon = <Pokemon(jolteon, 1500, 19.5, [0, 12, 15], None)>
mon = <Pokemon(vaporeon, 1500, 18.0, [1, 15, 15], None)>

您可以执行净化和进化操作

>>> from pypogo.pokemon import Pokemon
>>> self = Pokemon('ralts', ivs=[6, 13, 15], level=20,
>>>                 shadow=True, shiny=True)
>>> new = self.purify()
>>> print('self = {}'.format(self))
>>> print('new  = {}'.format(new))
>>> evos = new.evolved()[0].evolved()
>>> print(evos[0])
>>> print(evos[1])
self = <Pokemon(ralts(😈,), 274, 20, [6, 13, 15], None)>
new  = <Pokemon(ralts(👼,), 285, 20, (8, 15, 15), None)>
<Pokemon(gallade(👼,), 1718, 20, (8, 15, 15), None)>
<Pokemon(gardevoir(👼,), 1718, 20, (8, 15, 15), None)>

您可以构建不同IV组合的联盟排名表

>>> from pypogo.pokemon import Pokemon
>>> self = Pokemon('beedrill')
>>> beedrill_df = self.league_ranking_table(max_cp=1500)
>>> print(beedrill_df)
      iva  ivd  ivs    cp  level      attack     defense  stamina  stat_product_k  rank     percent
rank
1       0   13   14  1499   32.5  126.206025  106.789714      132     1779.030702     1  100.000000
2       0   14   13  1500   32.5  126.206025  107.536495      131     1777.899723     2   99.316671
3       0   14   15  1496   32.0  125.700414  107.105679      132     1777.146120     3   98.861349
4       0   15   14  1497   32.0  125.700414  107.849468      131     1775.930690     4   98.126996
5       1   13   15  1500   32.0  126.444204  106.361889      132     1775.247460     5   97.714193
...   ...  ...  ...   ...    ...         ...         ...      ...             ...   ...         ...
4092   14    2    1  1489   32.0  136.113467   98.180205      121     1617.001419  4092    2.103120
4093   15    0    2  1490   32.0  136.857256   96.692626      122     1614.436679  4093    0.553523
4094   15    0    0  1493   32.5  137.407744   97.081558      121     1614.110696  4094    0.356567
4095   15    1    3  1488   31.5  136.304546   97.042911      122     1613.741564  4095    0.133540
4096   15    1    1  1492   32.0  136.857256   97.436416      121     1613.520542  4096    0.000000
...
[4096 rows x 11 columns]

此模块主要是在娱乐和个人使用中开发。随着需要添加的功能不断增加,主要是为了回答与我个人最小-最大化的相关问题。请随意分叉、贡献或按您所需使用。

阅读文档

https://pypogo.readthedocs.io

Github

https://github.com/Erotemic/pypogo

Pypi

https://pypi.ac.cn/project/pypogo

项目详情


下载文件

下载适用于您的平台文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。

源分发

pypogo-0.1.0.tar.gz (65.1 kB 查看哈希值)

上传时间 源代码

构建分布版

pypogo-0.1.0-py3-none-any.whl (64.7 kB 查看哈希值)

上传时间 Python 3

由以下支持