nazarpunk, ну я на то и намекал, что вероятность должна остаться в пределах [0, 1]. Tredor46, так это всё ты можешь складывать в этой функции, но вернуть в итоге нужно валидное значение, ибо куда ты приткнёшь потом свои отрицательные вероятности миссов? Но это точно можно сложить проще, а не так
Чтобы оно в минус нормально уходило придётся ввести понятие отрицательной вероятности, и придумать как его использовать в контексте проверки на шанс промаха по юниту
Tredor46, слушай, а где ты вообще этот алгоритм нашёл? Я загуглил убывающую полезность в доте 2, нашёл обсуждение на д2ру
Это оно? То есть вся формула это P = 1 - (1 - p1) * (1 - p2) * ... * (1 - pn)? А что ты тогда проверяешь ифами?
Ну типа блин
function sumProbabilities(...)
local p = 100
for _, v in ipairs {...} do
p = p * (100 - v) / 100
end
return 100 - p
end
print(sumProbabilities(50, 50)) -- 75.0
print(sumProbabilities(35, 35)) -- 57.75
print(sumProbabilities(10, 20, 30)) -- 49.6
print(sumProbabilities(35, 35, 35, 35, 35, 35)) -- 92.458
print(sumProbabilities()) -- 0
Ну ладно, если нужно ещё отнимать отрицательные, то придётся чутка усложнить, и взять модуль числа, но серьёзно, в чём соль?
ScorpioT1000, не, ну тут ещё при условии, что change будет больше 100.0. Если пользователь кода считает вероятности в пределах 100, то может таких ситуаций и не предвидится. Правда я всё равно до конца не понимаю, что по факту должно быть на входе, и что на выходе. Типа задача ясна: если есть два предмета на миссы, то их общая вероятность мисса должна считаться не простым сложением, но понять чё тут по факту происходит я не в состоянии, а с этим сижассом ещё и фиг проверишь
Я не совсем понимаю, что конкретно мы тут считаем, и (не)читабельность простыни ифов не способствует этому пониманию. И похоже, что автор сам в ней запутался. Типа здесь при разных условиях выполняется одна операция
if changing_chance >= 0 and changing_chance >= change
new_changing_chance = changing_chance+((100 - changing_chance)/100*change)
elseif changing_chance >= 0 and changing_chance < change
new_changing_chance = changing_chance+((100 - changing_chance)/100*change)
Это просто то, что бросилось в глаза, уверен, что тут добрую половину кода можно сократить, и ничего не изменится.
А с каких пор ужопа и рефа стали мерилами хоть чего-то в ру коммьюнити? Посоны тут кулаком в грудь бьют, кричат, что лучше ванильного 1.26a ещё ничего в этом мире не придумано (утрирую конечно, но тем не менее).
Avadonchik, до 2.0 можно было без проблем заходить без интернета в LAN и играть. В 2.0 это сильно поломали, там есть какие-то свои новые баги, так что не факт, что можно.
fenathesnake, то, что ujapi поддерживается, и до разраба можно достучаться – это плюс, но вкатившись туда, ты ещё невольно становишься тестировщиком возможностей южапи, которые с большой вероятностью никто никогда не применял в реальном проекте, и внезапно может оказаться, что они не работают, или работают не так, как ожидается. Это без претензий, просто даже я (человек, который вообще не интересуется южапи) уже натыкался на ситуации, когда у людей что-то не получалось на ровном месте.
TerrorGold, по буквам? А по смыслу? Мурадин точно мог что-то существенное рассказать Артасу о магических артефактах и демонических силах в то время, когда тот обучался у него?
В чём ценность порции нейромусора, в которой неприкрытые галюны видны уже с первых строк?
human1, расчёты расчётами, но игру душит работающий конвейер утечек. Думаю, что если отказаться от использования гуишных функций, то эта проблема исчезнет.
Понимаю, что рискую вызвать праведный гнев на тему "опять технодемщики душат норм ребят со своими уточками", но у меня минут через 5 работы симуляции варкрафт залагал в хлам, и потребление памяти выросло до трёх гигов, и продолжало расти. Или симуляция работает по принципу вкл/выкл, и оставлять её в работе нельзя?
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
Ред. Makeba
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / JNGP: ReBuild by Enobraed
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Tredor46, так это всё ты можешь складывать в этой функции, но вернуть в итоге нужно валидное значение, ибо куда ты приткнёшь потом свои отрицательные вероятности миссов? Но это точно можно сложить проще, а не так
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Ред. Makeba
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Ну типа блин
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
Ред. Makeba
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Как запускать карты свыше 8мб?
» WarCraft 3 / Как начать писать свой код ИИ?
» WarCraft 3 / Как начать писать свой код ИИ?
Ред. Makeba
» WarCraft 3 / Как начать писать свой код ИИ?
Ред. Makeba
» WarCraft 3 / Как начать писать свой код ИИ?
» WarCraft 3 / Memhack или UjAPI что лучше в плане в возможностей и оптимизации?
» WarCraft 3 / Маскировка имени функций
» WarCraft 3 / Что Артасу нужно было сделать иначе? (мнение от дипсика)
Ред. Makeba
» WarCraft 3 / Что Артасу нужно было сделать иначе? (мнение от дипсика)
» WarCraft 3 / RMS Twilac Edition
» WarCraft 3 / Чередование способностей у юнита
» WarCraft 3 / Отслеживание трупов
» WarCraft 3 / Симулятор электромагнитного взаимодействия элементарных частиц в warcraft 3
» WarCraft 3 / Симулятор электромагнитного взаимодействия элементарных частиц в warcraft 3