dgunay / good-bans
《英雄联盟》禁用英雄统计排名工具。
Requires
- php: ^7.0
- guzzlehttp/guzzle: ~6.0
- psr/log: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7
- vimeo/psalm: ^2.0
This package is auto-updated.
Last update: 2024-09-29 05:01:58 UTC
README
基本上是对http://bestbans.com的重构。该网站已经停止维护很长时间了,我很喜欢使用它,所以我厌倦了,重新制作了它。
GoodBans(与BestBans完全相同)通过计算哪些英雄最常被选择和胜率最高来确定哪些英雄如果不是在你的团队中,最有可能对你构成威胁。其逻辑是,尽管一些有主玩英雄可以拉出很高的胜率,但你更有可能遇到一个胜率良好的热门英雄。由于你无法知道敌方团队中是谁,因此最统计上有益的策略是禁用最常见和最有效的单排威胁。
这种逻辑完全忽略了团队组成,纯粹偏好大数法则,所以如果你不确定要禁用哪些英雄,请使用它。哦,而且不要禁掉你的队友想选择的英雄。这是一个很糟糕的做法,你可能会伤害你赢得比赛的机会。
要求
- PHP 7.1+
安装
-
创建一个数据库。可以是任何供应商,但我使用了SQLite3。
-
要刷新数据库,使用
refresh_db.php
作为示例
require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/../config.php'; use GoodBans\OpGG; use GoodBans\RiotChampions; use GoodBans\ChampionsDatabase; $db = new ChampionsDatabase( new \PDO('sqlite:/path/to/your_db.db'), // use whatever PDO you like new OpGG(), new RiotChampions() ); $db->refresh(); // prepares the tables and fetches data from the interwebs!
- 在HTML中放入类似以下的内容
use GoodBans\ChampionsDatabase; use GoodBans\TopBans; use GoodBans\View; $bans = $db->topBans(); $view = new View($bans); echo $view->render();
您还可以直接使用TopBans模型来创建自己的视图。
开发
主分支将始终保持可部署状态。开发合并到候选版本分支(例如:rc-1.0
)。补丁从候选版本分支继续,并带有适当的标签合并回主分支。
运行测试
run_tests.php
脚本应该可以处理,否则您可以直接执行php ./vendor/bin/phpunit ./test
。测试需要PDO SQLite3。
贡献
GoodBans旨在为任何数据集提供相同的禁用效果分析方法(尽管显然结果取决于数据的样子)。
如果您知道任何好的《英雄联盟》统计聚合器,具有友好的API或(道德上)可抓取的界面,您可以做的一件最酷的事情是为该网站编写一个ChampionsDataSource
的子类。只需确保统计数据按 elo 分隔,并且至少有每个英雄的胜/禁/选择率。