![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
rand()%100 - принимает целые значения [0..99], поделив на 100 получим [0..0.99]
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 31.12.2008
Сообщений: 634
|
![]()
ааа вот оно что .
Ладно . теперь я понял. кстати я сам сейчас провел опыт на кубике (6 граней) Код:
вот что получается Array ( [1] => 0.16678 [2] => 0.16645 [3] => 0.16662 [4] => 0.16679 [5] => 0.16667 [6] => 0.16669 ) Array ( [1] => 1.6666666666667E-6 [2] => 1.6666666666667E-6 [3] => 1.6666666666667E-6 [4] => 1.6666666666667E-6 [5] => 1.6666666666667E-6 [6] => 1.6666666666667E-6 ) А по теме . взяв во внимание твою функцию и материал Bustle я кажется понял как надо делать в общем комплексе. |
![]() |
![]() |
![]() |
#13 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
О! Попробуйте взять 2 игральные кости, а за случайную величину примите сумму выпавших граней. И посчитайте вероятности выпадения каждой суммы, результат будет интересный)))
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 31.12.2008
Сообщений: 634
|
![]()
Array
( [2] => 0.08325 [3] => 0.08332 [4] => 0.08342 [5] => 0.08339 [6] => 0.08332 [7] => 0.08341 [8] => 0.0833 [9] => 0.08316 [10] => 0.08353 [11] => 0.08323 [12] => 0.0833 ) Array ( [2] => 8.3333333333333E-7 [3] => 8.3333333333333E-7 [4] => 8.3333333333333E-7 [5] => 8.3333333333333E-7 [6] => 8.3333333333333E-7 [7] => 8.3333333333333E-7 [8] => 8.3333333333333E-7 [9] => 8.3333333333333E-7 [10] => 8.3333333333333E-7 [11] => 8.3333333333333E-7 [12] => 8.3333333333333E-7 ) |
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Нет, не то. Ты должен дважды кинуть один и тот же кубик по сути. Как-то так:
PHP код:
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 31.12.2008
Сообщений: 634
|
![]()
Тыкс, немного переделал скрипт
Код:
Array ( [2] => 0.02767 [3] => 0.05568 [4] => 0.08319 [5] => 0.11129 [6] => 0.13881 [7] => 0.16662 [8] => 0.13867 [9] => 0.11099 [10] => 0.08364 [11] => 0.05559 [12] => 0.02785 ) А это уже вероятность выдачи результатов Array ( [2] => 0.090909090909091 [3] => 0.090909090909091 [4] => 0.18181818181818 [5] => 0.18181818181818 [6] => 0.27272727272727 [7] => 0.27272727272727 [8] => 0.27272727272727 [9] => 0.18181818181818 [10] => 0.18181818181818 [11] => 0.090909090909091 [12] => 0.090909090909091 ) |
![]() |
![]() |
![]() |
#17 | ||
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 31.12.2008
Сообщений: 634
|
![]()
а их не может быть равным одному . Это вероятность выдачи результата.
Вот тут я даже пометил какие позиции Код:
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
Примерный алгоритм расчёта наносимого удара в моей игре в не автоматическом режиме:
- Получаем расстояние до противника. - Проверяем нет ли на пути преград. - Если есть преграда и это не игрок, то засчитываем промах. - Если есть преграда и это другой игрок, то выполняем расчёт для него. - Если преград нет и конечная цель противник, то случайным образом определяем точку удара (голова, руки, ...). - Рассчитываем коэффициент точности в зависимости от расстояния и точки удара. - Текущую точность игрока умножаем на полученный коэффициент и получаем точность попадания в противника на данном расстоянии. - Получаем случайное число от 1 до 100 и проверяем попадает ли оно в процент точности попадания в противника на данном расстоянии. - Если не попадает, то засчитываем промах. - Если попадает, то переходим к расчёту урона. - Из силы удара нападающего вычитаем сумму брони точки удара противника. Получаем урон. - Получаем случайное число от 1 до 100 и проверяем входит ли оно в процент разности шанса критического удара нападающего и защиты от крит.удара противника. - Если не входит, то критического удара нет. - Если входит, то умножаем раннее рассчитанный урон на коэффициент критического удара для данной точки удара и наносим его противнику. Для автоматического боя: - Рассчитываем разность силы удара и брони для противника и игрока. - Рассчитываем точность удара для противника и игрока без учёта расстояния. - Рассчитываем шанс критического удара для противника и игрока. - В цикле по очереди, начиная со стрелка, вычитаем из здоровья игроков критический и простой удар, если они не промахи. - Когда очередь нельзя продолжить (один из игроков умер), то бой заканчиваем и объявляем победителя. |
![]() |
![]() |
![]() |
#20 | |
Регистрация: 15.01.2012
Сообщений: 6
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
у юзера вопрос по браузерной игре | ИгорьЦЦЦ | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 5 | 02.12.2011 15:12 |
подредактировать античит к игре игре Nhl 09 (античит написан на дельфи) | Viper18 | Фриланс | 3 | 03.08.2011 17:37 |
Вероятность 60% | Editor | Общие вопросы Delphi | 9 | 03.02.2010 19:04 |