Skip to content

Commit 6bd036e

Browse files
committed
[HW-4.13/st-compl] dice-polyhedron
Create func for "simulate/roll" of a dice/polyhedron, d4-d20. Worth noting: - "if" blocks. FS-dev: B-4 / JS advanced
1 parent 21dc48f commit 6bd036e

File tree

1 file changed

+25
-0
lines changed
  • full-stack-dev/4-js-advanced/4-calc-and-math/4-13-hw-2-dice-polyhedron

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Нужно создать функцию для симуляции броска многогранника “Дайса”, для различных типов: d4, d6, d8, d10, d12, d16, d20.
2+
// - функция должна возвращать случайное число в диапазоне возможных значений для выбранного многогранника. Например, для D6 это числа от 1 до 6 включительно.
3+
4+
'use strict';
5+
6+
function getDiceRoll(diceSide) {
7+
if (!diceSide || typeof diceSide !== 'string') {
8+
return NaN;
9+
}
10+
11+
const parsedDiceSide = Number(diceSide.toLocaleUpperCase().replace('D', ''));
12+
13+
if (Number.isNaN(parsedDiceSide) || parsedDiceSide <= 0) {
14+
return NaN;
15+
}
16+
17+
return Math.floor(Math.random() * parsedDiceSide) + 1;
18+
}
19+
20+
console.log(getDiceRoll('d4')); // 2
21+
console.log(getDiceRoll('d6')); // 6
22+
console.log(getDiceRoll('d8')); // 7
23+
console.log(getDiceRoll('d10')); // 9
24+
console.log(getDiceRoll('d16')); // 16
25+
console.log(getDiceRoll('d20')); // 19

0 commit comments

Comments
 (0)