Створіть програму або функцію, яка імітує звичайні кістки для рольових ігор. Він повинен обробляти щонайменше d6 та d20, дві найпоширеніші кістки.
Однак це повинно працювати так, як стереотипні геймери очікують, що вони працюватимуть, а не як справжні кістки.
Це в жарті між геймерами, що можна мати спеціально пощастило загинути за дуже важливий рулон, попередньо кидаючи багато кісток, вибираючи ті, в результаті яких було "1", а потім кидаючи їх знову, поки не отримаєш декілька, які прокатували "1" кілька разів. Потім ви ретельно зберігаєте їх, оскільки вони прокручуються 1 кілька разів послідовно, тому ймовірність прокрутити 1 наступного разу повинна бути вкрай низькою.
Звичайно, це не так, як працюють кістки в реальному житті , оскільки булочки статистично незалежні.
Ваші імітовані кістки повинні враховувати попередні рулони та працювати аналогічно тому, як гравець, котрий вважає помилку гравця, очікує, що він працює. Наприклад, якщо було зафіксовано багато низьких чисел, слід збільшити ймовірність перенесення більшого числа.
Однак, оскільки це обман, ви повинні це добре приховати . Це означає, що випадковий погляд на програму не повинен виявити, що ви обдурили. Це означає, що явно зберігати попередні результати та читати їх під час кожного кидка було б занадто підозріло. Ви повинні приховати це "властивість" своїх кісток і бонусні бали, якщо зробите це правдоподібним і маскуєте його як чесну помилку. (наприклад, ви створюєте власну RNG із "ненавмисною" вадою)
Виборці, будь ласка, врахуйте, наскільки добре прихований цей "недолік".
Програми повинні бути чіткими, а не заплутаними. Приховати злий код у затуманеній програмі занадто просто.
getRandomBetween(1,d)
, змусить мене зазирнути все глибше.