The_Lars
@The_Lars

Math.floor и вероятность?

Помогите с рандомом плизз.
Вот скрипт
Нужно сделать вероятность выпадения. Т.е "Золото" выпадает гораздо реже чем серебро и т.д
  • Вопрос задан
  • 3121 просмотр
Решения вопроса 3
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Комментировать
BuriK666
@BuriK666
Компьютерный псих
$('button').click(function(){
  var arr = [ 
  { 
    title: "Золото",
    r: 0.1 // вероятность 10%
  }, {
    title: "Серебро",
    r: 0.4 // вероятность 30% (0.4 - 0.1)
  }, {
    title: "Платина",
    r: 1 // вероятность 60% (1 - 0.4)
  }]; // порядок элементов в массиве важен!
  var rand = Math.random();
  for (var i = 0; i < arr.length; i++) {
    if (rand < arr[i].r) {
      $('.one').html(arr[i].title);
      break;
    }
  }
});
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sta-ger
Game Developer
Я, обычно, делаю проше:
var arr = ["Золото", "Серебро", "Серебро", "Платина", "Платина", "Платина"];

Чем больше элементов в массиве - тем он чаще выпадает.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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