|
Последовательное выполнение скриптов |
|
|
|
  |
Ответов
| DarkMaster |
12.9.2021, 6:56
|
          
Модератор UOPilot
Сообщений: 9.769
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 30078
Пользователь №: 11.279

|
Вобщем не поленился я... Потестил нормальное распределение. Разница существенная, при статичном свапе от 1 до #arr отклонения от ожидаемого до 20%. math.random(i, #arr) однозначно лучше - отклонения в пределах статистической погрешности. код для теста
Код -- 1 - обмен позиций 1-10 -- 2 - обмен позиций i-10 local method = 2
math.randomseed(os.clock())
local n = 1000000
-- инициализируем счетчик local counter = {} for i = 1, 10 do counter[i] = {} for j = 1, 10 do counter[i][j] = 0 end end
for z = 1, n do local a = {1,2,3,4,5,6,7,8,9,10} for i = 1, #a do local tmp = a[i] local r if method == 1 then r = math.random(1,10) else r = math.random(i,10) end a[i] = a[r] a[r] = tmp end for i = 1, #a do counter[a[i]][i] = counter[a[i]][i] + 1 end end
local p = {} for i = 1, 10 do p[i] = {} for j = 1, 10 do p[i][j] = math.abs(10 - counter[i][j] / (n / 100)) * 10 end end
for i = 1, 10 do log("% отклонения перемещения "..i.." от ожидаемого в позицию:") for j = 1, 10 do local s = string.format("%f",p[i][j]) if p[i][j] < 10 then s = "0"..s end if j < 10 then log(" "..j..": "..s) else log(j..": "..s) end end end
lua перемешать массив. готовая функция
Код local shuffle = function(a) do math.randomseed(os.time()) shuffle = function(a) for i = 1, #a do local tmp = a[i] local r = math.random(i, #a) a[i] = a[r] a[r] = tmp end return a end Сообщение отредактировал DarkMaster - 22.6.2024, 18:39
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____ Контакт актуален, подпись актуальна.
|
|
|
|
|
|
| BlackBot |
17.9.2021, 15:18
|

 
Neophyte
Сообщений: 33
Регистрация: 17.8.2021 Группа: Пользователи Наличность: 0
Пользователь №: 20.047

|
Цитата(DarkMaster @ 12.9.2021, 6:56)  Вобщем не поленился я... Потестил нормальное распределение. Разница существенная, при статичном свапе от 1 до #arr отклонения от ожидаемого до 20%. math.random(i, #arr) однозначно лучше - отклонения в пределах статистической погрешности.
С многомерными массивами версия для пилота - не фурыкает. Склеивает значения в одномерный массив. Это так для справки - если кто будет мучаться )
|
|
|
|
|
|
Сообщений в этой теме
BlackBot Последовательное выполнение скриптов 17.8.2021, 8:04 kyja Запуск скриптов
https://uopilot.tati.pro/index.php... 17.8.2021, 10:44 cirus Если действия одинаковые для всех окон, то можно и... 17.8.2021, 10:50 BlackBot Start_script нашел. Но почему то напрямую
kleft... 17.8.2021, 11:29 cirus
set %handle findwindow ("Блокнот"... 17.8.2021, 13:30 BlackBot То что надо) Благодарю! Какие возможности прям... 17.8.2021, 15:09 BlackBot Еще вопросик. Переменные между скриптами передаютс... 19.8.2021, 7:27 cirus https://uopilot.uokit.com/wiki/index.php?ti...друг... 19.8.2021, 11:08 BlackBot Cirus, Уважаемый - подскажи следущее
- Есть окно и... 21.8.2021, 19:30 cirus wait 3000 // пауза 3 секунды
set #h getwindo... 21.8.2021, 20:28 BlackBot А если после необходимо на английском написать что... 22.8.2021, 6:40 cirus
Да. 22.8.2021, 10:47 BlackBot Вопросик еще возник.
Имеется окно браузера, в нем... 26.8.2021, 12:07 cirus
log clear
log mode compact
get windowpos workwind... 26.8.2021, 12:23 BlackBot
Загвоздочка возникла.. Есть игра нонтаргет - м... 8.9.2021, 14:00 cirus
Функциями пилота не сделать. Через ардуино можно. 8.9.2021, 14:33 BlackBot
Функциями пилота не сделать. Через ардуино можно.... 8.9.2021, 18:15 BlackBot Товарищи - подскажите как перемешать массив? А то ... 9.9.2021, 16:10 cirus
set %mult [1] mult1 // имя мульта
... 10.9.2021, 1:41 BlackBot При таком методе - как я понимаю, имеется вероятно... 10.9.2021, 5:48 DarkMaster
Всмысле? Дублироваться значения которые не дублир... 11.9.2021, 12:07 DarkMaster
Вот это разве что можно чуть изменить. Вроде как ... 11.9.2021, 12:20 BlackBot Извиняюсь - не разобралсо )
А кто-нибудь заморачив... 11.9.2021, 14:40 DarkMaster Было дело. Смысла мало - динамика слишком велика д... 11.9.2021, 19:35 BlackBot
Вобщем не поленился я... Потестил нормальное расп... 12.9.2021, 7:04 DarkMaster
Я выше приводил код для фикса в старом синтаксисе... 12.9.2021, 7:28 BlackBot В игре - мобы и игроки разным цветом горят - это я... 12.9.2021, 8:21 DarkMaster
Размер цели, цвет скилов, миникарта. Все сильно з... 12.9.2021, 8:27 BlackBot скилы всегда активны - они не привязаны к дистанци... 12.9.2021, 8:43 DarkMaster
Самый простой вариант. 12.9.2021, 10:45 BlackBot затык очередной - почему скрипт так себя ведет?
... 12.9.2021, 16:38 DarkMaster
В смысле на старом синтаксисе? Вообще старый синт... 18.9.2021, 4:54 Sergei1234 Народ через какую функцию в с++ осущесвлекн клик м... 18.9.2021, 17:21 cirus
SendMessage, WM_LBUTTONDOWN и WM_LBUTTONUP. 18.9.2021, 18:08 Sergei1234 проблема решена 18.9.2021, 18:43  Cockney
это си шарп, но не столь важно
не думаю что эт... 18.9.2021, 18:50 cirus Неверно заданы значения констант WM_LBUTTONDOWN и ... 18.9.2021, 18:51 Sergei1234
Неверно заданы значения констант WM_LBUTTONDOWN и... 18.9.2021, 19:07  Sergei1234 еще такой вопрос перекрытое окно скриншот можно в ... 18.9.2021, 20:12 Sergei1234 а вот еще вопрос про сендмесседж, у меня несколько... 24.9.2021, 10:54 BlackBot Убери внизу окна программы задержку. Вместо 100 - ... 24.9.2021, 18:08 DarkMaster
Для луа эта задержка игнорируется. 24.9.2021, 20:39 Sergei1234 нее проверено если мышь нахолддится в другом монит... 25.9.2021, 10:28 BlackBot Привязка окна и активация его при необходимости де... 25.9.2021, 12:57 Madeus 2 моника, проблем нет. 25.9.2021, 13:41 Sergei1234 народ а взгляните скрипт Ctrl+ space как катится в... 12.2.2022, 18:49 Sergei1234
народ а взгляните скрипт Ctrl+ space как катится ... 14.2.2022, 12:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|