Beispiel #1
0
 private function getKFactor(Elo $elo)
 {
     if ($elo->getElo() > 2400) {
         return 16;
     }
     if ($elo->getElo() >= 2100) {
         return 24;
     }
     return 32;
 }
Beispiel #2
0
 /**
  * @test
  */
 public function shouldDetermineEloForNonProvisional()
 {
     // given
     $player = $this->getUserWithNonProvisionalElo();
     // when
     $elo = new Elo($player->getId(), 1);
     $elo->setElo(1400);
     $elo->commit();
     // then
     $this->assertFalse($elo->isProvisional());
     $opponent = $this->getUserWithElo(1100);
     $this->assertEquals(1400, $player->getElo(1));
     $this->assertEquals(1100, $opponent->getElo(1));
     $eloSetter = new EloSetter(1);
     $eloSetter->registerResult($player, $opponent, 1);
     // then
     $elo = new Elo($player->getId(), 1);
     $this->assertEquals(1405, $elo->getElo());
     // when
     $player = $this->getUserWithNonProvisionalElo(1548);
     $eloSetter = new EloSetter(1);
     $eloSetter->registerResult($player, $this->getUserWithElo(1212), 1);
     $pl = new Player($player->getId());
     // then
     $this->assertEquals(1552, $pl->getElo(1));
 }
Beispiel #3
0
 public function getElo($category)
 {
     $elo = new Elo($this->getId(), $category);
     return $elo->getElo();
 }