Turnaj

Jak fungují vzorce pro ligové body?

Každá liga uděluje svým hráčům body za každý turnaj, který hrají, pomocí bodovacího systému, který zvolíte při vytváření nebo úpravě ligy:

  • Logaritmický
  • Odmocninový
  • Lineární
  • Fixní (zadáte přesné body pro každé umístění)
  • Vlastní (napíšete si vlastní vzorec)

Proměnné vlastního vzorce

Vlastní vzorec se vypočítá jednou pro každého hráče na konci turnaje. Některé jeho proměnné popisují turnaj, takže mají pro všechny v něm stejnou hodnotu, a některé popisují bodovaného hráče. Znalost rozdílu mezi nimi je většina dovednosti při psaní vzorce.

O turnaji, stejné pro každého hráče:

ppočet hráčů
npočet vstupů (včetně re-entry)
bbuy-in
zcena celkem
mpočet placených míst
tformát turnaje (1 standardní, 2 split, 3 shootout, 4 mystery bounty)

O bodovaném hráči:

fkonečné umístění
cco utratili (buy-in plus jejich vlastní rebuye a add-on)
kknockouty, které udělali
rrebuye, které vzali
aadd-ony, které vzali
xbullets, které použili (jejich celkové buy-iny)
wvýhry (částka, kterou vyhráli)
dkola od finále ve shootoutu (1 je finálové kolo)

Například tento vzorec dává každému hráči bod za každého soupeře, kterého přežil, 2bodový bonus za každý knockout a odečítá bod za každý rebuy:

(p - f + 1) + (2 * k) - r

Pokročilé: psaní vlastního vzorce

Kromě aritmetiky většinu práce v reálných ligových vzorcích dělají dva druhy notace: podmínky a bodové tabulky. Můžete také použít sqrt, log, log10, exp, pow, round, floor, fix, abs, min a max, a ^ pro mocniny.

Podmínky s ? :

Podmínka se čte jako test ? hodnota pokud pravda : hodnota jinak.

f == 1 ? 50 : 10

To udělí 50 bodů vítězi a 10 všem ostatním. Všimněte si dvojitého == pro "rovná se". Máte také k dispozici <, <=, >, >= a !=, a můžete spojovat testy s and a or:

p >= 20 and f <= 3 ? 10 : 0

Podmínky se řetězí, což je způsob, jak kluby píší jiné pravidlo pro každé umístění. Každé : předává další testu:

f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5

Bodové tabulky s [ ... ][f]

Místo řetězení podmínek můžete vypsat body v pořadí a vybrat ten pro konečné umístění hráče:

[100, 85, 70][f]

Seznam se čte podle pozice: první místo dostává 100, druhé 85, třetí 70. Pozice začínají na 1, takže f odpovídá seznamu bez jakékoliv úpravy.

Vždy chraňte bodovou tabulku podmínkou. Pokud hráč skončí pod koncem seznamu, vzorec selže a tento hráč nezíská vůbec žádné body. Seznam tří položek potřebuje f < 4:

f < 4 ? [100, 85, 70][f] : 0

Použijte hodnotu : k nastavení spodní hranice pro všechny ostatní, například : 5 k udělení pěti bodů za účast.

Dávejte pozor na závorky

Násobení a sčítání se aplikují před porovnáním, což tiše mění, co vzorec testuje. Napsáno bez závorek:

30 * k + f < p / 3 + 1 ? 100 : 1

se test stává "je 30 * k + f menší než p / 3 + 1", ne "je f v horní třetině". Liga může tímto způsobem celou sezónu běžet na špatném pravidle. Obalte podmínku nebo celý podmíněný výraz do závorek:

30 * k + (f < p / 3 + 1 ? 100 : 1)

Vzorce, které kluby skutečně používají

Toto jsou reálné vzory z lig běžících na Blind Valet, zjednodušené pouze tam, kde byl klubový seznam míst velmi dlouhý.

Co klub chtělVzorec
Bod za účast, nic jiného1
Žebříček pouze výherf == 1 ? 1 : 0
Knockouty plus bod za výhruk + (f == 1 ? 1 : 0)
Jeden bod za přežitého soupeře s bonusem pro stupně vítězůp - f + 1 + (f < 4 ? [4, 2, 1][f] : 0)
Fixní tabulka, ale všichni ostatní stále bodujíf < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100
Vyšší sázky více hodnotné, každý rebuy stojí bodylog(p + 1) / f * 10 + b - c / 4
Body škálované podle velikosti prize poolusqrt(p + 1) / f * z / 500
Boduje pouze horní třetina, škálováno podle velikosti pole30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1)
Každé místo procento ze základu, který roste s polemf == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74)

Příklad se sázkami ukazuje, proč záleží na dvou skupinách. Používá b a c, které vypadají podobně, ale sedí na opačných stranách: přidání b zvyšuje každý výsledek v turnaji s vyšším buy-inem, protože buy-in patří turnaji, zatímco odečtení c bere zpět část toho, co každý hráč individuálně utratil. Hráč, který vzal dva rebuye, skončí s menším počtem bodů než hráč, který dosáhl stejného umístění na jeden bullet.

Kontrola vzorce

Nastavení ligy zobrazuje náhled bodů pro každé konečné umístění během psaní, takže můžete vidět tvar výplaty před uložením. Pokud je náhled prázdný, vzorec ještě není platný: zkontrolujte chybějící závorku nebo bodovou tabulku, ze které může nízké umístění spadnout z konce.