Есть данные о игроке:
Вложил: 100 рублей
Снял: 200 рублей
Нам нужно подсчитать сколько он забрал в процентах, в зависимости от его пополнений. Считаем: ((Вложил - Снял) / Вложил) * 100 = -100%, где минус это ущерб игре, потому что он отдал со своих денег. Если бы плюс, то это в прибыль игре
Итак, мы имеем -100%, оттуда нужно составить рандом число, которая будет постепенно откатывать его до 0%, давая выиграть и проиграть, но с меньшей вероятностью. Чем число меньше 0, тем вероятность выигрыша его должна быть меньше.
В общем суть:
1) Если процент больше 0%, то будет чистый рандом
2) Если процент меньше 0%, то в зависимости от этого значения давать рандом в пользу игры, а не игрока. При -100% будет выигрывать сама игра, игрок уже не сможет
3) В результате нужно получить значение true или false
Что можно придумать для этой задачи? Пролистал весь гугл и ничего не нашел.
Помогите пожалуйста!
Взять случайное (дробное) число от 0 до 100, включая 0, исключая 100.
Порог – значение, выше которого будем считать выигрышем, ниже проигрышем игрока.
Процент больше 0 – чистый рандом. Порог = 50.
Процент –100 — без шансов. Порог = 100.
Между процентом 0 и –100, порог линейно меняется от 50 до 100.
let pay = 100 //вложил
let outpay = 190 //снял
let formula = ((pay - outpay) / pay) * 100
let data = (formula / 2) / 100
let result = Math.random() >= 0.5 + Math.abs(data)