Come funzionano le formule per i punti lega?
Ogni lega assegna punti ai suoi giocatori per ogni torneo a cui partecipano, utilizzando il sistema di punteggio che scegli quando crei o modifichi la lega:
- Logaritmico
- Radice Quadrata
- Lineare
- Fisso (inserisci i punti esatti per ogni posizione)
- Personalizzato (scrivi la tua formula)
Variabili della formula personalizzata
Una formula personalizzata viene calcolata una volta per ogni giocatore alla fine di un torneo. Alcune delle sue variabili descrivono il torneo, quindi mantengono lo stesso valore per tutti i partecipanti, mentre altre descrivono il giocatore a cui viene assegnato il punteggio. Sapere quali sono quali è la parte più importante nella scrittura di una formula.
Riguardo al torneo, uguale per ogni giocatore:
| p | numero di giocatori |
| n | numero di iscrizioni (incluse le re-entry) |
| b | il buy-in |
| z | montepremi |
| m | numero di posti premiati |
| t | formato del torneo (1 standard, 2 split, 3 shootout, 4 mystery bounty) |
Riguardo al giocatore a cui viene assegnato il punteggio:
| f | posizione finale |
| c | quanto hanno speso (buy-in più i propri rebuy e add-on) |
| k | knockout effettuati |
| r | rebuy effettuati |
| a | add-on effettuati |
| x | bullets utilizzati (il totale dei loro buy-in) |
| w | vincite (l'importo vinto) |
| d | round dalla finale in uno shootout (1 è il round finale) |
Ad esempio, questa formula assegna a ogni giocatore un punto per ogni avversario superato, un bonus di 2 punti per ogni knockout e sottrae un punto per ogni rebuy:
(p - f + 1) + (2 * k) - r
Avanzato: scrivere la propria formula
Oltre all'aritmetica, due elementi di notazione svolgono la maggior parte del lavoro nelle formule di lega reali: condizioni e tabelle di punti. Puoi anche usare sqrt, log, log10, exp, pow, round, floor, fix, abs, min e max, e ^ per le potenze.
Condizioni con ? :
Una condizione si legge come test ? valore se vero : valore altrimenti.
f == 1 ? 50 : 10
Questo assegna 50 punti al vincitore e 10 a tutti gli altri. Nota il doppio == per "è uguale a". Hai anche <, <=, >, >= e !=, e puoi unire i test con and e or:
p >= 20 and f <= 3 ? 10 : 0
Le condizioni si concatenano, ed è così che i club scrivono una regola diversa per ogni posizione. Ogni : passa al test successivo:
f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5
Tabelle di punti con [ ... ][f]
Invece di concatenare condizioni, puoi elencare i punti in ordine e scegliere quello per la posizione finale del giocatore:
[100, 85, 70][f]
La lista viene letta per posizione: il primo posto ottiene 100, il secondo 85, il terzo 70. Le posizioni iniziano da 1, quindi f si allinea con la lista senza alcuna modifica.
Proteggi sempre una tabella di punti con una condizione. Se un giocatore finisce oltre la fine della lista, la formula fallisce e quel giocatore non ottiene alcun punto. Una lista di tre voci necessita di
f < 4:
f < 4 ? [100, 85, 70][f] : 0Usa il valore di
:per impostare un minimo per tutti gli altri, ad esempio: 5per dare cinque punti per la partecipazione.
Attenzione alle parentesi
La moltiplicazione e l'addizione vengono applicate prima di un confronto, il che cambia silenziosamente cosa testa una formula. Scritto senza parentesi:
30 * k + f < p / 3 + 1 ? 100 : 1
il test diventa "è 30 * k + f minore di p / 3 + 1", non "è f nel primo terzo". Una lega può funzionare per un'intera stagione con la regola sbagliata in questo modo. Racchiudi la condizione, o l'intera condizionale, tra parentesi:
30 * k + (f < p / 3 + 1 ? 100 : 1)
Formule effettivamente utilizzate dai club
Questi sono schemi reali da leghe in esecuzione su Blind Valet, semplificati solo dove la lista di posizioni di un club era molto lunga.
| Cosa voleva il club | Formula |
|---|---|
| Un punto per essersi presentati, nient'altro | 1 |
| Una classifica solo delle vittorie | f == 1 ? 1 : 0 |
| Knockout, più un punto per la vittoria | k + (f == 1 ? 1 : 0) |
| Un punto per avversario superato, con bonus podio | p - f + 1 + (f < 4 ? [4, 2, 1][f] : 0) |
| Una tabella fissa, ma tutti gli altri ottengono comunque punti | f < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100 |
| Puntate più alte valgono di più, ogni rebuy costa punti | log(p + 1) / f * 10 + b - c / 4 |
| Punti scalati in base alla dimensione del montepremi | sqrt(p + 1) / f * z / 500 |
| Solo il primo terzo ottiene punti, scalato in base al numero di iscritti | 30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1) |
| Ogni posizione una percentuale di una base che cresce con il field | f == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74) |
L'esempio delle puntate mostra perché i due gruppi sono importanti. Usa b e c, che sembrano simili ma si trovano su lati opposti: aggiungere b aumenta ogni punteggio in un torneo con buy-in più alto, perché il buy-in appartiene al torneo, mentre sottrarre c toglie una quota di ciò che ogni giocatore ha speso individualmente. Un giocatore che effettua due rebuy finisce con meno punti di un giocatore che ha raggiunto la stessa posizione con un solo bullet.
Verifica della tua formula
Le impostazioni della lega mostrano un'anteprima dei punti per ogni posizione finale mentre digiti, così puoi vedere la forma del premio prima di salvare. Se l'anteprima è vuota, la formula non è ancora valida: controlla se manca una parentesi, o se c'è una tabella di punti da cui una posizione bassa può uscire fuori.