Kako rade formule za bodove u ligi?
Svaka liga dodjeljuje bodove svojim igračima za svaki turnir u kojem igraju, koristeći sustav bodovanja koji odaberete kada kreirate ili uređujete ligu:
- Logaritamski
- Drugi korijen
- Linearni
- Fiksni (unosite točne bodove za svako mjesto)
- Prilagođeni (napišite vlastitu formulu)
Varijable prilagođene formule
Prilagođena formula se izračunava jednom za svakog igrača na kraju turnira. Neke njezine varijable opisuju turnir, pa imaju istu vrijednost za sve u njemu, a neke opisuju igrača koji se boduje. Znanje koja je koja je najveća vještina u pisanju formule.
O turniru, isto za svakog igrača:
| p | broj igrača |
| n | broj prijava (uključujući re-entryje) |
| b | buy-in |
| z | nagradni fond |
| m | broj plaćenih mjesta |
| t | format turnira (1 standardni, 2 split, 3 shootout, 4 mystery bounty) |
O igraču koji se boduje:
| f | mjesto završetka |
| c | što su potrošili (buy-in plus vlastiti rebuyji i addon) |
| k | knockoutovi koje su napravili |
| r | rebuyji koje su uzeli |
| a | addoni koje su uzeli |
| x | bulleti koje su upotrijebili (ukupni buy-inovi) |
| w | dobitak (iznos koji su osvojili) |
| d | runde od finala u shootootu (1 je finalna runda) |
Na primjer, ova formula daje svakom igraču bod za svakog protivnika kojeg su nadživjeli, bonus od 2 boda za svaki knockout, i oduzima bod za svaki rebuy:
(p - f + 1) + (2 * k) - r
Napredno: pisanje vlastite formule
Osim aritmetike, dva dijela notacije obavljaju većinu posla u pravim formulama lige: uvjeti i tablice bodova. Također možete koristiti sqrt, log, log10, exp, pow, round, floor, fix, abs, min i max, te ^ za potencije.
Uvjeti sa ? :
Uvjet se čita kao test ? vrijednost ako je istinito : vrijednost inače.
f == 1 ? 50 : 10
To dodjeljuje 50 bodova pobjedniku i 10 svima ostalima. Primijetite dvostruki == za "je jednako". Također imate <, <=, >, >= i !=, i možete spojiti testove sa and i or:
p >= 20 and f <= 3 ? 10 : 0
Uvjeti se povezuju u lanac, što je način na koji klubovi pišu različito pravilo za svaku poziciju. Svaki : predaje sljedećem testu:
f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5
Tablice bodova sa [ ... ][f]
Umjesto povezivanja uvjeta u lanac, možete navesti bodove po redu i odabrati onaj za mjesto završetka igrača:
[100, 85, 70][f]
Lista se čita po poziciji: prvo mjesto dobiva 100, drugo 85, treće 70. Pozicije počinju od 1, pa se f poravnava s listom bez ikakve prilagodbe.
Uvijek zaštitite tablicu bodova uvjetom. Ako igrač završi ispod kraja liste, formula ne uspijeva i taj igrač ne dobiva nikakve bodove. Lista od tri unosa treba
f < 4:
f < 4 ? [100, 85, 70][f] : 0Koristite
:vrijednost da postavite minimum za sve ostale, na primjer: 5da date pet bodova za dolazak.
Pazite na zagrade
Množenje i zbrajanje se primjenjuju prije usporedbe, što tiho mijenja što formula testira. Napisano bez zagrada:
30 * k + f < p / 3 + 1 ? 100 : 1
test postaje "je li 30 * k + f manje od p / 3 + 1", a ne "je li f u gornjoj trećini". Liga može voditi cijelu sezonu na pogrešnom pravilu na ovaj način. Umotajte uvjet, ili cijeli uvjetni izraz, u zagrade:
30 * k + (f < p / 3 + 1 ? 100 : 1)
Formule koje klubovi stvarno koriste
Ovo su stvarni obrasci iz liga koje se vode na Blind Valetu, pojednostavljeni samo tamo gdje je lista mjesta kluba bila vrlo duga.
| Što je klub htio | Formula |
|---|---|
| Bod za dolazak, ništa drugo | 1 |
| Poredak samo pobjeda | f == 1 ? 1 : 0 |
| Knockoutovi, plus bod za pobjedu | k + (f == 1 ? 1 : 0) |
| Jedan bod po nadživljenom protivniku, s bonusom za podij | p - f + 1 + (f < 4 ? [4, 2, 1][f] : 0) |
| Fiksna tablica, ali svi ostali još uvijek boduju | f < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100 |
| Viši ulozi vrijede više, svaki rebuy košta bodove | log(p + 1) / f * 10 + b - c / 4 |
| Bodovi skalirani veličinom nagradnog fonda | sqrt(p + 1) / f * z / 500 |
| Samo gornja trećina boduje, skalirano veličinom polja | 30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1) |
| Svako mjesto postotak baze koja raste s poljem | f == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74) |
Primjer uloga pokazuje zašto su dvije skupine važne. Koristi b i c, koje izgledaju slično ali su na suprotnim stranama: dodavanje b podiže svaki rezultat u turniru s višim buy-inom, jer buy-in pripada turniru, dok oduzimanje c vraća dio onoga što je svaki igrač pojedinačno potrošio. Igrač koji uzme dva rebuyja završi s manje bodova od igrača koji je uzeo isto mjesto s jednim bulletom.
Provjera vaše formule
Postavke lige prikazuju bodove za svaku poziciju završetka dok tipkate, tako da možete vidjeti oblik isplate prije nego spremite. Ako je pregled prazan, formula još nije valjana: provjerite nedostaje li zagrada, ili tablicu bodova s koje nisko mjesto može ispasti s kraja.