Toernooi

Hoe werken competitiepunt-formules?

Elke competitie kent punten toe aan spelers voor elk toernooi dat ze spelen, volgens het puntensysteem dat je kiest wanneer je de competitie aanmaakt of bewerkt:

  • Logaritmisch
  • Wortel
  • Lineair
  • Vast (je voert de exacte punten in voor elke plaats)
  • Aangepast (schrijf je eigen formule)

Variabelen voor aangepaste formules

Een aangepaste formule wordt eenmaal berekend voor elke speler aan het einde van een toernooi. Sommige variabelen beschrijven het toernooi, dus hebben ze dezelfde waarde voor iedereen, en sommige beschrijven de speler die gescoord wordt. Weten welke welke is, is het belangrijkste onderdeel van het schrijven van een formule.

Over het toernooi, hetzelfde voor elke speler:

paantal spelers
naantal inschrijvingen (inclusief re-entries)
bde inleg
zprijzenpot
maantal betaalde plaatsen
ttoernooiformaat (1 standaard, 2 split, 3 shootout, 4 mystery bounty)

Over de speler die gescoord wordt:

feindpositie
cwat ze uitgegeven hebben (inleg plus hun eigen rebuys en addon)
kknockouts die ze gemaakt hebben
rrebuys die ze genomen hebben
aaddons die ze genomen hebben
xbullets die ze gebruikt hebben (hun totale inlegen)
wwinst (het bedrag dat ze gewonnen hebben)
drondes van de finale in een shootout (1 is de finalerende)

Bijvoorbeeld, deze formule geeft elke speler een punt voor elke tegenstander die ze overleefd hebben, een bonus van 2 punten voor elke knockout, en trekt een punt af voor elke rebuy:

(p - f + 1) + (2 * k) - r

Geavanceerd: je eigen formule schrijven

Naast rekenkunde doen twee stukken notatie het meeste werk in echte competitieformules: voorwaarden en puntentabellen. Je kunt ook sqrt, log, log10, exp, pow, round, floor, fix, abs, min en max gebruiken, en ^ voor machten.

Voorwaarden met ? :

Een voorwaarde leest als test ? waarde indien waar : waarde anders.

f == 1 ? 50 : 10

Dat kent 50 punten toe aan de winnaar en 10 aan iedereen anders. Let op de dubbele == voor "is gelijk aan". Je hebt ook <, <=, >, >= en !=, en je kunt tests samenvoegen met and en or:

p >= 20 and f <= 3 ? 10 : 0

Voorwaarden kunnen geschakeld worden, wat de manier is waarop clubs een andere regel schrijven voor elke positie. Elke : geeft door aan de volgende test:

f == 1 ? 30 : f == 2 ? 20 : f == 3 ? 15 : 5

Puntentabellen met [ ... ][f]

In plaats van voorwaarden te schakelen, kun je de punten op volgorde zetten en degene kiezen voor de eindpositie van de speler:

[100, 85, 70][f]

De lijst wordt gelezen op positie: eerste plaats krijgt 100, tweede 85, derde 70. Posities beginnen bij 1, dus f sluit aan op de lijst zonder aanpassing.

Bescherm een puntentabel altijd met een voorwaarde. Als een speler eindigt onder het einde van de lijst, mislukt de formule en scoort die speler helemaal niets. Een lijst van drie items heeft f < 4 nodig:

f < 4 ? [100, 85, 70][f] : 0

Gebruik de : waarde om een minimum in te stellen voor iedereen anders, bijvoorbeeld : 5 om vijf punten te geven voor deelname.

Let op de haakjes

Vermenigvuldiging en optelling worden toegepast vóór een vergelijking, wat stilletjes verandert wat een formule test. Geschreven zonder haakjes:

30 * k + f < p / 3 + 1 ? 100 : 1

wordt de test "is 30 * k + f kleiner dan p / 3 + 1", niet "is f in de top een derde". Een competitie kan op deze manier een heel seizoen draaien op de verkeerde regel. Zet de voorwaarde, of de hele conditionele uitdrukking, tussen haakjes:

30 * k + (f < p / 3 + 1 ? 100 : 1)

Formules die clubs daadwerkelijk gebruiken

Dit zijn echte patronen van competities die draaien op Blind Valet, alleen vereenvoudigd waar de lijst van plaatsen van een club erg lang was.

Wat de club wildeFormule
Een punt voor deelname, verder niets1
Een klassement van alleen overwinningenf == 1 ? 1 : 0
Knockouts, plus een punt voor de overwinningk + (f == 1 ? 1 : 0)
Eén punt per overleefd tegenstander, met een podiumbonsp - f + 1 + (f < 4 ? [4, 2, 1][f] : 0)
Een vaste tabel, maar iedereen anders scoort nog steedsf < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100
Hogere inzet meer waard, elke rebuy kost puntenlog(p + 1) / f * 10 + b - c / 4
Punten geschaald naar de grootte van de prijzenpotsqrt(p + 1) / f * z / 500
Alleen de top een derde scoort, geschaald naar veldgrootte30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1)
Elke plaats een percentage van een basis die groeit met het veldf == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74)

Het inzetvoorbeeld laat zien waarom de twee groepen ertoe doen. Het gebruikt b en c, die er vergelijkbaar uitzien maar aan tegenovergestelde kanten staan: b toevoegen verhoogt elke score in een hoger inlegtoernooi, omdat de inleg bij het toernooi hoort, terwijl c aftrekken een deel terugneemt van wat elke speler individueel uitgegeven heeft. Een speler die twee keer rebuy neemt eindigt met minder punten dan een speler die dezelfde plaats behaalde met één bullet.

Je formule controleren

De competitie-instellingen tonen een voorbeeld van de punten voor elke eindpositie terwijl je typt, zodat je de vorm van de uitbetaling kunt zien voordat je opslaat. Als het voorbeeld leeg is, is de formule nog niet geldig: controleer op een ontbrekend haakje, of een puntentabel waar een lage eindpositie vanaf kan vallen.