Как сделать рандомное число это понятно
Но, при создании нестандартной способности например Сильный удар, возникает проблема возникает проблема
Допустим поставим на карту 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 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
25
Я сделал вот так
exitwhen i > 10
Что же это значит?
Что ты идиот.
21
Лооооооооол, я ту так распинался, а когда нажал отправить комментарий, почему-то отправился не полностью 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:
Что ты идиот.
Конструктивно
Правда, я всё же хотел бы узнать, что же ты там увидел
Кроме необоснованного обзывательства
15
Но вот это, конечно угар знатный.
Может есть какая-то наука случайностей, я не знаю
Такая наука действительно есть - Теория вероятностей. Ты не один с нее угораешь. С недавних пор этот предмет является частью ГИА и дается многим девятиклассникам довольно туго.
Ну не суть.
И если в твоей карте 99%шанс абилка не прокнет за 100000 раз ни разу, то я не знаю, работает ли она у тебя вообще? И зачем такую карту придумывать?
Можешь дать юниту критический удар с шансом 99% и ждать, когда он нанесет к ряду миллион ударов без единого крита. Когда-нибудь это случится. Может сразу, а может через триллион лет. Но это случится. Просто подожди.
Или давай перефразируем описание способности - 1% шанс НЕ нанести критический удар.
Но это уже оффтом, ибо добавить нечего. Все необходимое уже объяснили.
21
GetLocalPlayer:
Но вот это, конечно угар знатный.
Может есть какая-то наука случайностей, я не знаю
Такая наука действительно есть - Теория вероятностей. Ты не один с нее угораешь. С недавних пор этот предмет является частью ГИА и дается многим девятиклассникам довольно туго.
Ну не суть.
И если в твоей карте 99%шанс абилка не прокнет за 100000 раз ни разу, то я не знаю, работает ли она у тебя вообще? И зачем такую карту придумывать?
Можешь дать юниту критический удар с шансом 99% и ждать, когда он нанесет к ряду миллион ударов без единого крита. Когда-нибудь это случится. Может сразу, а может через триллион лет. Но это случится. Просто подожди.
Или давай перефразируем описание способности - 1% шанс НЕ нанести критический удар.
Но это уже оффтом, ибо добавить нечего. Все необходимое уже объяснили.
Бредятина, пока короч
Я уже хочу карту поделать
Про науки я и так знаю
Лол
Но про случайную случайность вот это угар
25
Proshel_Doty, я там процитировал все необходимое.
Твой диагноз: ГУМАНИТАРИЙ.
21
Ага вот это посчитал гуманитарий)
Proshel_Doty:
Вот посмотрим рандом любимого Варкрафта
Не знаю, как он работает, но он работает логично
И так, Ряд 1
смотрим значения
4 2 4 1 13 4 6 1 2 - разы, когда
Ты пишешь бред полный и это факт
26
Рандом, это рандом, никакой закономерности
Если ты проведёшь НОРМАЛЬНЫЕ тесты, то увидишь что реальное число срабатывающих раз равно шансу. Вот и всё.
28
Proshel_Doty, иди учи тер вер
если тебя не устраивает то как работает здравый смысл то убей себя
если тебе повезёт то ты переродишься в мире который тебя устраивает
если хочешь чтобы срабатывала каждые 5 раз то это не случайность а тупо счётчик
Этот комментарий удален
25
Тебе следует прочитать получше, что я хочу сделать, там по выше
Да все прекрасно поняли, что ты хочешь чтоб при шансе 20% у тебя из 10 ударов выпадало 2.
Тебе на первой странице раз 10 объяснили как это сделать.
Создаешь 2 целочисленные переменные. В переменную А заносишь кол-во ударов, в переменную В - срабатывания твоего баша.
Если А>8 и В=0, то активируешь эффект твоего баша.
Если А>9 и В=1, то активируешь эффект твоего баша.
Если А=10 - обнуляешь А и В.
И перестань уже привязывать к этому своему желанию слово "рандом". Ты даже не понимаешь что оно значит.
21
Всё-таки еще раз подумалось про мартингейл в связи с сабжем.
Если кто не знает, это метод игры на повышение ставок, предполагающий следующие условия:
  • шанс выиграть 50% или хотя бы незначительно меньше;
  • при проигрыше ты теряешь всё, при выигрыше забираешь вдвое больше ставки;
  • можно ставить неограниченные суммы;
  • можно играть сколько угодно.
Суть проста. Вначале, допустим, ставишь 1 рубль.
Если ты выиграл, то получаешь 2 рубля. Таким образом, получается, что ты выигрываешь 2-1 = 1 рубль. Всё ок, рубль из воздуха (ну, т. е. за победу).
Но, допустим, ты проиграл.
Но опа - тогда в следующий раз ставишь уже 2 рубля.
Если выиграл - тогда выигрыш будет 4 рубля. То есть в итоге чистый выигрыш составил:
  • 4 рубля минус 2 (вторая ставка) и минус еще один (первая ставка, в которой мы проиграли). То есть опять получился рубль из воздуха!
Но можно и при шансе в 50% проиграть два раза подряд, этого, думаю, и ТС отрицать не будет.
Но ничто не помешает поставить уже 4 рубля. Тогда при победе получается:
  • выигрыш 8 рублей, а сумма ставок: 4+2+1 = 7 рублей. То есть мы снова получили рубль из воздуха!
А при трёх проигрышах подряд можно поставить уже 8; а при четырёх - 16 и т. д., чтобы, когда наконец выиграешь, отыграть всё слитое и поиметь ещё 1 рублик сверху (суммы минимальной ставки и итогового выигрыша можно увеличивать, если хочется, но это доп. риск; главное - чтобы при проигрыше новая ставка всегда была вдвое выше предыдущей).
Проблема очень простая: возможность бесконечно повышать ставку. Вот когда-нибудь, ТС будет шокирован, но пройдёт даже 19 проигрышей подряд, а более 1 млн рублей (а именно столько нужно, по-моему, чтобы сделать двадцатую ставку при базовой ставке в 1 рубль, беглый просчёт на калькуляторе, мб ошибка) может банально и не быть :D
Не говоря уже о том, что дрочить кучу ставок ради 1 рубля может в итоге вылиться в определённые расходы (даже при максимальной автоматизации процесса).
НО всё-таки, отчасти в поддержку ТСа, даже в наше время многие брокеры, казино и т. д. предотвращают использование мартингейла правдами и неправдами, потому что он действительно достаточно сильный риск для них.
И отчасти снова же в его поддержку - вроде как были семьи, сделавшие себе богатства именно так. Хотя кто может быть полностью уверен, что не имело место некое мошенничество уже с их стороны или просто достаточная удача (а удачей и тот же миллион сразу теоретически можно сделать, просто поставив другой миллион и всё).
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.