Hogyan működnek a liga pontszámítási formulák?
Minden liga pontokat oszt a játékosainak minden egyes versenyért, amelyen részt vesznek, a pontozási rendszer alapján, amelyet a liga létrehozásakor vagy szerkesztésekor választasz:
- Logaritmikus
- Négyzetgyök
- Lineáris
- Fix (te adod meg a pontos pontokat minden helyezéshez)
- Egyéni (írd meg a saját képletedet)
Egyéni képlet változói
Az egyéni képlet minden játékos esetében egyszer kerül kiszámításra a verseny végén. Néhány változója a versenyt írja le, így minden résztvevő számára ugyanazt az értéket tartalmazza, míg mások a pontozás alatt álló játékost írják le. Annak tudása, hogy melyik melyik, a képletírás fő képessége.
A versenyről, minden játékos számára ugyanaz:
| p | játékosok száma |
| n | nevezések száma (beleértve az újranevezéseket) |
| b | a nevezési díj |
| z | nyereményalap |
| m | díjazott helyek száma |
| t | versenyformátum (1 standard, 2 split, 3 shootout, 4 mystery bounty) |
A pontozás alatt álló játékosról:
| f | végső helyezés |
| c | amit elköltött (nevezési díj plusz saját rebuy-jai és addon-ja) |
| k | általa elért knockout-ok |
| r | általa vett rebuy-ok |
| a | általa vett addon-ok |
| x | általa használt bullet-ek (összes nevezési díja) |
| w | nyeremények (az összeg, amit nyert) |
| d | fordulók a fináléig egy shootout-ban (1 a döntő forduló) |
Például ez a képlet minden játékosnak egy pontot ad minden leköröző ellenfelért, 2 pontos bónuszt ad minden knockout-ért, és levon egy pontot minden rebuy-ért:
(p - f + 1) + (2 * k) - r
Haladó: saját képlet írása
Az aritmetikán túl két jelölési mód végzi a valódi ligaképletekben a munka nagy részét: feltételek és ponttáblázatok. Használhatod még az sqrt, log, log10, exp, pow, round, floor, fix, abs, min és max függvényeket, valamint a ^ hatványozásra.
Feltételek a ? : használatával
Egy feltétel így olvasható: teszt ? érték, ha igaz : érték egyébként.
f == 1 ? 50 : 10
Ez 50 pontot oszt a győztesnek és 10-et mindenki másnak. Figyeld meg a dupla == jelet az "egyenlő"-re. Használhatod még a <, <=, >, >= és != jeleket, és összekapcsolhatod a teszteket az and és or operátorokkal:
p >= 20 and f <= 3 ? 10 : 0
A feltételek láncolhatók, így írhatnak a klubok más szabályt minden helyezéshez. Minden : átadja a következő tesztnek:
f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5
Ponttáblázatok a [ ... ][f] használatával
A feltételek láncolása helyett felsorolhatod a pontokat sorrendben, és kiválaszthatod a játékos helyezéséhez tartozót:
[100, 85, 70][f]
A lista helyezés szerint olvasandó: az első hely 100-at, a második 85-öt, a harmadik 70-et kap. A helyezések 1-től kezdődnek, így az f beállítás nélkül is illeszkedik a listához.
Mindig védd le a ponttáblázatot feltétellel. Ha egy játékos a lista vége alá végez, a képlet hibát ad, és az a játékos egyáltalán nem szerez pontot. Egy három elemből álló listához
f < 4kell:
f < 4 ? [100, 85, 70][f] : 0Használd a
:értéket egy minimum beállítására mindenki más számára, például: 5öt pontot ad a megjelenésért.
Figyelj a zárójelekre
A szorzás és az összeadás az összehasonlítás előtt hajtódik végre, ami csendben megváltoztatja, hogy mit tesztel a képlet. Zárójelek nélkül írva:
30 * k + f < p / 3 + 1 ? 100 : 1
a teszt így válik: "30 * k + f kisebb-e, mint p / 3 + 1", nem pedig "az f a felső harmadban van-e". Egy liga egy egész szezont futhat így rossz szabályon. Zárd zárójelbe a feltételt, vagy az egész feltételes részt:
30 * k + (f < p / 3 + 1 ? 100 : 1)
Képletek, amelyeket a klubok valóban használnak
Ezek valódi minták a Blind Valet-en futó ligákból, csak ott egyszerűsítve, ahol egy klub helyezési listája nagyon hosszú volt.
| Mit akart a klub | Képlet |
|---|---|
| Egy pont a megjelenésért, semmi más | 1 |
| Csak a győzelmek ranglistája | f == 1 ? 1 : 0 |
| Knockout-ok, plusz egy pont a győzelemért | k + (f == 1 ? 1 : 0) |
| Egy pont minden leköröző ellenfelért, dobogós bónusszal | p - f + 1 + (f < 4 ? [4, 2, 1][f] : 0) |
| Fix táblázat, de mindenki más is szerez pontot | f < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100 |
| A magasabb tétek többet érnek, minden rebuy pontba kerül | log(p + 1) / f * 10 + b - c / 4 |
| Pontok a nyereményalap mérete szerint skálázva | sqrt(p + 1) / f * z / 500 |
| Csak a felső harmad szerez pontot, a mezőny mérete szerint skálázva | 30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1) |
| Minden helyezés egy alap százaléka, amely a mezőnnyel nő | f == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74) |
A tétek példája mutatja, miért számít a két csoport. A b és c változókat használja, amelyek hasonlónak tűnnek, de ellentétes oldalakon állnak: a b hozzáadása minden pontszámot megemel egy magasabb nevezési díjú versenyben, mert a nevezési díj a versenyhez tartozik, míg a c levonása visszavesz egy részét annak, amit minden egyes játékos egyénileg elköltött. Egy játékos, aki kétszer rebuy-ol, kevesebb ponttal végez, mint egy játékos, aki ugyanazt a helyezést érte el egy bullet-tel.
Képleted ellenőrzése
A liga beállításai előnézetet adnak minden végső helyezés pontjairól gépelés közben, így láthatod a kifizetés alakját mentés előtt. Ha az előnézet üres, a képlet még nem érvényes: ellenőrizd, hogy nincs-e hiányzó zárójel, vagy olyan ponttáblázat, amelynek végéről egy alacsony helyezés lefuthat.