RNG
Все наши игры прошли проверку компанией iTech Labs и имеют сертификат RNG.
Click here to view the original iTech Labs Certificate.

Сиды в байты

HMAC_SHA512(server_seed, client_seed:nonce:0)
c23ef73deb4ea4e92a3b551b443bf73014f0cf6346d0b167442b6c9bc6d72bb38a558fc0e96525bd03147a917c2435d9a544a9e7e8e87bd7e651a23dc568c7
1946224761235781642334259852768592474820240207997020817710368431081551982154317913885143192233682912084971101451243653217165681692312322321232152308116261197104199
HMAC_SHA512(server_seed, client_seed:nonce:1)
af889e20351e7fd6acb680c6cd4d5df711176e6b235c7e6518a371e94e1405cf0feed4bc6ac4a4c1814605ed3eba2a68583ed253c5965706d39221f6656
17513615832533012721417218212819820542131324717231101073592723081138553014822564922402542377519817274762420965237621864210488621337608910111210957343110286

Байты в число:

(194, 62, 247, 61, 235, 78, 164, 233) -> [0, ..., 39] = 30
0.757812500000000000(194 / (256 ^ 1))
+0.000946044921875000(062 / (256 ^ 2))
+0.000014722347259521(247 / (256 ^ 3))
+0.000000014202669263(061 / (256 ^ 4))
+0.000000000213731255(235 / (256 ^ 5))
+0.000000000000277112(078 / (256 ^ 6))
+0.000000000000002276(164 / (256 ^ 7))
+0.000000000000000013(233 / (256 ^ 8))
=0.758773281685814371(* 40)
=30.350931267432574856
(42, 59, 85, 27, 68, 59, 247, 48) -> [0, ..., 38] = 6
0.164062500000000000(042 / (256 ^ 1))
+0.000900268554687500(059 / (256 ^ 2))
+0.000005066394805908(085 / (256 ^ 3))
+0.000000006286427379(027 / (256 ^ 4))
+0.000000000061845640(068 / (256 ^ 5))
+0.000000000000209610(059 / (256 ^ 6))
+0.000000000000003428(247 / (256 ^ 7))
+0.000000000000000003(048 / (256 ^ 8))
=0.164967841297979478(* 39)
=6.433745810621199546
(20, 240, 207, 99, 70, 208, 177, 103) -> [0, ..., 37] = 3
0.078125000000000000(020 / (256 ^ 1))
+0.003662109375000000(240 / (256 ^ 2))
+0.000012338161468506(207 / (256 ^ 3))
+0.000000023050233722(099 / (256 ^ 4))
+0.000000000063664629(070 / (256 ^ 5))
+0.000000000000738964(208 / (256 ^ 6))
+0.000000000000002456(177 / (256 ^ 7))
+0.000000000000000006(103 / (256 ^ 8))
=0.081799470651108278(* 38)
=3.108379884742114463
(68, 43, 108, 155, 198, 215, 43, 179) -> [0, ..., 36] = 9
0.265625000000000000(068 / (256 ^ 1))
+0.000656127929687500(043 / (256 ^ 2))
+0.000006437301635742(108 / (256 ^ 3))
+0.000000036088749766(155 / (256 ^ 4))
+0.000000000180079951(198 / (256 ^ 5))
+0.000000000000763833(215 / (256 ^ 6))
+0.000000000000000597(043 / (256 ^ 7))
+0.000000000000000010(179 / (256 ^ 8))
=0.266287601500917404(* 37)
=9.852641255533944431
(138, 85, 143, 192, 233, 6, 82, 91) -> [0, ..., 35] = 19
0.539062500000000000(138 / (256 ^ 1))
+0.001296997070312500(085 / (256 ^ 2))
+0.000008523464202881(143 / (256 ^ 3))
+0.000000044703483582(192 / (256 ^ 4))
+0.000000000211912266(233 / (256 ^ 5))
+0.000000000000021316(006 / (256 ^ 6))
+0.000000000000001138(082 / (256 ^ 7))
+0.000000000000000005(091 / (256 ^ 8))
=0.540368065449933654(* 36)
=19.453250356197610671
(208, 49, 71, 10, 145, 124, 36, 53) -> [0, ..., 34] = 28
0.812500000000000000(208 / (256 ^ 1))
+0.000747680664062500(049 / (256 ^ 2))
+0.000004231929779053(071 / (256 ^ 3))
+0.000000002328306437(010 / (256 ^ 4))
+0.000000000131876732(145 / (256 ^ 5))
+0.000000000000440536(124 / (256 ^ 6))
+0.000000000000000500(036 / (256 ^ 7))
+0.000000000000000003(053 / (256 ^ 8))
=0.813251915054465702(* 35)
=28.463817026906298224
(217, 165, 68, 169, 231, 232, 232, 123) -> [0, ..., 33] = 28
0.847656250000000000(217 / (256 ^ 1))
+0.002517700195312500(165 / (256 ^ 2))
+0.000004053115844727(068 / (256 ^ 3))
+0.000000039348378778(169 / (256 ^ 4))
+0.000000000210093276(231 / (256 ^ 5))
+0.000000000000824230(232 / (256 ^ 6))
+0.000000000000003220(232 / (256 ^ 7))
+0.000000000000000007(123 / (256 ^ 8))
=0.850178042870456729(* 34)
=28.906053457595529466
(215, 230, 81, 162, 61, 197, 104, 199) -> [0, ..., 32] = 27
0.839843750000000000(215 / (256 ^ 1))
+0.003509521484375000(230 / (256 ^ 2))
+0.000004827976226807(081 / (256 ^ 3))
+0.000000037718564272(162 / (256 ^ 4))
+0.000000000055479177(061 / (256 ^ 5))
+0.000000000000699885(197 / (256 ^ 6))
+0.000000000000001443(104 / (256 ^ 7))
+0.000000000000000011(199 / (256 ^ 8))
=0.843358137235346583(* 33)
=27.830818528766435804
(175, 136, 158, 32, 53, 30, 127, 214) -> [0, ..., 31] = 21
0.683593750000000000(175 / (256 ^ 1))
+0.002075195312500000(136 / (256 ^ 2))
+0.000009417533874512(158 / (256 ^ 3))
+0.000000007450580597(032 / (256 ^ 4))
+0.000000000048203219(053 / (256 ^ 5))
+0.000000000000106581(030 / (256 ^ 6))
+0.000000000000001762(127 / (256 ^ 7))
+0.000000000000000012(214 / (256 ^ 8))
=0.685678370345266686(* 32)
=21.941707851048533939
(172, 182, 128, 198, 205, 4, 213, 13) -> [0, ..., 30] = 20
0.671875000000000000(172 / (256 ^ 1))
+0.002777099609375000(182 / (256 ^ 2))
+0.000007629394531250(128 / (256 ^ 3))
+0.000000046100467443(198 / (256 ^ 4))
+0.000000000186446414(205 / (256 ^ 5))
+0.000000000000014211(004 / (256 ^ 6))
+0.000000000000002956(213 / (256 ^ 7))
+0.000000000000000001(013 / (256 ^ 8))
=0.674659775290837316(* 31)
=20.914453034015956234

Перемешивание чисел:

После того, как мы перевели байты в числа, нам необходимо перемешать числа, чтобы перевести число в номер ячейки в еще не занятом поле.

Сначала создается массив, содержащий все возможные результаты.

Затем в цикле выбирается число и умножается на количество оставшихся результатов, беря результат из этой позиции.

Как только этот результат выбран, он удаляется из массива и не может быть выбран снова.

Этот способ перемешивания называется: Тасование Фишера — Йетса  (WIKIPEDIA)

# PickNumberMultiplierNumber * MultiplierResult
10.7587732816858144403031
20.164967841297979483967
30.081799470651108283834
40.266287601500917437912
50.5403680654499337361923
60.8132519150544657352834
70.8501780428704567342835
80.8433581372353466332733
90.6856783703452667322126
100.6746597752908373312025
Все ставки с идентификатором меньше #303200162 использовали функцию HMAC_SHA256, если хотите проверить старые игры