Как сделать рандомное число это понятно
Но, при создании нестандартной способности например Сильный удар, возникает проблема возникает проблема
Допустим поставим на карту 2 юнитов с такой способностью и заставим их друг друга бить
Допустим шанс срабатывания способности 20%. Два юнита бьют друг друга и тут замечается, что у одного, например способность либо почти не срабатывает, либо срабатывает очень редко, что в принципе полный бред. Потому что 20%, это как никак, но раз за 5 ударов должно пройти. НО
Совсем куда смешнее ситуация была, когда были две разные абилки, у двух разных героев, и тот у кого была абилка с шансом 15%, срабатывала бывало чаще, чем например у того, у которого была абилка с шансом 30%. Напоминаю, всё та же ситуация, когда два героя одновременно бьют друг друга.
Суть в принципе ясна. Варик генерирует числа, типа например 20,50,60,43,54,78,35,1,32,88 и т.д., а так как для всех войск на карте используется один рандом, то так получается, что когда два героя бьют друг друга, у того, у кого шанс 15% по счастливай случайности срабатывает, а у того у кого 30, нет и поэтому, у того, у кого 30% шанс, способность может не пройти даже после 5 и больше ударов, хотя по логике она должна срабатывать куда чаще.
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
Или как это реализовать? Подскажите, кто разбирается, как например в том же Варике устроен этот рандом для скилов или в той же Дота2

Принятый ответ

И вот ещё в теме по этому поводу рассуждал
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
avuremybe:
Proshel_Doty, ну так втули 20 циклов с рандомом. Будет тебе для 20 абилок.
Ну вот получается к этому и приходим, что нужно делать для каждого
ClotPh:
Proshel_Doty, да вот хотя бы крутилка акса в доте 2 уже именно так работает, и заряды, и перезарядка, и фактически увеличивающийся шанс
другое дело, что не обязательно в базовой информации игрокам слишком много мозги компостировать, им достаточно условно знать про шанс там 15%, 20% или 30%, ну и мб перезарядку
По-моему про крутилку акса ты чего-то не знаешь)
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
21
7 лет назад
0
Так а нет разницы, перезапускать карту или нет, пойми, там ничего не тасуется
Чтобы тасовалось, нужно понемногу шанс просто растить, и все, а как сработает - сбрасывать до изначального
Это немного не соответствует действительному шансу, но реально в разы справедливее и разумнее, поэтому именно так обычно и делают
В д2 точно так и сделано уже практически все, та же крутилка акса, например
В д1 в последней хз, но и в варкрафте можно так сделать, как - описано выше
Короче, тебе уже объяснено, как сделать, что ты хочешь, не вижу смысла дальнейших рассуждений
0
22
7 лет назад
0
quq_CCCP:
Я не понимаю что не нравится автору? Слишком частое или слишком редкое срабатывание?
Proshel_Doty:
Допустим поставим на карту 2 юнитов с такой способностью и заставим их друг друга бить
Допустим шанс срабатывания способности 20%. Два юнита бьют друг друга и тут замечается, что у одного, например способность либо почти не срабатывает, либо срабатывает очень редко, что в принципе полный бред. Потому что 20%, это как никак, но раз за 5 ударов должно пройти. НО
Совсем куда смешнее ситуация была, когда были две разные абилки, у двух разных героев, и тот у кого была абилка с шансом 15%, срабатывала бывало чаще, чем например у того, у которого была абилка с шансом 30%. Напоминаю, всё та же ситуация, когда два героя одновременно бьют друг друга.
Так а нет разницы, перезапускать карту или нет, пойми, там ничего не тасуется
Как это не тасуется?
НУ перезапусти карту и увидишь, что там уже другие значения пойдут
ClotPh:
Короче, тебе уже объяснено, как сделать, что ты хочешь, не вижу смысла дальнейших рассуждений
Да я и сам знаю, как сделать, то что я хочу. Я это знал в теории. Но пока мы тут обменивались мыслями, я даже придумал как это сделать
Просто надо было больше узнать про рандом
А также, что могут посоветовать местные картоделы
GetLocalPlayer:
Не должен. Даже с шансом 99% нанести критический удар, существует возможность нанесения 1 000 000 ударов в ряд без единого выпадения крита. Это не бред, это случайность
А ещё я узнал вот это))
Как теперь с этим спать
0
21
7 лет назад
0
Proshel_Doty, ну мы на разных языках говорим или я хз
ты вначале сам жалуешься именно на то, что пассивка 30% шанса может срабатывать реже, чем 15%
тебе объясняют, почему это именно так и что это обычно уже исправляют, хотя и немного "в ущерб правдивости", и как это исправить
ты тут начинаешь, что все равно пассивка обязана сработать достаточно быстро
раз обязана и работает, то и смысла этого треда нет
или ты веришь в какой-то заговор, что пассивки на эвейжен, например, работают чаще, чем на крит, или еще что?
короче, все ответы уже даны
Proshel_Doty, я те еще знаешь че страшное могу рассказать
каждый день у человека есть достаточно отличающийся от 0% шанс умереть, втч и во сне
как же ты с этим жить будешь?
0
22
7 лет назад
Отредактирован PROSHELDOTU
0
ну мы на разных языках говорим или я хз
Да, по ходу. Если у вас 99% шанс может очень долго не срабатывать
Но вот по поводу 100% шанса что-то я так ответа и не вижу
каждый день у человека есть достаточно отличающийся от 0% шанс умереть, втч и во сне
как же ты с этим жить будешь?
Всё, умираю)
Что если я тебе скажу, что посчитать можно всё. Даже шанс того, что ты умрёшь
Другой вопрос в наличии у тебя нужных ресурсов и информации, чтобы что-либо посчитать
Но это уже другая история
Мы тут говорим просто про карту и простой Баш
2
21
7 лет назад
2
А что про 100%? Он всегда и по логике, и по математике сработает
Посчитать шанс можно, но если он не 100%, он ВСЕГДА может не сработать много много много много и еще больше раз подряд
Единственное, что при бесконечном количестве попыток, наоборот, любой шанс более 0% обязательно всегда рано или поздно сработает
Но в том и прикол, что номер попытки, с которой он сработает, может быть дико огромным
100500 раз - проигрыш в прошлый раз НЕ увеличивает вероятность выигрыша в следующий, а иначе и этого треда бы не было, во всяком случае, "по умолчанию" не увеличивает, если числа действительно полностью случайные, но ДА, это не очень правильно, и ДА, от этого избавляются
Ладно, тут уже то ли троллинг, то ли флуд, то ли я хз, сижу онли потому, что расслабляет между написанием кода, оффаюсь
0
26
7 лет назад
0
автор, покурите теорию вероятностей
0
22
7 лет назад
0
Вот посмотрим рандом любимого Варкрафта
Не знаю, как он работает, но он работает логично
И так, Ряд 1
смотрим значения
4 2 4 1 13 4 6 1 2 - разы, когда шанс НЕ ПРОКАЛ в сумме дают 37
1 1 1 1 1 1 1 1 1 - разы, между ними, когда шанс ПРОКАЛ в сумме дают 9
37 + 9 = 46 9 / 46 * 100% = 19,56521739%
Загруженные файлы
0
16
7 лет назад
Отредактирован avuremybe
0
Я сделал вот так
exitwhen i > 10
Что же это значит?
Что ты идиот.
0
22
7 лет назад
0
Лооооооооол, я ту так распинался, а когда нажал отправить комментарий, почему-то отправился не полностью Proshel_Doty:
Вот посмотрим рандом любимого Варкрафта
Не знаю, как он работает, но он работает логично
И так, Ряд 1
смотрим значения
4 2 4 1 13 4 6 1 2 - разы, когда шанс НЕ ПРОКАЛ в сумме дают 37
1 1 1 1 1 1 1 1 1 - разы, между ними, когда шанс ПРОКАЛ в сумме дают 9
37 + 9 = 46 9 / 46 * 100% = 19,56521739%
Ну и ладно
avuremybe:
Что ты идиот.
Конструктивно
Правда, я всё же хотел бы узнать, что же ты там увидел
Кроме необоснованного обзывательства
0
17
7 лет назад
Отредактирован GetLocalPlayer
0
Но вот это, конечно угар знатный.
Может есть какая-то наука случайностей, я не знаю
Такая наука действительно есть - Теория вероятностей. Ты не один с нее угораешь. С недавних пор этот предмет является частью ГИА и дается многим девятиклассникам довольно туго.
Ну не суть.
И если в твоей карте 99%шанс абилка не прокнет за 100000 раз ни разу, то я не знаю, работает ли она у тебя вообще? И зачем такую карту придумывать?
Можешь дать юниту критический удар с шансом 99% и ждать, когда он нанесет к ряду миллион ударов без единого крита. Когда-нибудь это случится. Может сразу, а может через триллион лет. Но это случится. Просто подожди.
Или давай перефразируем описание способности - 1% шанс НЕ нанести критический удар.
Но это уже оффтом, ибо добавить нечего. Все необходимое уже объяснили.
0
22
7 лет назад
0
GetLocalPlayer:
Но вот это, конечно угар знатный.
Может есть какая-то наука случайностей, я не знаю
Такая наука действительно есть - Теория вероятностей. Ты не один с нее угораешь. С недавних пор этот предмет является частью ГИА и дается многим девятиклассникам довольно туго.
Ну не суть.
И если в твоей карте 99%шанс абилка не прокнет за 100000 раз ни разу, то я не знаю, работает ли она у тебя вообще? И зачем такую карту придумывать?
Можешь дать юниту критический удар с шансом 99% и ждать, когда он нанесет к ряду миллион ударов без единого крита. Когда-нибудь это случится. Может сразу, а может через триллион лет. Но это случится. Просто подожди.
Или давай перефразируем описание способности - 1% шанс НЕ нанести критический удар.
Но это уже оффтом, ибо добавить нечего. Все необходимое уже объяснили.
Бредятина, пока короч
Я уже хочу карту поделать
Про науки я и так знаю
Лол
Но про случайную случайность вот это угар
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.