Форум HeroesWorld-а - Показать сообщение отдельно - Отчёты об ошибках
Показать сообщение отдельно
#247
Старый 19.05.2019, 19:32
  #247
^
Dirty_Player
 
Аватар для Dirty_Player
Координатор
📖
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
Регистрация: 29.04.2007
Адрес: Las Vegas, Nevada
Сообщения: 11704
1750
Отправить сообщение для  Dirty_Player с помощью ICQ Dirty_Player#3487
Выставка наград
По умолчанию
Re: Отчёты об ошибках

SavПо поводу рейтинга: система периодически менялась, но в последних обновлениях HD-мода неочевидные элементы были практически исключены.

Рейтинг в лобби сейчас — просто ЭЛО-рейтинг с коэффициентом, зависящим от размера карты.

Правило изменения рейтинга в результате игры сейчас таково:
R1 += K*(RES - 1/(1 + 10^((R2 - R1)/400)))
R2 -= K*(RES - 1/(1 + 10^((R2 - R1)/400)))
Здесь R1 — рейтинг первого игрока, R2 — рейтинг второго игрока. RES — 1, если победил первый; 0.5, если ничья; 0, если победил второй.

Коэффициент K зависит от размера играемой карты:
K = 60 * ([ширина карты в клетках] * (1.5, если с подземельем) / (144 * 1.5)).
Например:
XL+U: K = 60
L+U: K = 45
XL-U: K = 40
L-U: K = 30
M-U: K = 20
На ХВ, кстати, немного другая формула. Есть ли разница?
Пусть R1 и R2 - начальные рейтинги игроков.

Коэффициенты разницы игроков в рейтинге вычисляются так:
f1=max(-1, min((R1-R2)/400, 1));
f2=max(-1, min((R2-R1)/400, 1));
где min и max - функции, возвращающие минимальное и максимальное из двух чисел.

Очки, даваемые за победу (WP) и поражение (LP), вычисляются так:
WP1=max(1, 16*(1+f1));
WP2=max(1, 16*(1+f2));
LP1=min(-1, 16*(-1+f1));
LP2=min(-1, 16*(-1+f2));

Если побеждает первый игрок, то
R1->R1+(int)WP2;
R2->R2+(int)LP1;

если побеждает второй игрок, то
R1->R1+(int)LP2;
R2->R2+(int)WP1;

если игра заканчивается вничью, то
R1->R1+(int)((WP2-WP1)/2+0.5);
R2->R2+(int)((WP1-WP2)/2+0.5);

где (int) - функция, возвращающая целую часть числа.
Dirty_Player вне форума
Ответить с цитированием