Autor Zpráva
unlucky
Profil
bracket system, neboli pavouk. Jak byste navrhli dat. strukturu? Max pocet hracu 4 - 48.

potrebuji informace o zapasu, skore, hraci a umisteni popr body
Joker
Profil
Tak teoreticky by stačilo něco jako:
id | id hry | číslo zápasu | datum zápasu | id 1. hráče | id 2. hráče | skóre 1. hráče | skóre 2. hráče

Plus tabulka s informacemi o hráčích.
Číslo zápasu by pro každou hru bylo od 1, čili pro n hráčů by první kolo byly čísla her 1, 2, … n, ve druhém kole n+1, n+2, … (n+n/2) a tak dále.
Ještě by bylo možné vynechat sloupec id (ID zápasu) a mít primární klíč složený z id hry a čísla zápasu.

Logiku zakládání her, tj. kontrola počtu hráčů (musí to být mocnina 2, takže třeba 48 hráčů nejde, protože v 5. kole by zbyli tři), rozlosování hráčů do 1. kola a pak generování účastníků dalších kol, bych nechal na aplikaci.
Obsazení příštího kola je zřejmé z čísla zápasu: Vítěz zápasu s lichým číslem hraje s vítězem zápasu s číslem o 1 vyšším, vítěz zápasu se sudým číslem hraje s vítězem zápasu s číslem o 1 nižším (tedy vítěz 1 s vítězem 2, vítěz 3 s vítězem 4 atd.)
Vítěz zápasu je prostě ten, kdo má vyšší skore.
Kam Jak vysoko se konkrétní hráč dostal v konkrétní hře (sérii) by se určilo:
SELECT kolo FROM zapasy WHERE idHry = id hry AND idHrace = id hráče ORDER BY kolo DESC limit 1
unlucky
Profil
zde by byl problem urcit viteze z predchoziho zapasu, urceni porovnanim skore coz nevim jak to provest pres sql.

premyslel jsem takto

hrac: id, jmeno
turnaj: id, nazev
zapas: id, id_turnaje, cislo zapasu, hrac 1, hrac2, skore 1, skore 2, info


zobrazil bych to od shora dolu, zleva do prava, Zacal bych vitezem teda. Pokud by jeste nebyl, tak order by cislo zapasu

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0