У Dungeons & Dragons майже все вирішується шляхом прокатки штампу. Як правило, якщо рулон перевищує або дорівнює вказаному значенню, ваша спроба зробити все, що ви хотіли зробити, успішна, і не вдається в іншому випадку. Найчастіше для кочення використовують 20-сторонній штамб (aka d20).
В іншому випадку використовується система виклику навичок. Він схожий на просту систему, описану вище, але успіх визначається тим, чи вдасться гравцеві (або) досягнути певних кількох разів перед тим, як провалити певну кількість разів. Наприклад, гравець (і), можливо, намагаються вибрати кілька замків на дверях з обмеженою кількістю блокувань. Окремі успішні рулони являють собою вдалий вибір одного із замків, а окремі відкатні рулони являють собою злам замка. Загальний успіх означав би успішний вибір усіх замків перед тим, як зламати всі блоки блокування.
Крім того, певні рулони можуть бути критичними. У d20 прокатка 1 - це критичний збій, в результаті якого негайно провалюється весь виклик (у наведеному вище прикладі гравці можуть випадково попередити охоронця). Переміщення 20 - це вирішальний успіх, в результаті якого негайно вдається отримати весь виклик (у наведеному вище прикладі гравець (і) можуть знайти набір ключів до замків, усуваючи необхідність їх вибору). У випадку критичного переліку виклик негайно закінчується, і результат визначається незалежно від попередньої кількості успіхів і невдач.
У цьому виклику вам постануть труднощі, кількість необхідних успіхів та кількість невдач, при яких виклик не виконаний. Ви повинні імітувати гравця, який намагається зіграти виклик, та вивести результат.
Вхідні дані
3 цілих числа, що представляють значення, яке необхідно досягти або перевищити, щоб досягти успіху в індивідуальному рулоні, кількість успіхів, необхідних для успішного виконання виклику, і кількість невдач, при яких виклик не виконаний. Порядок та формат входів не мають значення, якщо ви вкажете, який порядок ви будете використовувати. Складність складе від 1 до 20, включно, а кількість успіхів і невдач становитиме від 1 до 100 включно.
Вихідні дані
Результати кожного з перерахунків d20 (цілі числа, по порядку) та загальний результат виклику (значення truthy / falsey). Формат не має значення, якщо окремі результати в порядку, загальний результат приходить до або після всіх окремих рулонів (наприклад, ви не можете вивести загальний результат у середині рулонів), і Ви вказуєте, який формат виводу використовуєте та послідовно використовуєте.
Приклади (значення в дужках є для пояснення і їх не потрібно включати):
Вхід:
12 5 3 (difficulty successes failures)
Вихід:
15 (success, 1-0)
10 (failure, 1-1)
5 (failure, 1-2)
16 (success, 2-2)
12 (success, 3-2)
15 (success, 4-2)
19 (success, 5-2)
True (overall success)
Вхід:
15 2 3 (difficulty failures successes)
Вихід:
0 (overall failure)
15 (success, 1-0)
12 (failure, 1-1)
13 (failure, 1-2)
Вхід:
5 5 10 (successes failures difficulty)
Вихід:
11 (success, 1-0)
5 (failure, 1-1)
20 (critical success)
1 (overall success)
Вхід:
3 10 3 (failures difficulty successes)
Вихід:
12 (success, 1-0)
11 (success, 2-0)
1 (critical failure)
False (overall failure)
Правила
- Це код-гольф , тому найкоротший код у байтах виграє
- Ви повинні випадковим чином вибрати ціле значення від 1 до 20 (включно) для кожного рулону. Кожне значення повинно мати рівну ймовірність вибору (або максимально близьке до рівного).
the number of successes and failures will both be between 1 and 100, inclusive.
Отже, так, існує ймовірність, що один провал призводить до збою всього виклику.