トーナメント

リーグポイント計算式の仕組み

すべてのリーグは、リーグ作成時または編集時に選択するスコアリングシステムを使用して、各トーナメントでプレイヤーにポイントを付与します:

  • 対数
  • 平方根
  • 線形
  • 固定(各順位のポイントを正確に入力)
  • カスタム(独自の数式を記述)

カスタム数式の変数

カスタム数式は、トーナメント終了時に各プレイヤーごとに1回計算されます。一部の変数はトーナメントを記述するため、全員に対して同じ値を保持し、一部はスコア計算対象のプレイヤーを記述します。どちらがどちらかを知ることが、数式を記述するスキルの大部分を占めます。

トーナメントについて、すべてのプレイヤーに共通:

pプレイヤー数
nエントリー数(リエントリーを含む)
bバイイン
z賞金プール
m入賞順位数
tトーナメント形式(1 スタンダード、2 スプリット、3 シュートアウト、4 ミステリーバウンティ)

スコア計算対象のプレイヤーについて:

f最終順位
c支払った金額(バイイン + 自分のリバイとアドオン)
kノックアウト数
rリバイ回数
aアドオン回数
x使用したバレット数(総バイイン数)
w獲得金額(勝ち取った金額)
dシュートアウトでのファイナルからのラウンド数(1がファイナルラウンド)

たとえば、この数式は各プレイヤーに対して、追い越した対戦相手ごとに1ポイント、各ノックアウトに2ポイントのボーナスを与え、各リバイごとに1ポイントを差し引きます:

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

上級:独自の数式を記述する

算術演算以外に、実際のリーグ数式でほとんどの作業を行う2つの記法があります:条件とポイントテーブルです。また、sqrtloglog10exppowroundfloorfixabsminmax、およびべき乗の^も使用できます。

? :による条件

条件は、テスト ? 真の場合の値 : そうでない場合の値と読みます。

f == 1 ? 50 : 10

これは優勝者に50ポイント、他の全員に10ポイントを付与します。「等しい」には二重の==を使用することに注意してください。また、<<=>>=!=も使用でき、andorでテストを結合できます:

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

条件は連鎖させることができ、これによりクラブは各順位ごとに異なるルールを記述します。各:は次のテストに引き継がれます:

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

[ ... ][f]によるポイントテーブル

条件を連鎖させる代わりに、ポイントを順番にリストし、プレイヤーの最終順位に対応するものを選択できます:

[100, 85, 70][f]

リストは順位で読み取られます:1位は100、2位は85、3位は70を獲得します。順位は1から始まるため、fは調整なしでリストと一致します。

ポイントテーブルには常に条件でガードをかけてください。プレイヤーがリストの終わりより下の順位で終了した場合、数式は失敗し、そのプレイヤーは全くポイントを獲得できません。3つのエントリのリストにはf < 4が必要です:

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

:の値を使用して他の全員の下限を設定します。たとえば: 5で参加した全員に5ポイントを与えます。

括弧に注意

乗算と加算は比較の前に適用されるため、数式がテストする内容が静かに変わります。括弧なしで記述すると:

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

テストは「30 * k + fp / 3 + 1より小さいか」となり、「fが上位3分の1以内か」ではなくなります。リーグはこの方法で誤ったルールでシーズン全体を実行する可能性があります。条件、または条件全体を括弧で囲んでください:

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

クラブが実際に使用する数式

これらはBlind Valetで実行されているリーグの実際のパターンで、クラブの順位リストが非常に長い場合のみ簡略化されています。

クラブが望んだこと数式
参加で1ポイント、それ以外はなし1
優勝のみのリーダーボードf == 1 ? 1 : 0
ノックアウト + 優勝で1ポイントk + (f == 1 ? 1 : 0)
追い越した対戦相手ごとに1ポイント、表彰台ボーナス付きp - f + 1 + (f < 4 ? [4, 2, 1][f] : 0)
固定テーブル、ただし他の全員もスコア獲得f < 10 ? [1500, 1200, 900, 700, 600, 500, 400, 300, 200][f] : 100
高額ステークスほど価値が高く、各リバイでポイント減少log(p + 1) / f * 10 + b - c / 4
賞金プールのサイズによってスケールされたポイントsqrt(p + 1) / f * z / 500
上位3分の1のみがスコア獲得、フィールドサイズによってスケール30 * k + (f < p / 3 + 1 ? sqrt(p / 10) * [120, 90, 70, 60, 50, 45, 40, 30, 25, 20][f] : 1)
各順位がフィールドと共に成長するベースのパーセンテージf == 1 ? round(600 + p * 10) : f == 2 ? round((600 + p * 10) * 0.82) : round((600 + p * 10) * 0.74)

ステークスの例は、2つのグループが重要である理由を示しています。これはbcを使用しており、似ているように見えますが反対側にあります:bを追加すると、バイインがトーナメントに属しているため、より高いバイインのトーナメントですべてのスコアが上がりますが、cを差し引くと各プレイヤーが個別に支払った金額の一部が返されます。2回リバイしたプレイヤーは、1回のバレットで同じ順位になったプレイヤーよりも少ないポイントで終了します。

数式の確認

リーグ設定では、入力中にすべての最終順位のポイントがプレビューされるため、保存する前にペイアウトの形状を確認できます。プレビューが空白の場合、数式はまだ有効ではありません:括弧の欠落、または低い順位が終端を超える可能性のあるポイントテーブルを確認してください。