Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BioNicle12
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 18
#1

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

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

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

В общем по делу, есть код, вычисление урона под определенными эффектами:
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 13:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Логика выражения (C++):

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

CTL логика - C++
Подскажите где искать литературу, у меня курсовая на тему : "Написать библиотеку классов функций реализующую CTL логику". Т.е. необходимо...

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

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

Логика switch - C++
Программа должна расчитывать количество проданного товара, суть проблемы, кода вместо численных значений в вариантах case я использую...

Логика использования typedef - C++
Всем привет! Постоянно в чужих кодах встречаю подобные конструкции: typedef enum _eOAuthHttpRequestType { eOAuthHttpInvalid =...

2
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
24.06.2013, 14:21 #2
линейка... Не проще взять этот расчет с птс сборки и скопипастить?
почему у тебя бафф у нпс дает меньще крита чем бафф от чара ?
0
BioNicle12
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 18
24.06.2013, 14:38  [ТС] #3
Было бы откуда брать, я бы взял)), вот что есть в данный момент, причем не особо понятно почему формулы крита и вициуса минусуются. Пока написал, вообще стал сомневаться что тут какая-то хитрая логика, просто кем-то наоте*ись написанное
pDamage = (pDamage)-bufflevel-(bufflevel*dmg_mod);
, думаю стоит просто поменять на плюс)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 14:38
Привет! Вот еще темы с ответами:

Неверная логика аппы - C++
#include <iostream> using namespace std; int main() { char a; cin.getline(a, 10); int i; for (i = 0;a!='\0';i++)...

Дан файл, содержащий текст и арифметические выражения. Выписать и вычислить все выражения - C++
Дан файл, содержащий текст и арифметические выражения вида a®b, где ® — один из знаков +, -, *, / . Выписать все арифметические...

Непонятная логика работы оператора new - C++
Нужно было освежить в памяти работу с оператором new. Использую Microsoft Visual Studio 2010 Express. Сделал простой пример, чтобы все...

недоработка С++ или ошибочная логика - C++
Помогите если возможно понять почему в моем коде нельзя проделать такую операцию: class First { int a; protected: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru