Wie funktionieren Liga-Punkteformeln?
Jede Liga vergibt Punkte an ihre Spieler für jedes Turnier, das sie spielen, unter Verwendung des Punktesystems, das Sie beim Erstellen oder Bearbeiten der Liga auswählen:
- Logarithmisch
- Quadratwurzel
- Linear
- Fest (Sie geben die exakten Punkte für jeden Platz ein)
- Benutzerdefiniert (schreiben Sie Ihre eigene Formel)
Variablen für benutzerdefinierte Formeln
Eine benutzerdefinierte Formel wird am Ende eines Turniers einmal für jeden Spieler berechnet. Einige ihrer Variablen beschreiben das Turnier, sodass sie für alle darin denselben Wert haben, und einige beschreiben den Spieler, der bewertet wird. Zu wissen, welche welche ist, ist der größte Teil der Kunst beim Schreiben einer Formel.
Über das Turnier, für jeden Spieler gleich:
| p | Anzahl der Spieler |
| n | Anzahl der Einträge (einschließlich Re-Entries) |
| b | das Buy-in |
| z | Preispool |
| m | Anzahl der bezahlten Plätze |
| t | Turnierformat (1 Standard, 2 Split, 3 Shootout, 4 Mystery Bounty) |
Über den bewerteten Spieler:
| f | Platzierung |
| c | was sie ausgegeben haben (Buy-in plus ihre eigenen Rebuys und Addon) |
| k | Knockouts, die sie gemacht haben |
| r | Rebuys, die sie genommen haben |
| a | Addons, die sie genommen haben |
| x | Bullets, die sie verwendet haben (ihre gesamten Buy-ins) |
| w | Gewinne (der Betrag, den sie gewonnen haben) |
| d | Runden vom Finale in einem Shootout (1 ist die finale Runde) |
Zum Beispiel gibt diese Formel jedem Spieler einen Punkt für jeden Gegner, den er überdauert hat, einen 2-Punkte-Bonus für jeden Knockout und zieht einen Punkt für jeden Rebuy ab:
(p - f + 1) + (2 * k) - r
Fortgeschritten: Schreiben Sie Ihre eigene Formel
Über die Arithmetik hinaus leisten zwei Notationsstücke den Großteil der Arbeit in echten Ligaformeln: Bedingungen und Punktetabellen. Sie können auch sqrt, log, log10, exp, pow, round, floor, fix, abs, min und max sowie ^ für Potenzen verwenden.
Bedingungen mit ? :
Eine Bedingung liest sich als Test ? Wert wenn wahr : Wert andernfalls.
f == 1 ? 50 : 10
Das vergibt 50 Punkte an den Gewinner und 10 an alle anderen. Beachten Sie das doppelte == für „ist gleich". Sie haben auch <, <=, >, >= und !=, und Sie können Tests mit and und or verbinden:
p >= 20 and f <= 3 ? 10 : 0
Bedingungen können verkettet werden, so schreiben Clubs eine unterschiedliche Regel für jede Position. Jedes : übergibt an den nächsten Test:
f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5
Punktetabellen mit [ ... ][f]
Anstatt Bedingungen zu verketten, können Sie die Punkte der Reihe nach auflisten und den für die Platzierung des Spielers auswählen:
[100, 85, 70][f]
Die Liste wird nach Position gelesen: der erste Platz erhält 100, der zweite 85, der dritte 70. Positionen beginnen bei 1, sodass f ohne Anpassung mit der Liste übereinstimmt.
Sichern Sie eine Punktetabelle immer mit einer Bedingung ab. Wenn ein Spieler unter dem Ende der Liste abschließt, schlägt die Formel fehl und dieser Spieler erhält überhaupt keine Punkte. Eine Liste mit drei Einträgen benötigt
f < 4:
f < 4 ? [100, 85, 70][f] : 0Verwenden Sie den
:-Wert, um einen Mindestwert für alle anderen festzulegen, zum Beispiel: 5, um fünf Punkte für das Erscheinen zu geben.
Achten Sie auf die Klammern
Multiplikation und Addition werden vor einem Vergleich angewendet, was still ändert, was eine Formel testet. Ohne Klammern geschrieben:
30 * k + f < p / 3 + 1 ? 100 : 1
wird der Test zu „ist 30 * k + f kleiner als p / 3 + 1", nicht „ist f im oberen Drittel". Eine Liga kann auf diese Weise eine ganze Saison mit der falschen Regel laufen. Umschließen Sie die Bedingung oder die gesamte Bedingung mit Klammern:
30 * k + (f < p / 3 + 1 ? 100 : 1)
Formeln, die Clubs tatsächlich verwenden
Dies sind echte Muster von Ligen, die auf Blind Valet laufen, nur dort vereinfacht, wo die Liste der Plätze eines Clubs sehr lang war.
| Was der Club wollte | Formel |
|---|---|
| Ein Punkt fürs Erscheinen, nichts anderes | 1 |
| Eine Rangliste nur der Siege | f == 1 ? 1 : 0 |
| Knockouts, plus ein Punkt für den Sieg | k + (f == 1 ? 1 : 0) |
| Ein Punkt pro überlebtem Gegner, mit Podiumsbonus | p - f + 1 + (f < 4 ? [4, 2, 1][f] : 0) |
| Eine feste Tabelle, aber alle anderen bekommen trotzdem Punkte | f < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100 |
| Höhere Stakes sind mehr wert, jeder Rebuy kostet Punkte | log(p + 1) / f * 10 + b - c / 4 |
| Punkte skaliert nach der Größe des Preispools | sqrt(p + 1) / f * z / 500 |
| Nur das obere Drittel erhält Punkte, skaliert nach Feldgröße | 30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1) |
| Jeder Platz ein Prozentsatz einer Basis, die mit dem Feld wächst | f == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74) |
Das Stakes-Beispiel zeigt, warum die beiden Gruppen wichtig sind. Es verwendet b und c, die ähnlich aussehen, aber auf gegenüberliegenden Seiten stehen: Das Hinzufügen von b hebt jede Punktzahl in einem höheren Buy-in-Turnier an, weil das Buy-in zum Turnier gehört, während das Subtrahieren von c einen Anteil dessen zurücknimmt, was jeder Spieler individuell ausgegeben hat. Ein Spieler, der zweimal rebuy't, endet mit weniger Punkten als ein Spieler, der denselben Platz mit einem Bullet erreicht hat.
Überprüfen Sie Ihre Formel
Die Ligaeinstellungen zeigen eine Vorschau der Punkte für jede Platzierung während Sie tippen, sodass Sie die Form der Auszahlung sehen können, bevor Sie speichern. Wenn die Vorschau leer ist, ist die Formel noch nicht gültig: Überprüfen Sie, ob eine Klammer fehlt oder eine Punktetabelle, von der eine niedrige Platzierung über das Ende hinauslaufen kann.