Обсуждение:Город Тумана — различия между версиями
Demetrius (обсуждение | вклад) м (табуляции) |
Demetrius (обсуждение | вклад) м ({{создано}}) |
||
Строка 1: | Строка 1: | ||
+ | {{создано}} | ||
== Алгоритм, которым я подсчитал вероятности == | == Алгоритм, которым я подсчитал вероятности == | ||
Версия 23:29, 5 февраля 2024
Алгоритм, которым я подсчитал вероятности
Оставляю тут — чтобы было легче проверить, что я не совершил ошибок, и адаптировать для построения подобных табличек в других статьях. Demetrius (обсуждение) 21:41, 5 февраля 2024 (MSK)
const броскиОднойКости = [1, 2, 3, 4, 5, 6] const суммы = броскиОднойКости.map(первая => броскиОднойКости.map(вторая => первая + вторая)).flat() const условияКолонок = [ сумма => сумма <= 6, сумма => (сумма >= 7) && (сумма <= 9), сумма => сумма >= 10, сумма => сумма >= 12 ] const прибавки = [] for (i = -5; i <= 7; i++) прибавки.push(i) function значенияКолонок(прибавка) { return условияКолонок.map( условие => { const подходящих = суммы.map(бросок => бросок + прибавка).filter(условие).length const всего = суммы.length return подходящих / всего } ) } function вероятностьКакПроценты(вероятность) { return (Math.round(вероятность * 10000) / 100) + '%' } function отформатироватьСтрокуТаблицы(прибавка) { const ячейкиТаблицы = [ (прибавка >= 0 ? '+' : '') + прибавка, ...значенияКолонок(прибавка).map(вероятностьКакПроценты) ] return `| ` + ячейкиТаблицы.join(' || ') } function отформатироватьТаблицу() { return [ ` {| class="wikitable" style="margin:auto" ! Прибавка !! Неудача<br>(<6) !! Частичный успех<br>(7—9) !! Полный успех<br>(>10) !! «Динамит» (>12)`, ...прибавки.map(отформатироватьСтрокуТаблицы) ].join("\n|-\n") + '\n|}' } console.log(отформатироватьТаблицу())