Skip to main content

各种国际象棋评分系统

项目描述

国际象棋

官方国际象棋评级系统的 python 实现,被美国国际象棋联合会 (USCF) 等组织用来对玩家实力进行评级。

目前可用的模块有:

安装

在 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 查看哈希

已上传 source

内置分布

chessratings-0.0.1-py3-none-any.whl (3.3 kB 查看哈希

已上传 py3