เพื่อนบางคนและฉันเคยเล่น DSA (RPG บนโต๊ะเยอรมันส่วนใหญ่เหมือนกับ D & D) ฉันสงสัยว่าโอกาสในการผ่านม้วนคืออะไรดังนั้นคุณจะต้องเขียนโค้ดเพื่อคำนวณ
ตัวละครของคุณถูกกำหนดโดยสถิติ (จาก 8 ถึง 14) และ (Talent) ค่าพรสวรรค์ (0 ถึง 21) สำหรับตอนนี้เราจะใช้การปีนเขาเป็นตัวอย่าง
การทดสอบความสามารถพิเศษ
ความสามารถพิเศษ (การปีนเขา) มีลักษณะเช่นนี้: (Courage-Dexterity-Strength) ทีวี: 7. ในการทดสอบตัวละครที่มีความสามารถคุณจะกลิ้งไปตามสถิติเหล่านี้ด้วยลูกเต๋า 20 หน้าและลองลงไปด้านล่างหรือเท่ากับสถิติถ้า คุณทำได้ดี ถ้าไม่คุณสามารถใช้คะแนนทีวีของคุณเพื่อลดการหมุนด้วยอัตราส่วน 1: 1
ตัวอย่าง
นักล่าที่มีความกล้าหาญ 12 ความชำนาญ 13 และกำลัง 14 กำลังพยายามปีนต้นไม้ทีวีของเขาคือ 7
เขาหมุน 3, ค่าต่ำกว่า 12 เพื่อให้เขาผ่านม้วนนั้น
จากนั้นเขาก็กลิ้ง 17, 17 คือ 4 มากกว่า 13, ดังนั้น 4 ทีวีจึงหมดไป 3 ครั้ง
สำหรับการหมุนรอบสุดท้ายคุณจะได้รับ 14 ให้ผ่านจุด
ม้วนทั้งหมดจะถูกส่งผ่านและนักล่าสัตว์สามารถปีนขึ้นไปบนต้นไม้มีทีวี 3 ตัวเหลืออยู่
อินพุต
4 ค่าในรูปแบบใด ๆ ที่คุณเลือกนำมาจากอินพุตมาตรฐานของภาษาของคุณ มันจะต้องอยู่ในลำดับนี้แม้ว่า
เช่น12 13 14 7
หรือ12,13,14,7
หรือเป็นอาร์เรย์ {12,13,14,7} หรือผสมกัน[12, 14, 8], 3
เอาท์พุต
โอกาสของการม้วนผ่าน
เช่น (สำหรับค่าด้านบน)0.803
12,14,8,3 = 0.322
11,11,12,11 = 0.840
สำหรับโบนัส: การขึ้นรูปอีกครั้งไม่ใช่ปัญหาที่นี่เอาท์พุทตามที่คุณต้องการ แต่ตามลำดับต่อไปนี้:
failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7
เป็นต้นจนกระทั่งไม่มีทีวีเหลือ
12,13,14,7 = 0.197/0.075/0.089/0.084/0.078/0.073/0.068/0.063/0.273
12,14,8,3 = 0.678/0.056/0.051/0.047/0.168
ความท้าทายและกฎและโบนัส
คุณจะต้องหาโอกาสที่จะผ่านการม้วนให้แม่นยำ + - 0.5%
-20% ถ้าโปรแกรมของคุณให้โอกาสในการส่งผ่าน
n
ทีวีด้วย(ดูที่เอาต์พุต)นี่คือ รหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
[12, 14, 8], 3
?