Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
vaselo
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
#1

Помогите с несложным алгоритмом

09.12.2011, 23:22. Просмотров 558. Ответов 1
Метки нет (Все метки)

Прошу помощи в разработке алгоритма.
Игра - астероиды.
все объекты игры заброшены в один вектор указателей на объекты. для каждого вызывается виртуальный метод.
необходимо, чтобы пули не обменивались уроном с кораблем (корабль - нулевой элемент вектора), а пули в ответ на любой урон возвращают 0
помогите составить кусочек алгоритма, где указывается, чтобы бились: астероиды с пулями, с кораблем и с другими астероидами, а корабль с пулями и пули с пулями биться не смогли
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void GamePlay:: Game()
{
        for(int i=0;i<Objects.size();i++)//в векторе хранятся все обьекты - пули, корабль, астероиды
                {
                        for(int j=i+1;j<Objects.size();j++)
                        {
                                int distance=sqrt(abs(Objects[i]->GetPosX()-Objects[j]->GetPosX())^2+abs(Objects[i]->GetPosY()-Objects[j]->GetPosY())^2);//высчитываю дистанцию
                                if((Objects[j]->SafeDistance()+Objects[i]->SafeDistance())<distance)//проверяю, является ли дистанция небезопасной
                                        {
                                                int t=Objects[i]->MakeDamage();
                                                Objects[i]->TakeDamage(Objects.at(j)->MakeDamage());//обмениваемся уроном
                                                Points+=Objects[j]->TakeDamage(t);
                                        }
                        }
                }
        if(Objects.size()==1 && AsteroidQu==7)//уничтожил 7 штук - на след. уровень
                  {
                  level++;
                  AsteroidQu=0;
                  }
        Draw();// отрисовали всю графику
        fly();// заставили все объекты пролететь
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 23:22
Ответы с готовыми решениями:

Помогите с несложным макросом.
Добрый день. Я тут впервые.Помогите решить несложную задачку. Изучать VBA...

Помогите с алгоритмом
Вот такая задача &quot;Определить вид треугольника (равносторонний, равнобедренный,...

помогите с алгоритмом +)
Огромная просьба! Очень нужна помощь в составлении блок-схемы алгоритмов. 1)...

Помогите с алгоритмом
F(a)+2F(a+h)+2F(a+2h)+...+2F(a+(N-1)h)+F(a+Nh). При F(x)=(x^2+1)(cosx*cosx)

Помогите с алгоритмом
Всем доброго времени суток.У меня есть проблема со следующим заданием: Дано...

1
XAHOK
267 / 260 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
12.12.2011, 09:21 #2
Можно в класс объекта добавить поле типа объекта (пуля, астероид и т.п.) и добавить проверку типов для объектов перед нанесением урона.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2011, 09:21

Помогите с алгоритмом
Нужно написать программу сравнения 3 чисел. Без использования массивов,...

помогите с алгоритмом!
Заполните пустые ячейки пирамиды числами так, чтобы каждое число, которое...

Помогите с алгоритмом
Даны координаты вершин двух трапеций. нужно проверить вложена ли одна трапеция...


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

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

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