던전과 드래곤을하고 싶지만 주사위가 없습니다! 당신의 도전은 일부 D & D 주사위를 굴리는 것입니다.
Backus-Naur 형식의 입력 형식 사양 은 다음과 같습니다.
<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>
앞에있는 선택적인 정수 d
는 굴릴 주사위의 수입니다. 최소한이어야하며 제공되지 않은 경우 1
기본값으로 설정 1
됩니다.
바로 뒤에 필요한 정수 d
는 각 다이의 변의 수입니다. 최소한이어야합니다 1
. 각 다이의 변은에서 시작하는 별개의 연속적인 양의 정수 1
입니다.
선택적 수정자는 일 수 있으며 지정되지 않은 경우 +0
기본값이 +0
사용됩니다.
예를 들어 input의 2d10+5
경우 1에서 10까지의 두 개의 난수를 생성하고 함께 더한 다음 5를 더합니다. 그러면 결과가 출력됩니다.
당신은 잘못된 입력과 같은받은 경우 2d
, d20+
, 0d4
, 2d5+1+2
, 2+2
, 당신이 "출력해야이 형식에 맞지 않는 사람, 또는 아무것도 Invalid input
"를. 그렇지 않으면 입력에 따라 가중치가 부여 된 단일 임의의 정수만 출력해야합니다. 예를 들어, 3d6
더 생산한다 10
초 이상 4
들 .
테스트 사례
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
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이길 것입니다!
n
및 p
선택 사항이지만 d20+
유효하지 않은 것으로 포함하도록 선택하는 입력입니다 ( ).
+
수정자가 p
제공된 경우에만 부호를 추가해야 한다고 생각합니다 .
1d4+1d6
단검으로 도둑 몰래 공격하는 경우) 또는 음수 p
(예 : 1d20-1
순위 / 훈련이없는 스킬 검사 및 음수 능력 수정 자)가있는 경우가 있습니다.
2d8 + 1d6 + 4
. 당신은 나쁜 시간을 가질거야
02d05+073
유효한 입력은?