char __thiscall CWorldItem::EnchantItem(CWorldItem *this, CWorldItem *itemToEnchant, CWorldUser *user)
{
int enchantLevel; // esi@3
CSharedItemConstData *constSharedData; // eax@4
CUserSocket *userSocket; // eax@11 MAPDST
double dice2; // st7@28
int itemClassId; // [sp-4h] [bp-3Ch]@11 MAPDST
int v11; // [sp+0h] [bp-38h]@1
double dice; // [sp+Ch] [bp-2Ch]@9
double chance; // [sp+14h] [bp-24h]@6
int *v15; // [sp+28h] [bp-10h]@1
int v16; // [sp+34h] [bp-4h]@1
v15 = &v11;
v16 = 0;
if (...
Насколько помню, в его сборке юзается mt19937. То, что он скинул декомпил с иды, это != тому, что он закинул в свой проектТома показывал код, ровно этот код.
Сиды только каждый раз новые. Но плюс минус колбасит вверх вниз
int[] count = new int[100];
int j = 0;
for (int i = 0; i < 1000000; i++)
{
j = Rnd.get(100);
count[j]++;
}
for (int i = 0; i < count.length; i++)
System.out.println(i + ": " + count[i]);
0: 9990
1: 10094
2: 9965
3: 9951
4: 10086
5: 10030
6: 10076
7: 10033
8: 10025
9: 10020
10: 10028
11: 9930
12: 10083
13: 9973
14: 9967
15: 10169
16: 9988
17: 10066
18: 9980
19: 9934
20: 10060
21: 9919
22: 10094
23: 10081
24: 10036
25: 9951
26: 9858
27: 10005
28: 10079
29: 10012
30: 9974
31: 10011
32: 10082
33: 9934
34: 10177
35: 9995
36: 10026
37: 10086
38: 10074
39: 10057
40: 10040
41: 9922
42: 9955
43: 9913
44: 9915
45: 10020
46: 9990
47: 10114
48: 9960
49: 9923
50: 9932
51: 10011
52: 10038
53: 10160
54: 9831
55: 9777
56: 9843
57: 10064
58: 9884
59: 10060
60: 10036
61: 10099
62: 9998
63: 9999
64: 9818
65: 10061
66: 10120
67: 10118
68: 10012
69: 9996
70: 9853
71: 9993
72: 10020
73: 10044
74: 10095
75: 10077
76: 9865
77: 9921
78: 9887
79: 10006
80: 9901
81: 10309
82: 9965
83: 9751
84: 9930
85: 10112
86: 9964
87: 9979
88: 9953
89: 10024
90: 10079
91: 10082
92: 10061
93: 9878
94: 9909
95: 10082
96: 9920
97: 9979
98: 9942
99: 9911
С той, откуда захочет разработчик сборки. Чаще всего - с нижней (В PTS именно так)1. Хотел бы понять с какой стороны идет граница удачного прохождения с нижней или верхней?
mt19937 является одним из лучших алгоритмов для нахождения псевдорандомных чисел. Сложность у него O(1) при вызове, и O(624) при инициализацииТома дал комментарий, что алгоритм должен быть простой, чтобы было меньше потребления ресурсов
mt19937 один из худших алгоритмов, который по какой-то случайности оказался впиндюрен в кучу стандартных библиотек разных языков. И видмо поэтому считается кем-то "лучшим".mt19937 является одним из лучших алгоритмов для нахождения псевдорандомных чисел. Сложность у него O(1) при вызове, и O(624) при инициализации
Есть пруфы про убогое распределение? Из того что я видел, он юзается много где, и дает достаточно хорошее распределениеmt19937 один из худших алгоритмов, который по какой-то случайности оказался впиндюрен в кучу стандартных библиотек разных языков. И видмо поэтому считается кем-то "лучшим".
- он медленный
- у него гигантский размер состояния
- у него гигантский размер кода
- у него убогое распределение
- у него ужасный интерфейс
- он не криптостойкий (хоть это и не важно в данной ситуации, но что-то же он должен предложить?)
Его единственный плюс – гигантский период. Но минусы закапывают этот плюс глубоко под землю. Алгоритм устарел и неюзабелен.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?