Как сделать рандомное число это понятно
Но, при создании нестандартной способности например Сильный удар, возникает проблема возникает проблема
Но, при создании нестандартной способности например Сильный удар, возникает проблема возникает проблема
Допустим поставим на карту 2 юнитов с такой способностью и заставим их друг друга бить
Допустим шанс срабатывания способности 20%. Два юнита бьют друг друга и тут замечается, что у одного, например способность либо почти не срабатывает, либо срабатывает очень редко, что в принципе полный бред. Потому что 20%, это как никак, но раз за 5 ударов должно пройти. НО
Допустим шанс срабатывания способности 20%. Два юнита бьют друг друга и тут замечается, что у одного, например способность либо почти не срабатывает, либо срабатывает очень редко, что в принципе полный бред. Потому что 20%, это как никак, но раз за 5 ударов должно пройти. НО
Совсем куда смешнее ситуация была, когда были две разные абилки, у двух разных героев, и тот у кого была абилка с шансом 15%, срабатывала бывало чаще, чем например у того, у которого была абилка с шансом 30%. Напоминаю, всё та же ситуация, когда два героя одновременно бьют друг друга.
Суть в принципе ясна. Варик генерирует числа, типа например 20,50,60,43,54,78,35,1,32,88 и т.д., а так как для всех войск на карте используется один рандом, то так получается, что когда два героя бьют друг друга, у того, у кого шанс 15% по счастливай случайности срабатывает, а у того у кого 30, нет и поэтому, у того, у кого 30% шанс, способность может не пройти даже после 5 и больше ударов, хотя по логике она должна срабатывать куда чаще.
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
Или как это реализовать? Подскажите, кто разбирается, как например в том же Варике устроен этот рандом для скилов или в той же Дота2
Или как это реализовать? Подскажите, кто разбирается, как например в том же Варике устроен этот рандом для скилов или в той же Дота2
Принятый ответ
И вот ещё в теме по этому поводу рассуждал
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
avuremybe:
ClotPh:
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
Ну вот получается к этому и приходим, что нужно делать для каждогоProshel_Doty, ну так втули 20 циклов с рандомом. Будет тебе для 20 абилок.
ClotPh:
По-моему про крутилку акса ты чего-то не знаешь)Proshel_Doty, да вот хотя бы крутилка акса в доте 2 уже именно так работает, и заряды, и перезарядка, и фактически увеличивающийся шанс
другое дело, что не обязательно в базовой информации игрокам слишком много мозги компостировать, им достаточно условно знать про шанс там 15%, 20% или 30%, ну и мб перезарядку
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PROSHELDOTU
Но вот по поводу 100% шанса что-то я так ответа и не вижу
Другой вопрос в наличии у тебя нужных ресурсов и информации, чтобы что-либо посчитать
Но это уже другая история
Мы тут говорим просто про карту и простой Баш
Посчитать шанс можно, но если он не 100%, он ВСЕГДА может не сработать много много много много и еще больше раз подряд
Единственное, что при бесконечном количестве попыток, наоборот, любой шанс более 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%
Отредактирован avuremybe
avuremybe:
Правда, я всё же хотел бы узнать, что же ты там увидел
Кроме необоснованного обзывательства
Отредактирован GetLocalPlayer
Ну не суть.
Или давай перефразируем описание способности - 1% шанс НЕ нанести критический удар.
Я уже хочу карту поделать
Про науки я и так знаю
Лол
Но про случайную случайность вот это угар
Отредактирован avuremybe
Твой диагноз: ГУМАНИТАРИЙ.
Proshel_Doty:
если тебя не устраивает то как работает здравый смысл то убей себя
если тебе повезёт то ты переродишься в мире который тебя устраивает
если хочешь чтобы срабатывала каждые 5 раз то это не случайность а тупо счётчик
Отредактирован avuremybe
Тебе на первой странице раз 10 объяснили как это сделать.
Если А>8 и В=0, то активируешь эффект твоего баша.
Если А>9 и В=1, то активируешь эффект твоего баша.
Если А=10 - обнуляешь А и В.
Если ты выиграл, то получаешь 2 рубля. Таким образом, получается, что ты выигрываешь 2-1 = 1 рубль. Всё ок, рубль из воздуха (ну, т. е. за победу).
Но, допустим, ты проиграл.
Но опа - тогда в следующий раз ставишь уже 2 рубля.
Если выиграл - тогда выигрыш будет 4 рубля. То есть в итоге чистый выигрыш составил:
Но ничто не помешает поставить уже 4 рубля. Тогда при победе получается:
Не говоря уже о том, что дрочить кучу ставок ради 1 рубля может в итоге вылиться в определённые расходы (даже при максимальной автоматизации процесса).
Отредактирован nvc123
типо у нас можно делать деньги из воздуха и т.д.
сколько лохов уже прогорело на этом я даже считать не хочу