Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 18
1

Логика выражения

24.06.2013, 13:58. Показов 498. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Изучать С начал недавно, изучение изучением, а вопрос текущий назрел и в литературе когда появится ответ, не особо известно)

В общем по делу, есть код, вычисление урона под определенными эффектами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
                            if (CSharedDatA != NULL) 
                            {
                                int bufflevel = 0;
                                double dmg_mod=0;
 
                                //dance of fire npc buff
                                bufflevel  =FindBuffINSharedData(pAttacker,CSharedDatA, 10008); //NPC buff dance of fire
                                if (bufflevel > 0) dmg_mod = 0.35;
                                //dance of fire
                                bufflevel  =FindBuffINSharedData(pAttacker,CSharedDatA, 274); //dance of fire
                                if (bufflevel > 0) dmg_mod = 0.5 ;
 
                                //crt_dam 
                                bufflevel=critical_damage_dmg(pAttacker,6);
                                if (bufflevel > 0) pDamage = (pDamage)-bufflevel-(bufflevel*dmg_mod);
                                //vicious stance
                                bufflevel=vicious_stance_dmg(pAttacker,5);
                                if (bufflevel > 0) pDamage = (pDamage)-bufflevel-(bufflevel*dmg_mod);
 
                                // Death Whisper buff 
                                bufflevel  =FindBuffINSharedData(pAttacker,CSharedDatA, 1242);
                                if (bufflevel>0) pDamage = (pDamage)*(1+ (bufflevel+0.1)/20); //damage increase percent
 
                            }
 
                    } else {
                        return;
                    }
Помогите понять логику данного выражения, я пока пытался это сделать, что-то запутался =), как так может идти 2 похожих присваивания и затем использование их же далее, какое значение куда подсовывается? Я, если честно, вообще не понимаю как это может работать, но код не мой и почти работает))
Но работает оно с ошибкой, если одновременно использовать 2 эффекта, то получается не увеличение, а обратное.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2013, 13:58
Ответы с готовыми решениями:

Логика switch
Программа должна расчитывать количество проданного товара, суть проблемы, кода вместо численных...

Нечеткая логика
Здравствуйте. Помогите пожалуйста с програмкой.

C++ мат. логика
НАПИШИТЕ прогу pleas (желательно самый оптимальный вариант): дани число n и а=1, а можно умножать...

CTL логика
Подскажите где искать литературу, у меня курсовая на тему : "Написать библиотеку классов функций...

2
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
24.06.2013, 14:21 2
линейка... Не проще взять этот расчет с птс сборки и скопипастить?
почему у тебя бафф у нпс дает меньще крита чем бафф от чара ?
0
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 18
24.06.2013, 14:38  [ТС] 3
Было бы откуда брать, я бы взял)), вот что есть в данный момент, причем не особо понятно почему формулы крита и вициуса минусуются. Пока написал, вообще стал сомневаться что тут какая-то хитрая логика, просто кем-то наоте*ись написанное
pDamage = (pDamage)-bufflevel-(bufflevel*dmg_mod);
, думаю стоит просто поменять на плюс)
0
24.06.2013, 14:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2013, 14:38
Помогаю со студенческими работами здесь

Условия и логика
Доброго времени суток! Подскажите , почему на выводе 1 ? Желательно поподробнее! Заранее благодарен...

Логика программы
Всем доброго времени суток! Помогите, пожалуйста, понять логику программы (код дан целиком) по теме...

Логика
Всем привет. Есть задачка. Аркадий, Борис, Николай и Владимир развлекались перетягиванием каната....

Логика,(if/else)
ввод двух значений, и вывод суммы их модулей. double a,b,c,d,S; a=StrToFloat(Edit1->Text);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru