ทัวร์นาเมนต์

สูตรคำนวณคะแนนลีกทำงานอย่างไร?

ทุกลีกจะมอบคะแนนให้ผู้เล่นสำหรับทัวร์นาเมนต์แต่ละรายการที่พวกเขาเล่น โดยใช้ระบบการให้คะแนนที่คุณเลือกเมื่อสร้างหรือแก้ไขลีก:

  • ลอการิทึม
  • รากที่สอง
  • เชิงเส้น
  • คงที่ (คุณป้อนคะแนนที่แน่นอนสำหรับแต่ละอันดับ)
  • กำหนดเอง (เขียนสูตรของคุณเอง)

ตัวแปรสูตรกำหนดเอง

สูตรกำหนดเองจะคำนวณครั้งเดียวสำหรับผู้เล่นแต่ละคนเมื่อจบทัวร์นาเมนต์ ตัวแปรบางตัวอธิบายเกี่ยวกับทัวร์นาเมนต์ ดังนั้นจึงมีค่าเท่ากันสำหรับทุกคนในนั้น และบางตัวอธิบายเกี่ยวกับผู้เล่นที่กำลังถูกให้คะแนน การรู้ว่าตัวไหนเป็นอะไรคือทักษะหลักในการเขียนสูตร

เกี่ยวกับทัวร์นาเมนต์ เหมือนกันสำหรับทุกคน:

pจำนวนผู้เล่น
nจำนวนรายการ (รวมรีเอนทรี)
bค่าเข้า
zกองรางวัล
mจำนวนอันดับที่ได้รางวัล
tรูปแบบทัวร์นาเมนต์ (1 มาตรฐาน, 2 แบ่ง, 3 ชูตเอาต์, 4 มิสเทอรีบาวน์ตี้)

เกี่ยวกับผู้เล่นที่กำลังถูกให้คะแนน:

fอันดับที่จบ
cสิ่งที่พวกเขาใช้ไป (ค่าเข้าบวกรีบายและแอดออนของตัวเอง)
kน็อคเอาต์ที่พวกเขาทำได้
rรีบายที่พวกเขาใช้
aแอดออนที่พวกเขาใช้
xบูเล็ตที่พวกเขาใช้ (ค่าเข้าทั้งหมดของพวกเขา)
wเงินที่ชนะ (จำนวนเงินที่พวกเขาชนะ)
dรอบจากรอบชิงในชูตเอาต์ (1 คือรอบชิงชนะเลิศ)

ตัวอย่างเช่น สูตรนี้ให้ผู้เล่นแต่ละคนได้หนึ่งคะแนนสำหรับทุกคู่แข่งที่พวกเขาอยู่รอดได้นานกว่า โบนัส 2 คะแนนสำหรับแต่ละน็อคเอาต์ และหักหนึ่งคะแนนสำหรับแต่ละรีบาย:

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

ขั้นสูง: การเขียนสูตรของคุณเอง

นอกเหนือจากการคำนวณ สัญกรณ์สองชนิดทำงานส่วนใหญ่ในสูตรลีกจริง: เงื่อนไขและตารางคะแนน คุณยังสามารถใช้ sqrt, log, log10, exp, pow, round, floor, fix, abs, min และ max และ ^ สำหรับยกกำลังได้

เงื่อนไขด้วย ? :

เงื่อนไขอ่านเป็น การทดสอบ ? ค่าหากจริง : ค่าหากเป็นอย่างอื่น

f == 1 ? 50 : 10

นั่นมอบ 50 คะแนนให้ผู้ชนะและ 10 ให้คนอื่นทุกคน สังเกตเครื่องหมาย == สองตัวสำหรับ "เท่ากับ" คุณยังมี <, <=, >, >= และ != และคุณสามารถเชื่อมการทดสอบด้วย and และ or:

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

เงื่อนไขสามารถเชื่อมต่อกันได้ ซึ่งเป็นวิธีที่คลับเขียนกฎที่แตกต่างกันสำหรับแต่ละอันดับ แต่ละ : ส่งต่อไปยังการทดสอบถัดไป:

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

ตารางคะแนนด้วย [ ... ][f]

แทนที่จะเชื่อมเงื่อนไข คุณสามารถแสดงรายการคะแนนตามลำดับและเลือกอันที่เหมาะกับอันดับที่จบของผู้เล่น:

[100, 85, 70][f]

รายการถูกอ่านตามตำแหน่ง: อันดับหนึ่งได้ 100, อันดับสอง 85, อันดับสาม 70 ตำแหน่งเริ่มต้นที่ 1 ดังนั้น f จึงสอดคล้องกับรายการโดยไม่ต้องปรับ

ปกป้องตารางคะแนนด้วยเงื่อนไขเสมอ หากผู้เล่นจบต่ำกว่าจุดสิ้นสุดของรายการ สูตรจะล้มเหลวและผู้เล่นนั้นจะไม่ได้คะแนนเลย รายการที่มีสามรายการต้องการ f < 4:

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

ใช้ค่า : เพื่อกำหนดพื้นขั้นต่ำสำหรับคนอื่นทุกคน ตัวอย่างเช่น : 5 เพื่อให้ห้าคะแนนสำหรับการมาร่วม

ระวังวงเล็บ

การคูณและการบวกจะถูกนำไปใช้ก่อนการเปรียบเทียบ ซึ่งเปลี่ยนสิ่งที่สูตรทดสอบอย่างเงียบๆ เขียนโดยไม่มีวงเล็บ:

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

การทดสอบกลายเป็น "ค่า 30 * k + f น้อยกว่า p / 3 + 1 หรือไม่" ไม่ใช่ "ค่า f อยู่ในหนึ่งในสามบนสุดหรือไม่" ลีกสามารถดำเนินการทั้งฤดูกาลด้วยกฎที่ผิดได้ ห่อเงื่อนไขหรือเงื่อนไขทั้งหมดด้วยวงเล็บ:

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

สูตรที่คลับใช้จริง

เหล่านี้เป็นรูปแบบจริงจากลีกที่ทำงานบน Blind Valet ทำให้ง่ายขึ้นเฉพาะในกรณีที่รายการอันดับของคลับยาวมาก

สิ่งที่คลับต้องการสูตร
หนึ่งคะแนนสำหรับการมาร่วม ไม่มีอะไรอื่น1
ลีดเดอร์บอร์ดของการชนะเท่านั้นf == 1 ? 1 : 0
น็อคเอาต์ บวกหนึ่งคะแนนสำหรับการชนะk + (f == 1 ? 1 : 0)
หนึ่งคะแนนต่อคู่แข่งที่อยู่รอดได้นานกว่า พร้อมโบนัสสำหรับอันดับบนโพเดียม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
เฉพาะหนึ่งในสามบนสุดเท่านั้นที่ได้คะแนน ปรับตามขนาดของฟิลด์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)

ตัวอย่างเดิมพันแสดงให้เห็นว่าทำไมสองกลุ่มจึงสำคัญ มันใช้ b และ c ซึ่งดูคล้ายกันแต่อยู่คนละด้าน: การเพิ่ม b ยกระดับคะแนนทุกคะแนนในทัวร์นาเมนต์ค่าเข้าที่สูงกว่า เพราะค่าเข้าเป็นของทัวร์นาเมนต์ ในขณะที่การลบ c เอาคืนส่วนแบ่งของสิ่งที่ผู้เล่นแต่ละคนใช้ไปเอง ผู้เล่นที่รีบายสองครั้งจะจบด้วยคะแนนน้อยกว่าผู้เล่นที่อยู่อันดับเดียวกันด้วยบูเล็ตเดียว

ตรวจสอบสูตรของคุณ

การตั้งค่าลีกแสดงตัวอย่างคะแนนสำหรับทุกอันดับที่จบในขณะที่คุณพิมพ์ ดังนั้นคุณจะเห็นรูปแบบของการจ่ายก่อนที่คุณจะบันทึก หากตัวอย่างว่างเปล่า สูตรยังไม่ถูกต้อง: ตรวจสอบวงเล็บที่ขาดหายไป หรือตารางคะแนนที่อันดับต่ำสามารถวิ่งออกจากจุดสิ้นสุดได้