zelenin/elo 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

zelenin/elo

最新稳定版本:0.0.1

Composer 安装命令:

composer require zelenin/elo

包简介

A PHP implementation of Elo rating system

README 文档

README

A PHP implementation of Elo rating system

Installation

Composer

The preferred way to install this extension is through Composer.

Either run

php composer.phar require zelenin/elo "dev-master"

or add

"zelenin/elo": "dev-master"

to the require section of your composer.json

Usage

Create two players with current ratings:

use Zelenin\Elo\Player;

$player1 = new Player(1200);
$player2 = new Player(800);

Create match:

use Zelenin\Elo\Match;

$match = new Match($player1, $player2);
$match->setScore(1, 0)
    ->setK(32)
    ->count();

Get players:

$player1 = $match->getPlayer1();
$player2 = $match->getPlayer2();

Get new ratings:

$newRating1 = $player1->getRating();
$newRating2 = $player2->getRating();

Advanced usage

If you want use this library for not-traditional for Elo sports like football, ice hockey, basketball, you may set additional handlers for setting goal index and home correction.

use Zelenin\Elo\Match;
use Zelenin\Elo\Player;

$player1 = new Player(1200);
$player2 = new Player(800);

$goalIndexHandler = function ($score1, $score2) {
    $diff = abs($score1 - $score2);
    if ($diff > 0) {
        return sqrt($diff);
    }
    return 1;
};

$homeCorrectionHandler = function ($home, $diff) {
    $coefficient = 100;
    if ($home == 1) {
        return $diff - $coefficient;
    }
    if ($home == 2) {
        return $diff + $coefficient;
    }
    return $diff;
};

$match = new Match($player1, $player2);
$match->setScore(1, 0)
    ->setK(32)
    ->setGoalIndexHandler($goalIndexHandler)
    ->setHome(2)
    ->setHomeCorrectionHandler($homeCorrectionHandler)
    ->count();

$newRating1 = $player1->getRating();
$newRating2 = $player2->getRating();

Info

See Wiki about Elo rating system

Author

Aleksandr Zelenin, e-mail: aleksandr@zelenin.me

统计信息

  • 总下载量: 7.19k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 25
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 25
  • Watchers: 2
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-06-17