Tôi muốn chơi Dungeon và Dragons, nhưng tôi không có xúc xắc! Thử thách của bạn là tung một vài viên xí ngầu D & D.
Đặc tả định dạng đầu vào ở dạng Backus-Naur là:
<valid-input> ::= <opt-integer> "d" <integer> <opt-modifier>
<opt-integer> ::= | <integer>
<opt-modifier> ::= | "+" <integer>
<integer> ::= "0" | "1" | "2" | "3" | "4" | "5" |
"6" | "7" | "8" | "9" | <integer> <integer>
Số nguyên tùy chọn trước d
số là xúc xắc để cuộn; ít nhất nó phải được 1
mặc định và mặc định 1
nếu không được cung cấp.
Số nguyên cần thiết ngay sau số d
là mỗi cạnh của mỗi khuôn; nó phải có ít nhất 1
. Các cạnh của mỗi khuôn là các số nguyên dương liên tiếp khác nhau bắt đầu từ 1
.
Công cụ sửa đổi tùy chọn có thể +0
và mặc định +0
nếu không được chỉ định.
Ví dụ: đối với đầu vào 2d10+5
, bạn tạo hai số ngẫu nhiên từ 1 đến 10, bao gồm chúng và cộng 5. Sau đó, bạn sẽ xuất kết quả.
Nếu bạn nhận đầu vào không hợp lệ, chẳng hạn như 2d
, d20+
, 0d4
, 2d5+1+2
, 2+2
, hoặc bất cứ điều gì khác mà không phù hợp với định dạng này, bạn phải đầu ra " Invalid input
". Mặt khác, bạn phải chỉ xuất một số nguyên ngẫu nhiên duy nhất, có trọng số theo đầu vào. Ví dụ, 3d6
nên tạo ra nhiều 10
s hơn 4
s .
Các trường hợp thử nghiệm
Input Minimum possible output Maximum possible output
d1 1 1
d6 1 6
d1+3 4 4
d20+3 4 23
2d1 2 2
2d6+2 4 14
d01 1 1
d01+0 1 1
01d01+01 2 2
3d20+10 13 70
d Invalid input
d0 Invalid input
d+0 Invalid input
d0+0 Invalid input
0d1 Invalid input
0d1+1 Invalid input
d1+ Invalid input
1d Invalid input
1d1+ Invalid input
1d+1 Invalid input
2d+2d Invalid input
d2+d2 Invalid input
d2+2+2 Invalid input
d2-1 Invalid input
-d2 Invalid input
-2d2 Invalid input
4*3 Invalid input
4*d2 Invalid input
Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ giành chiến thắng!
n
và p
là tùy chọn, nhưng đầu vào chọn không bao gồm chúng ( d20+
) là không hợp lệ.
+
chỉ nên thêm dấu hiệu nếu công cụ sửa đổi p
được cung cấp.
1d4+1d6
đối với một Rogue lén tấn công bằng dao găm) hoặc có một tiêu cực p
(ví dụ, 1d20-1
để kiểm tra kỹ năng không có cấp bậc / huấn luyện và sửa đổi khả năng tiêu cực).
2d8 + 1d6 + 4
? Bạn sẽ có một thời gian tồi tệ
02d05+073
một đầu vào hợp lệ?