Рейтинг: единый рейтинг вместо группового
Групповая цепочка убрана: рейтинг у игрока один, по всем партиям приложения (решение владельца). load_history всегда грузит всю историю, одно проигрывание на запрос. Страница группы: игры, победы, винрейт и среднее место — по партиям группы, рейтинг — общий; «Новичок» тоже по общему числу партий (новое поле rating_confirmed), поэтому опытный игрок в новой группе ранжирован. Участники, не игравшие в группе, показывают общий рейтинг. Главная и профиль — общие показатели; в блоке активной группы игры по группе, рейтинг общий. У profile_stats убран неиспользуемый group_id. Фронт: цвет рейтинга в списках берётся из rating_confirmed; справка — «Один рейтинг на всё приложение». Документ рейтинга: раздел 8 и решение 7 в разделе 9. Тесты: рейтинг в группах равен общему при групповых играх и победах, главная и блок активной группы, ветеран в новой группе ранжирован, «Ещё не играли» с общим рейтингом. #80 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
This commit is contained in:
Vendored
+5
@@ -1724,6 +1724,11 @@ export interface components {
|
||||
rank?: number | null;
|
||||
/** Avatar Url */
|
||||
avatar_url?: string | null;
|
||||
/**
|
||||
* Rating Confirmed
|
||||
* @default false
|
||||
*/
|
||||
rating_confirmed: boolean;
|
||||
};
|
||||
/** MatchCreate */
|
||||
MatchCreate: {
|
||||
|
||||
@@ -30,8 +30,14 @@ function Row({
|
||||
</div>
|
||||
</div>
|
||||
{/* Серебристый — у новичков и у прочерка ещё не игравших; золотой — только
|
||||
подтверждённый рейтинг. */}
|
||||
<div className={"lb-score" + (provisional || entry.score == null ? " provisional" : "")}>
|
||||
подтверждённый рейтинг. Рейтинг общий, поэтому подтверждённость приходит
|
||||
флагом: в группе «Ещё не играли» бывают и новички, и опытные игроки. */}
|
||||
<div
|
||||
className={
|
||||
"lb-score" +
|
||||
(provisional || entry.score == null || !entry.rating_confirmed ? " provisional" : "")
|
||||
}
|
||||
>
|
||||
{entry.score ?? "—"}
|
||||
</div>
|
||||
</>
|
||||
|
||||
@@ -135,10 +135,12 @@ export function HelpPage() {
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
<h3>Общий и групповой рейтинг</h3>
|
||||
<h3>Один рейтинг на всё приложение</h3>
|
||||
<p className="small" style={{ margin: 0 }}>
|
||||
Общий рейтинг считается по всем партиям приложения, групповой — только по партиям
|
||||
группы. Поэтому числа в общем топе и в топе группы различаются.
|
||||
Рейтинг у игрока один — по всем его партиям во всех группах, поэтому он одинаковый
|
||||
в общем топе, в профиле и на странице группы. На странице группы по партиям этой
|
||||
группы считаются только игры, победы, винрейт и среднее место; рейтинг и статус
|
||||
«Новичок» там общие.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user