![]() |
|
Модераторы: Rickert |
![]()
|
|
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Доброго времени суток.
Пишу стартегию пока все просто есть 2 обекта танк и солдат.и метод в котором сражаются эти обекты.(метот в базовом классе) В методе сраженя надо вычислить все свойство этиx обектов т.е мощность,скорость...... и т.д. и возвротить резултат какой из обектов победил. Вопрос. По каим принцыпам делается это? P.S в какой книге можно прочитать про это? --------------------
|
|||
|
||||
| DarlkElfTen |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 16.3.2006 Репутация: 1 Всего: 1 |
кхм..
итак мой совет..как самого закоренело седока в этой теме(и я кстати тиже потом нечто такое придумаю) у нас есть два объекта со сходными характеристиками и своствами напрмер атака броня и жизни как вариант можно придумать формулу вычиляющую мощность(условно) объекта - "M" тогда изходя из этих трех параметров наша переменная будет равна M=Unit.Atack +Unit.Health*k1+(Unit.Armor-Unit.Attack*k1)*k3 ult kn -коеффицент умножения естесно это далеко не единственный способ..можно высчитывать опр. показтели урона и наносить его жизням..высчитать у кого жизни закончаться первыми и тот проиграл.. еще написать? Это сообщение отредактировал(а) DarlkElfTen - 28.10.2006, 17:29 --------------------
"Две башни" |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
DarlkElfTen,
скин если не трундно доки по теме Добавлено @ 20:56 DarlkElfTen,
напиши если врея есть будет интересно --------------------
|
||||
|
|||||
| DarlkElfTen |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 16.3.2006 Репутация: 1 Всего: 1 |
дык тут же вся идея...
доков у меня нет..мой моск-моя прелесть..а алгоритм примерный расписал..тот что я тее написал подробно не очень(но ты сам просил его описать))) а вот со вторым про урон - сам ниасилишь?? если нет, то тоггда могу завтра подумать, сеня-уже спать...) --------------------
"Две башни" |
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
DarlkElfTen,
буду рад новым идеям --------------------
|
|||
|
||||
| DarlkElfTen |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 16.3.2006 Репутация: 1 Всего: 1 |
*скромнеько*репу бы дал
а по теме: у меня для мой игры была пара формул расчета урона в зависимости от несолкьих характеристик(только урона а не конечного нанносимого) т.е. шанс на критический итд там простая формула...далее мы вычитаем процент брони с умножением на коеффициент K где K= 100%:тип брони относительно такого то равен <1> ... итд понимаешь примрено мои сумбурные речи?) --------------------
"Две башни" |
|||
|
||||
| dereyly |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
-Чем отличается бездарность от гения
-Бездарность копируют чужие идеи, а гений ворует (с) к примеру.... http://www.dota.org.ua/articles/dota_mathematics.html |
|||
|
||||
| dereyly |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
Или вы хотели что то такое невнятное увидеть
RedUnit[1].type=tank; BlueUnit[1].type=camikadze; %цикл скорее всего от времени BlueUnit[1].hp=BlueUnit[1].hp - RedUnit[1].atack/(BlueUnit[1].ArmorReiting-ReUnit[1].ArmorPierсing(BlueUnit[1].type) ) RedUnit[1].hp=//тоже самое if (BlueUnit[1].hp<=0) BlueUnit[1].destroy; if (RedUnit[1].hp<=0) RedUnit[1].destroy; Это сообщение отредактировал(а) dereyly - 29.10.2006, 01:39 |
|||
|
||||
| DarlkElfTen |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 16.3.2006 Репутация: 1 Всего: 1 |
Не понял фразы)))
зы: такие вещи не ворются а перепридумываются.. и нафига нам гайды по доте..кстати, не знал, что ты играешь в вариег..даже не предпологал)))
типично...и не очень грамотно т.к. так придется писать ля аждого объекта..кароче более гибкая формула подошло бы)) зы: в варе хорошая система урона там и спеллыы и простая защита и защита от заклинаний)) --------------------
"Две башни" |
|||
|
||||
| dereyly |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
да вообще я не претендовал на хорошее качество, влом думать вообщем было, но подумал может для примера стоит написать что нибудь латинецей
Из жизней танка вычитаются повреждения которые наносятся за один такт допучстим юнит атакует раз в секунду... эффективные повреждения: повреждения наносимые пехотой делятся(домножаются) на некий коэффициент эффективной брони коэффициент эффективной брони (BlueUnit[1].ArmorReiting-ReUnit[1].ArmorPierсing(BlueUnit[1].type) ) -- это броня минус функция зависящая от типа брони... т.е если у танка броня 10 а коэффициент пробивания брони у автоматов 0, у гранат допустим 7 (можно в процентах 70% или комбинировано 4 и 50% -- (10-4)*0.5).... ну всё это грубо как было замечено я про то что есть два подхода 1) делать громоздкие форомулы по расчету повреждения в зависимости от брони и оружий которые пробивают эту броню 2) или нормализовать (как в приведенной ссылке) эфф_жизни=жизни*(1+0.06*броня) Это сообщение отредактировал(а) dereyly - 29.10.2006, 14:35 |
||||
|
|||||
| DarlkElfTen |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 16.3.2006 Репутация: 1 Всего: 1 |
ну в псчем там тоже неплохо)))
хотя я бы выбрал первый вариант..кстати там не так уж и громздко.. если мы когданиьт игру доделаем,то там вы увидите..урон зависит от брони участа попадания(если на нем нету брони)))) --------------------
"Две башни" |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Есть 2 юнита танк и армия.Вычисление боевых единиц я зделал так.
Изначально get методами получаем начальные значения боевых единиц . Просьба дать оценку или можно даже поправки внести
--------------------
|
||||
|
|||||
| dereyly |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
Несовсем понятны некоторые вещи
1) Если мы вычисляем Accuracy, то неплохобы разыграть попал или не попал при выстреле... 2) m_Armor одновременно и защита в процентах снимающаю повреждения return m_Power - (m_Power * m_Armor); и жизни if(m_Armor < 0)... если броня пробита то это незначит что танк взорван... тогда лучше как в Орионе ввести понятие Structure |
|||
|
||||
| DarlkElfTen |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 16.3.2006 Репутация: 1 Всего: 1 |
а про стракчюр подробнее плиз)
я в орион не играл) Добавлено @ 15:09
не понял что это дает... мы возратим ноль если M_Armor в процентах = 100 а смысл? судя по тому , что я понял m_Power - жизни а m_Armor -процент брони?? в обчсем я что-то не допер..можешь разъясниить значения всех этих параметров..мой маленький мохг долго доходит --------------------
"Две башни" |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
dereyly,
если броня пробиата то она 0 а если менше 0 а то юнит гроxнут.не так? --------------------
|
||||
|
|||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |