Всем привет, Вопрос по рандому. Апи. В скрипте есть рандом. При единичном вызове - ок. Если идем в оптимизацию - 100 переборов например - то рандом часто выдает одинаковые числа. Кто-нибудь сталкивался?

Как победили?

💬 4 answers

А сколько раз подряд рандом выдает одинаковые числа?

это штатная ошибка "рандомщиков", то есть тех, кто начинает юзать этот класс, Вам надо сделать так, чтобы класс инициализировался один раз, а вы наверняка его в каждом скрипте инициализируете, то есть, к примеру, var rnd = new Random() а дальше уже делаете var someValue = rnd.Next(1.10). Уберите инициализацию класса в статическое поле или класс и будет все ОК. в ином случае при инициализации класса будут одинаковые числа частенько, а должно быть так, чтобы класс инициализировался 1 раз, уже метод Next в каждом скрипте


📜 Similar questions

@andreypro007 , подскажите pls будет ли в 2.2 такая фича, чтобы во внешних скриптах не надо было указывать путь в DLL? то есть чтобы скрипт все необходимые либы автоматически смотрел в папке Handlers или иной, указанной пользователем? Это прям вот самая "так себе" история. Перенес внешний скрипт на другой комп - будь добр переменить все пути. Юзаешь во внешнем скрипте DLL кубика, который лежит в папке Handlers все равно будь добр указать к нему путь. Плюс на DLL самой ТСЛаб надо некоторые пути указывать - это самая странная штука, т.к. все эти DLL лежат в папке самой программы. Было бы очень удобно если бы внешний скрипт автоматом смотрел нужные DLL в папке Handlers или иной, указанной пользователем, а вот уже если там ничего не нашел, то уже ругаться начинает. В данный момент внешний скрипт похож на матрешку по количеству строк, которые туда надо вписать. Сейчас, к примеру, будет смена папки на 2.2 - это придется зайти абсолютно во все внешние скрипты и везде переделать ссылки на DLL, а если бы была юзер-папка. то это само собой отпало бы - неважно куда переехал ТСЛаб. все либы лежат в указанной папке на одном месте