Pravidla

Ligová tabulka: Jak funguje bodování a automatické řazení

Zpět na blog

Ligová tabulka: Jak funguje bodování a automatické řazení

Doby, kdy se po odehrání pátečního zápasu muselo čekat do nedělní půlnoci, než administrátor ručně přepíše výsledky z papíru a přepočítá skóre v Excelu, jsou nenávratně pryč. V systému Šipková Liga probíhá vše bleskově a plně automaticky.

31. 07. 2026 · Autor: Redakce Darts League

Zároveň víme, že každá soutěž a každý kraj může mít svá vlastní pravidla. Proto jsme náš systém nenastavili na jeden jediný fixní model, ale postavili jsme ho tak, aby se dokázal přizpůsobit zvyklostem vaší soutěže. Jak tedy naše ligové tabulky přesně fungují?

1. Pravidla určuje vaše liga, ne my (Pravidlový engine)

Mnoho sportovních aplikací dělá tu chybu, že mají bodování napevno "zadrátované" v kódu. Náš systém je ale jiný. Jádrem každé soutěže na platformě Šipková Liga je flexibilní pravidlový engine, který čerpá data z nastavení konkrétní ligy (tzv. league_settings).

Díky tomu si administrátor při zakládání ligy sám určí klíčové parametry:

  • Bodování zápasů: Systém umožňuje nastavit přesný počet bodů za výhru (points_for_win), remízu (points_for_draw) i prohru (points_for_loss).

  • Remízy: Povoluje vaše soutěž nerozhodné výsledky? Parametr allow_draw řekne systému, zda má s remízami vůbec počítat.

  • Formát hry: Herní typ (např. 501 nebo Cricket), počet legů nutných k výhře (legs_to_win) nebo typ zavírání (tzv. checkout_type, např. Double Out).

Tabulka se pak chová přesně podle toho, co má administrátor vaší ligy v systému nastaveno.

2. Živá tabulka: Přepočet v reálném čase

Aktuální pořadí své divize najdete vždy na veřejné adrese ve formátu /liga/{slug}/tabulka.

Jakmile kapitáni po utkání stisknou elektronický podpis v Match Centeru a zápas se uzamkne, výsledky okamžitě putují do systému. Stránka s tabulkou (tzv. Livewire komponenta) slouží pouze k zobrazení hotových dat – veškerá těžká práce probíhá na pozadí.

Zvládneme i nestandardní situace

O bezchybný přepočet bodů a skóre se stará naše chytrá výpočetní vrstva, které říkáme StandingsCalculator. Tato specializovaná část systému nesčítá jen běžné výhry a prohry, ale je připravena i na složitější herní scénáře (edge cases):

  • Kontumace zápasů.

  • Odstoupení týmu ze soutěže.

  • Specifické řešení remíz.

Díky tomu, že je výpočetní logika (StandingsCalculator) oddělena od samotného vzhledu webu, je systém extrémně spolehlivý a důkladně pokrytý automatizovanými testy. Nemůže se tak stát, že by se body přiřazovaly nespravedlivě.

3. Uzavření sezóny chrání historii

Skončila sezóna a chystá se nová, ve které se změní bodovací systém? Nemusíte se bát, že by to rozbilo historické tabulky.

Systém využívá funkci zmražení sezóny (pomocí stavu status na hodnotu closed). Jakmile je sezóna uzavřena, stává se z ní historický archiv, který už nelze upravovat. Pokud se v budoucnu změní pravidla ligy (league_settings), uzavřené sezóny se podle nových pravidel zpětně nepřepočítávají.

Historie tak zůstává navždy věrná tomu, jak se v daném roce skutečně hrálo.