У меня есть игровой автомат HTML5 + Javascript. Я нашел приведенный ниже алгоритм в Stackoverflow, но мне нужен другой процент
this.d = Math.random();
if (this.d < 0.3333) {
this.nextSymbols = [
['320', '320', 'jackpot'],
['jackpot', '320', '400'],
['320', '320', 'jackpot'],
];
} else if (this.d < 0.005) {
this.nextSymbols = [
['320', 'jackpot', '400'],
['320', 'jackpot', '400'],
['320', 'jackpot', '400'],
];
} else {
this.nextSymbols = [
[Symbol.random(), Symbol.random(), Symbol.random()],
[Symbol.random(), Symbol.random(), Symbol.random()],
[Symbol.random(), Symbol.random(), Symbol.random()],
];
}
Мне нужно иметь:
1 of 3 spins to be a winning prize 2
1 of 200 spins wins big prize
Любой совет эксперта по математике был бы очень признателен.
Спасибо
Подсказка: 1/3 = 0.3333…, 1/200 = 0.005 (по сравнению с 50% = 0.5, 20% = 0.2 в существующем коде)
@Bergi, спасибо. я понял
< означает меньше. Итак, if (this.d < 0.005) означает, что значение меньше 0,005. Любое значение в этом случае также меньше 0,3333. Однако if-test для <0,005 находится в предложении else для <0,3333, поэтому никто никогда не выиграет большой приз.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Подводя итог - как написано в комментариях @Bergi и @Richardissimo.
1/3 равно 0. (3), но вы можете просто написать интерпретатор thid.d < 1/3, который рассчитает это за вас.
А если вы делаете else if, то второй корпус никогда не сработает. Вы должны изменить порядок условий.
Какое значение имеет фраза «У меня 10 крупных призов» для вероятности одного спина?