Pravidla pořadí (jeden event)
Závazná pravidla pro výpočet pořadí týmů v rámci jednoho eventu. Platí pro samostatné kvízy.
Pro extraligy a dlouhodobá tabulková řazení napříč více eventy se používá samostatný výpočet
(viz LeagueStatisticCalculator) — pravidla níže se na něj nevztahují.
Pravidla pořadí
Section titled “Pravidla pořadí”- Skóre (DESC). Více bodů → lepší pořadí.
- Handicap počtu hráčů (ASC). Při shodě skóre má lepší pořadí tým s menším počtem hráčů.
Detekce shody (tie)
Section titled “Detekce shody (tie)”Týmy jsou považovány za opravdovou shodu pouze tehdy, když mají:
- shodný počet bodů, a zároveň
- shodný počet hráčů.
Pokud handicap počtu hráčů shodu rozhodne, už se nezvýrazňuje jako shoda.
V kroku Potvrzení se týmy v nerozhodnuté shodě zvýrazní žlutě a moderátor je musí ručně přetáhnout do požadovaného pořadí.
Implementace
Section titled “Implementace”Kanonická implementace pravidel:
- Výpočet pořadí:
App\Modules\Result::sortByPoints(int $eventId, int $week)RANK() OVER (ORDER BY points DESC, players ASC) - Detekce shody (po aplikaci handicapu):
App\Modules\Result::tiedIdsForEvent(int $eventId, int $week)- grupuje řádky podle dvojice
(points, players)a vrací IDs skupin scount > 1.
- grupuje řádky podle dvojice
Příklad
Section titled “Příklad”| Tým | Body | Hráči | Pořadí |
|---|---|---|---|
| A | 42 | 4 | 1 |
| B | 42 | 6 | 2 |
| C | 40 | 5 | 3 |
| D | 40 | 5 | 3 (shoda) |
| E | 40 | 5 | 3 (shoda) |
- A a B mají shodné skóre 42, handicap rozhoduje (A má méně hráčů) → A je první, B druhý, bez zvýraznění.
- C, D, E mají shodné skóre 40 i shodný počet hráčů 5 → opravdová shoda, žluté zvýraznění, moderátor musí rozhodnout pořadí přetažením.