ENHANCEMENT: Offcial kashdan

Reimplemented official kashdan tiebreak. Please review https://github.com/JeroenED/libpairtwo/wiki/3.-Kashdan-tiebreak for more info
This commit is contained in:
Jeroen De Meerleer 2019-06-03 12:32:56 +02:00
parent 9e6c9bbb5b
commit 38e1d23fee
1 changed files with 27 additions and 1 deletions

View File

@ -251,7 +251,7 @@ abstract class Tiebreaks extends Tournament
* @param Player $player
* @return float|null
*/
protected function calculateKashdan(Player $player): ?float
protected function calculateSoccerKashdan(Player $player): ?float
{
$tiebreak = 0;
foreach ($player->getPairings() as $pairing) {
@ -272,6 +272,32 @@ abstract class Tiebreaks extends Tournament
return $tiebreak; // - $player->getNoOfWins();
}
/**
* @param Player $player
* @return float|null
*/
protected function calculateKashdan(Player $player): ?float
{
$tiebreak = 0;
foreach ($player->getPairings() as $pairing) {
$toadd = 0;
if (array_search($pairing->getResult(), Constants::Won) !== false) {
$toadd = 4;
} elseif (array_search($pairing->getResult(), Constants::Draw) !== false) {
$toadd = 2;
} elseif (array_search($pairing->getResult(), Constants::Lost) !== false) {
$toadd = 1;
}
if (array_search($pairing->getResult(), Constants::NotPlayed) !== false) {
$toadd = 0;
}
$tiebreak += $toadd;
}
return $tiebreak; // - $player->getNoOfWins();
}
/**
* @param Player $player
* @return float|null