Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // $this->rateChangePoints = 200
- // $this->rateChangePercent = 0.05
- $changed = true;
- $sum = $points[self::WIN] + $points[self::LOOSE] + $points[self::DRAW];
- $rateHome = $match->getRateHome();
- $rateDraw = $match->getRateDraw();
- $rateGuests = $match->getRateGuests();
- while ($changed) {
- $homePoints = $rateHome * $points[self::WIN] - $sum;
- $drawPoints = $rateDraw * $points[self::DRAW] - $sum;
- $guestPoints = $rateGuests * $points[self::LOOSE] - $sum;
- $changed = false;
- if ($homePoints > $this->rateChangePoints) {
- $changed = true;
- $rateHome = 1 / ((1 / $rateHome) + $this->rateChangePercent);
- $rateGuests = 1 / ((1 / $rateGuests) - $this->rateChangePercent);
- }
- if ($guestPoints > $this->rateChangePoints) {
- $changed = true;
- $rateGuests = 1 / ((1 / $rateGuests) + $this->rateChangePercent);
- $rateHome = 1 / ((1 / $rateHome) - $this->rateChangePercent);
- }
- if ($drawPoints > $this->rateChangePoints) {
- $changed = true;
- $rateDraw = 1 / ((1 / $rateDraw) + $this->rateChangePercent);
- $rateHome = 1 / ((1 / $rateHome) - 0.5 * $this->rateChangePercent);
- $rateGuests = 1 / ((1 / $rateGuests) - 0.5 * $this->rateChangePercent);
- }
- if ($rateHome > self::MAX_RATE) {
- $rateHome = self::MAX_RATE;
- } else if ($rateHome < 1) {
- $rateHome = 1;
- }
- if ($rateDraw > self::MAX_RATE) {
- $rateDraw = self::MAX_RATE;
- } else if ($rateDraw < 1) {
- $rateDraw = 1;
- }
- if ($rateGuests > self::MAX_RATE) {
- $rateGuests = self::MAX_RATE;
- } else if ($rateGuests < 1) {
- $rateGuests = 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement