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

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

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

Работа с динамическим массивом - C++

15.12.2013, 18:01. Просмотров 219. Ответов 0
Метки нет (Все метки)

В программе есть динамический массив класса Enemy. И есть функция, которая при попадании стрелы во врага проверяет жив ли он после попадания, если мертв, то уменьшает переменную en_kol (количество врагов) на 1. Проблема в том, что если стрела пересекается с первым врагом (нулевым элементом массива), то количество врагов сразу падает до нуля. С остальными элементами все нормально. В чем может быть ошибка? Вот код столкновения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i =1 ;i<en_kol;i++){
            if (arrow.rect.top>en[i].rect.top-30 && arrow.rect.top< en[i].rect.top+30 && arrow.rect.left> en[i].rect.left-30 &&  arrow.rect.left< en[i].rect.left+30){/*условие столкновения*/
            arrow.fly = 0;
            arrow.rect.left = -800;
            arrow.rect.top = -800;
            en[i].hp -= 20;
        }
                        if (en[i].hp<=0){
                            en[i].checklive();
                            std::cout<<en_kol<<std::endl;
 
                        }
}
Вот код функции checklive

C++
1
2
3
4
5
6
void checklive(){
            en_kol--;
            rect.left = -200; /*координата по х*/
            rect.top = -200; /* координата по у*/
            live = 0; /*Враг объявляется мертвым*/
    }
Добавлено через 1 час 56 минут
актуально

Добавлено через 2 часа 10 минут
Актуально

Добавлено через 40 минут
PS. Цикл в первом коде начинается с нуля, тут опечатка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 18:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Работа с динамическим массивом (C++):

Работа с динамическим массивом - C++
Дано: динамический двумерный массив. Определить сумму всех элементов (с помощью функции, массив и его размерность передать в качестве...

Работа с динамическим массивом - C++
Помогите, пожалуйста. В чем проблема? Компилирует, но выполнять не хочет. Надо вставить элемент в конец динамического массива, удалить...

Работа с динамическим массивом структур - C++
Односвязный список. Проблема (скорее всего) в строке ListPoint1 = pointer; Pointer использую как временный элемент, чтобы потом записать...

Работа с динамическим двумерным массивом - C++
Написал код. В двумерном массиве 5х5 находится максимальное значение каждой строки и затем минимальное из них. Необходимо указывать...

Работа с матрицей, представленной динамическим массивом - C++
Есть задание: Написать программу, которая осуществляет добавление, удаление строки или столбца в любое место двумерной матрицы по выбору...

Работа с динамическим массивом: три варианта инициализации в отдельной функции - C++
Не правильно выводит cout &lt;&lt; &quot;1 елемент массива: &quot; &lt;&lt; mainArray &lt;&lt; endl; В чем проблема? Спасибо. #include &lt;iostream&gt; #include...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2013, 18:01
Привет! Вот еще темы с ответами:

Работа с динамическим массивом (Упорядочить его по возрастанию элементов в каждом столбце) - C++
Дан массив L,размером n*m.Упорядочить его по возрастанию элементов в каждом столбце. Программа работает наоборот,упорядочивает в...

Странность с динамическим массивом - C++
Меня в тупик поставило следующая ошибка (&quot;Название исполняемого файла&quot; has triggered a breakpoint.) В данном простеньком коде. Кто...

Класс с динамическим массивом - C++
доброго времени суток! помогите мне немножко: создать клас vector для сохранения массиву, розмеры от 10 до 10к, память виделите...

Проблема с динамическим массивом - C++
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int l,r,i=0,j=0,k=0,k1=0,k2=0,x=2,z=1;int ost; int...


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

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

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