各种国际象棋评分系统
项目描述
国际象棋
官方国际象棋评级系统的 python 实现,被美国国际象棋联合会 (USCF) 等组织用来对玩家实力进行评级。
目前可用的模块有:
- 美国国际象棋联合会(ELO):http ://www.glicko.net/ratings/rating.system.pdf
安装
在 PyPi 中可用。
pip install chessratings
用法
要使用 chessratings 包,请将您选择的模块导入 python 脚本:
from chessratings import uscf_elo
使用此软件包时需要了解一些重要概念:球员和锦标赛。
玩家是可以与其他玩家一起参与游戏/比赛的评级实体。玩家至少需要以下信息:
- id:标识符,例如名称
- 评级:他们最近的评级,如果知道的话
其他可选参数可能因模块而异,可以在源代码中找到。
example_player_1 = uscf_elo.Player(id='player_1', rating=1600)
example_player_2 = uscf_elo.Player(id='player_2', rating=1500)
锦标赛是两名或多名球员之间的一场或一系列比赛。根据官方规范,玩家评分会在锦标赛结束后更新。
锦标赛需要两个参数:
- 玩家:参与玩家实体的列表
- 锦标赛结果:锦标赛结果摘要
比赛结果必须以下列格式提供:
[
[ ( player_1_id, player_2_id ), winner_id ],
[ ( ... ) ],
]
如果比赛是平局,winner_id 可以设置为 null(或两个玩家 ID 之一以外的任何值)。这是一个例子:
players = [example_player_1, example_player_2]
tournament_results = [
[ ( 'player_1', 'player_2' ), 'player_2'],
[ ( 'player_1' ,'player_2' ), 'player_1'],
[ ( 'player_1', 'player_2' ), np.nan ]
]
tournament = uscf_elo.Tournament(players, tournament_results)
运行锦标赛将更新玩家评分,并可选择输出有关锦标赛结果的汇总信息。
tournament_results = tournament.run()
print(tournament_results)
比赛结果显示为:球员 ID、比赛日期、比赛编号、比赛场数、获胜次数、平局次数、失败次数、更新评分
[
['player_1', datetime.date(2021, 5, 20), 1, 3, 1, 1, 1, 1584.0954259202883],
['player_2', datetime.date(2021, 5, 20), 1, 3, 1, 1, 1, 1517.178456181353]
]
贡献
如果您想帮助开发此软件包以及开发和运行测试所需的工具,请在您的 virtualenv 中运行以下命令:
$ pip install -e .[dev]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
chessratings-0.0.1.tar.gz
(12.9 kB
查看哈希)
内置分布
chessratings-0.0.1-py3-none-any.whl
(3.3 kB
查看哈希)
关
chessratings -0.0.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2bff95304b21c738ce5a6be0d87c37a61449592bb31f16fa989119106bd2f1e3 |
|
| MD5 | 4d41107057609818cee54b0eb29d0b23 |
|
| 布莱克2-256 | 63199461936f1c7532af0af2955142ae1ae50a621f810235bafcc86b5f43bfe1 |
关
chessratings -0.0.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 458f5d6c4fab2775579374cec65806ec9d24d39965acad58d01004d670f1c316 |
|
| MD5 | 68697cf9d64662779b8c9e715d012695 |
|
| 布莱克2-256 | 8e9b87f10c2c4cbfef45a3b3aea09b1bbc7e7da1ff533ef099e01a566ce10d02 |