Slot math

node v17.9.0
version: 8.0.0
endpointsharetweet
let factor = (x) => { if (x < 0) throw new Error("Пошел нахуй") let result = 1 for (let i = x; i > 0; i -= 1) result *= i return result } // Количество перестановок размера n, в которых один элемент i повторяется ровно k[i] раз let p = (n, k) => k.reduce( (result, e) => result / factor(e), factor(n) ) // Количество сочетаний из n по k let c = (n, k) => factor(n) / (factor(k) * factor(n - k)) // Размещение let a = (n, k) => factor(n) / factor(n - k) // Размещение с повторениями let ar = (n, k) => Math.pow(n, k) // Вероятность выпадения k[i] одинаковых символов i (остальные уникальные) let PXX = (k, reels, symbols) => p(reels, k) * c(symbols - k.length, reels - k.reduce((a, b) => a + b, 0)) // количество возможных способов выбрать оставшиеся уникальные символы * a(symbols, k.length) // количество возможных способов выбрать символы, которые будут повторяться / ar(symbols, reels) // количество возможных комбинаций let symbols = 11 let reels = 5 // Количество барабанов. На каждом symbols уникальных картинок // Таблица выплат // 3 одинаковых картинки - x5 // 4 одинаковых картинки - x40 // 5 одинаковых картинок - x100 // Одна строка // С каждого проигрыша 80% уходит в джекпот. 20% в казино
// Вероятность 2 одинаковых картинок P2 = PXX([2], reels, symbols)
// Вероятность 2 одинаковых картинок + 2 одинаковых картинок P22 = PXX([2, 2], reels, symbols) / 2
// Вероятность 2 одинаковых картинки + 3 одинаковых картинок P23 = PXX([3, 2], reels, symbols)
// Вероятность 3 одинаковых картинок P3 = PXX([3], reels, symbols)
// Вероятность 4 одинаковых картинок P4 = PXX([4], reels, symbols)
// Вероятность 5 одинаковых картинок P5 = PXX([5], reels, symbols)
// Вероятность выиграть что-нибудь PW = P3 + P4 + P5 + P23 + P22 + P2
E2 = P2 * 1 E22 = P22 * 2 E23 = P23 * 6
// Мат ожидание выигрыша при 3 E3 = P3 * 3
// Мат ожидание выигрыша при 4 E4 = P4 * 12
// Мат ожидание выигрыша при 5 E5 = P5 * 50
// Мат ожидание выигрыша с 1 бакса E = E3 + E4 + E5 + E2 + E23 + E22 - 1
// Мат ожидание прибыли с 1 бакса R = (x) => (1 - PW) * x
// Вероятность выпадения x5 за N спинов P5N = (n) => { let result = 0; for (let i = 0; i < n; i += 1) { result += Math.pow(1 - P5, i) * P5 } return result }
P5N(1000)
(1 - PW) * 1000 * 0.3
200 / -E
Loading…

no comments

    sign in to comment