Hvordan fungerer ligapoengformler?
Hver liga tildeler poeng til sine spillere for hver turnering de spiller, ved hjelp av poengsystemet du velger når du oppretter eller redigerer ligaen:
- Logaritmisk
- Kvadratrot
- Lineær
- Fast (du skriver inn de eksakte poengene for hver plassering)
- Tilpasset (skriv din egen formel)
Variabler for tilpasset formel
En tilpasset formel regnes ut én gang for hver spiller på slutten av en turnering. Noen av variablene beskriver turneringen, så de har samme verdi for alle i den, og noen beskriver spilleren som får poeng. Å vite hvilken som er hvilken er det meste av ferdigheten i å skrive en formel.
Om turneringen, det samme for alle spillere:
| p | antall spillere |
| n | antall påmeldinger (inkludert re-entries) |
| b | buy-in |
| z | premiepott |
| m | antall premieplasser |
| t | turneringsformat (1 standard, 2 split, 3 shootout, 4 mystery bounty) |
Om spilleren som får poeng:
| f | sluttplassering |
| c | hva de brukte (buy-in pluss egne rebuys og add-on) |
| k | knockouts de gjorde |
| r | rebuys de tok |
| a | add-ons de tok |
| x | bullets de brukte (totale buy-ins) |
| w | gevinst (beløpet de vant) |
| d | runder fra finalen i en shootout (1 er finalerunden) |
For eksempel gir denne formelen hver spiller ett poeng for hver motstander de utkonkurrerte, en 2-poengs bonus for hver knockout, og trekker fra ett poeng for hver rebuy:
(p - f + 1) + (2 * k) - r
Avansert: skrive din egen formel
Utover aritmetikk gjør to notasjonstyper mesteparten av arbeidet i virkelige ligaformler: betingelser og poengtabeller. Du kan også bruke sqrt, log, log10, exp, pow, round, floor, fix, abs, min og max, og ^ for potenser.
Betingelser med ? :
En betingelse leses som test ? verdi hvis sann : verdi ellers.
f == 1 ? 50 : 10
Det tildeler 50 poeng til vinneren og 10 til alle andre. Merk dobbel == for "er lik". Du har også <, <=, >, >= og !=, og du kan kombinere tester med and og or:
p >= 20 and f <= 3 ? 10 : 0
Betingelser kan lenkes sammen, som er hvordan klubber skriver en annen regel for hver plassering. Hver : overfører til neste test:
f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5
Poengtabeller med [ ... ][f]
I stedet for å lenke betingelser kan du liste opp poengene i rekkefølge og velge den for spillerens sluttplassering:
[100, 85, 70][f]
Listen leses etter posisjon: førsteplass får 100, andreplass 85, tredjeplass 70. Plasseringer starter på 1, så f stemmer overens med listen uten noen justering.
Beskytt alltid en poengtabell med en betingelse. Hvis en spiller plasserer seg under slutten av listen, feiler formelen og den spilleren får ingen poeng i det hele tatt. En liste med tre oppføringer trenger
f < 4:
f < 4 ? [100, 85, 70][f] : 0Bruk
:-verdien til å sette et gulv for alle andre, for eksempel: 5for å gi fem poeng for å møte opp.
Pass på parentesene
Multiplikasjon og addisjon anvendes før en sammenligning, noe som stille endrer hva en formel tester. Skrevet uten parenteser:
30 * k + f < p / 3 + 1 ? 100 : 1
blir testen "er 30 * k + f mindre enn p / 3 + 1", ikke "er f innenfor topp tredjedel". En liga kan kjøre en hel sesong med feil regel på denne måten. Pakk inn betingelsen, eller hele det betingede uttrykket, i parenteser:
30 * k + (f < p / 3 + 1 ? 100 : 1)
Formler klubber faktisk bruker
Dette er virkelige mønstre fra ligaer som kjører på Blind Valet, forenklet bare der en klubbs liste over plasser var veldig lang.
| Hva klubben ønsket | Formel |
|---|---|
| Ett poeng for å møte opp, ingenting annet | 1 |
| En toppliste over bare seire | f == 1 ? 1 : 0 |
| Knockouts, pluss ett poeng for seieren | k + (f == 1 ? 1 : 0) |
| Ett poeng per motstander utkonkurrert, med pallplass-bonus | p - f + 1 + (f < 4 ? [4, 2, 1][f] : 0) |
| En fast tabell, men alle andre får fortsatt poeng | f < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100 |
| Høyere innsatser verdt mer, hver rebuy koster poeng | log(p + 1) / f * 10 + b - c / 4 |
| Poeng skalert etter størrelsen på premiepotten | sqrt(p + 1) / f * z / 500 |
| Bare topp tredjedel får poeng, skalert etter feltets størrelse | 30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1) |
| Hver plassering en prosentandel av en base som vokser med feltet | f == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74) |
Innsatseksemplet viser hvorfor de to gruppene har betydning. Det bruker b og c, som ser like ut men befinner seg på motsatte sider: å legge til b løfter hver poengsum i en turnering med høyere buy-in, fordi buy-in tilhører turneringen, mens fradrag av c tar tilbake en andel av hva hver spiller individuelt brukte. En spiller som tar to rebuys ender opp med færre poeng enn en spiller som tok samme plassering på én bullet.
Sjekke formelen din
Ligainnstillingene forhåndsviser poengene for hver sluttplassering mens du skriver, slik at du kan se formen på utbetalingen før du lagrer. Hvis forhåndsvisningen er tom, er formelen ikke gyldig ennå: sjekk for en manglende parentes, eller en poengtabell som en lav plassering kan løpe av slutten av.