mirror of
https://github.com/furyfire/trueskill.git
synced 2025-01-15 17:37:39 +00:00
42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
|
|
require_once(__DIR__ . "/../vendor/autoload.php");
|
|
|
|
use DNW\Skills\TrueSkill\FactorGraphTrueSkillCalculator;
|
|
use DNW\Skills\GameInfo;
|
|
use DNW\Skills\Player;
|
|
use DNW\Skills\Team;
|
|
use DNW\Skills\Teams;
|
|
|
|
$gameInfo = new GameInfo();
|
|
|
|
$p1 = new Player("Winner");
|
|
$p2 = new Player("Average");
|
|
$p3 = new Player("Looser");
|
|
|
|
|
|
$team1 = new Team($p1, $gameInfo->getDefaultRating());
|
|
$team2 = new Team($p2, $gameInfo->getDefaultRating());
|
|
$team3 = new Team($p3, $gameInfo->getDefaultRating());
|
|
|
|
|
|
for($i = 0; $i < 5; ++$i) {
|
|
echo "Iteration: " . $i . PHP_EOL;
|
|
$teams = [$team1, $team2, $team3];
|
|
|
|
$calculator = new FactorGraphTrueSkillCalculator();
|
|
|
|
$newRatings = $calculator->calculateNewRatings($gameInfo, $teams, [1, 2, 3]);
|
|
|
|
$team1 = new Team($p1, $newRatings->getRating($p1));
|
|
$team2 = new Team($p2, $newRatings->getRating($p2));
|
|
$team3 = new Team($p3, $newRatings->getRating($p3));
|
|
|
|
echo "P1: ". $newRatings->getRating($p1)->getConservativeRating() . PHP_EOL;
|
|
echo "P2: ". $newRatings->getRating($p2)->getConservativeRating() . PHP_EOL;
|
|
echo "P3: ". $newRatings->getRating($p3)->getConservativeRating() . PHP_EOL;
|
|
}
|
|
|
|
|
|
|