Cuộn tài năng trong DSA


9

Một số người bạn và tôi đã chơi một số DSA (một game nhập vai trên máy tính bảng chủ yếu của Đức giống như D & D). Tôi đã tự hỏi cơ hội để vượt qua cuộn là gì, vì vậy bạn sẽ phải viết một số mã để tính toán nó.

Nhân vật của bạn được xác định bởi các chỉ số (từ 8 đến 14) và (TV) Giá trị tài năng (0 đến 21). Bây giờ chúng tôi sẽ sử dụng leo núi làm ví dụ.

Bài kiểm tra tài năng

Một tài năng (leo trèo) trông như thế này: (Courage-Dexterity-Sức mạnh) TV: 7. Để kiểm tra một nhân vật trên một tài năng, bạn tung các chỉ số này bằng một con xúc xắc 20 mặt và cố gắng đạt được dưới hoặc bằng chỉ số, nếu bạn làm tốt điều đó Nếu không, bạn có thể sử dụng các điểm TV của mình để giảm cuộn với tỷ lệ 1: 1.

Thí dụ

Một thợ săn với lòng can đảm 12, khéo léo 13 và sức mạnh 14 đang cố gắng trèo lên một cái cây, TV của anh ấy là 7.

Anh ta lăn 3, giá trị dưới 12 nên anh ta vượt qua cuộn đó.

Sau đó, anh ta cuộn 17, 17 là 4 hơn 13, vì vậy 4 TV đã quen với 3 trái.

Đối với cuộn cuối cùng, bạn nhận được 14 điểm.

Tất cả các cuộn được thông qua và thợ săn quản lý để leo lên cây, 3 TV còn lại.

Đầu vào

4 giá trị ở bất kỳ định dạng nào bạn chọn, được lấy từ đầu vào tiêu chuẩn của ngôn ngữ của bạn. Nó phải được theo thứ tự mặc dù.

Ví dụ 12 13 14 7hoặc 12,13,14,7hoặc là một mảng {12,13,14,7} hoặc hỗn hợp[12, 14, 8], 3

Đầu ra

Cơ hội của các cuộn thường xuyên đi qua.

Ví dụ: (đối với các giá trị ở trên)0.803

12,14,8,3 = 0.322

11,11,12,11 = 0.840

Đối với phần thưởng: Một lần nữa hình thành không phải là vấn đề ở đây, hãy xuất nó theo cách bạn muốn nhưng theo thứ tự sau:

failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7 

và cứ như vậy cho đến khi không còn TV.

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

Thử thách và quy tắc và tiền thưởng

  • Bạn sẽ tìm ra cho đầu vào cơ hội để vượt qua các cuộn đến độ chính xác + - 0,5%.

  • -20% nếu chương trình của bạn cũng xuất ra cơ hội vượt qua với nTV (xem đầu ra).

  • Đây là , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!


1
Có "4 giá trị trong bất kỳ định dạng nào bạn chọn" bao gồm đưa chúng theo một thứ tự khác không?
Martin Ender

1
Hay một cái gì đó như thế [12, 14, 8], 3nào?
Martin Ender

Tôi nghĩ rằng tôi đã có đơn đặt hàng, bây giờ Đầu vào hỗn hợp cũng được cho phép.
Eumel

Câu trả lời:


2

Pyth - 21 20 19 byte

Đã lưu 1 byte nhờ @ThomasKwa

.Omgvzsg#0-VdQ^SyT3

Phòng thử nghiệm .


Pyth rất hay ... Đây là loại câu hỏi của APL và tôi chỉ có 27 câu hỏi trong APL.
lirtosiast

thứ tự của đầu vào đã được thay thế là stat,stat,stat,TVtôi chỉ xác định điều đó ngay bây giờ. Tuy nhiên nếu bạn có thể sửa đổi điều đó một cách dễ dàng thì sẽ tốt đẹp. Bạn có thể đưa ra một lời giải thích?
Eumel

@Eumel chắc chắn, việc thay đổi thứ tự không phải là vấn đề, tôi đang sử dụng điện thoại ngay bây giờ, tôi sẽ làm điều đó khi về đến nhà.
Maltysen

1

APL Dyalog, 28 byte

{(+/÷⍴)⍵≥∊+/¨0⌈(⊂⍺)-⍨¨⍳3⍴20}

Cách tiếp cận này giống như của @ Maltysen. Chúng tôi không thể chắc chắn về độ chính xác 0,5% nếu chúng tôi chỉ vẽ vài nghìn cuộn xúc xắc ngẫu nhiên, vì vậy thay vào đó chúng tôi lấy trung bình trên tất cả các cuộn có thể. Điều này lấy ba chỉ số làm đối số bên trái và giá trị tài năng ở bên phải.

Hãy thử nó ở đây !

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.