@Neolq

Рандомное выпадение монетки на js?

Пишу бота для телеграм на node js. Нужно сделать рандомное выпадение монетки. Есть три варианта выпадения:
1. Орёл. 2. Решка. 3. Закатилась под кровать. Проблема в том, что процент выпадения 3го пункта, должен быть низким.
Решил задачу таким способом: клонировал массив, без 3го пункта, 4 раза. Есть ли более красивый способ, как реализовать такой рандом? Сразу скажу, что в js я новичок.

Array.prototype.random = function () {
      return this[Math.floor(Math.random() * this.length)]
   }
   let coinArr = ['Орёл.', 'Решка.', 'Ой, закатилась под кровать']
   let coinOut = coinArr.slice(0, 2)
   let coinFull = [].concat(...Array(4).fill(coinOut))
   coinArr.push(...coinFull)
  • Вопрос задан
  • 283 просмотра
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
// задаем вероятность закатывания под кровать равную 10%=0.1*100
const p = 0.1;
const r = Math.random();
if(r<p){
   console.log('закатилась под кровать');
}else if(r<p+(1-p)/2){
   console.log('орел');
}else{
   console.log('решка');
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы