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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Vld2050
-17 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 10
#1

Симулятор боя(Реализовать программу, позволяющую моделировать боевое столкновение двух противников, располагающих пехотой, танками и артиллерией) - C++

20.12.2012, 20:16. Просмотров 1321. Ответов 3
Метки нет (Все метки)

Симулятор боя. Реализовать программу, позволяющую моделировать боевое столкновение двух противников, располагающих пехотой, танками и артиллерийскими установками. Поле боя представляет собой двумерное пространство с размерами MxN, разбитое на ячейки. Каждая из боевых единиц (БЕ) обладает некоторым запасом «здоровья», боекомплектом, величиной урона, который она способна нанести противнику (зависит от типа противника), радиусом действия оружия и радиусом, в пределах которого она обнаруживает противника, а также скоростью передвижения (количество ячеек за один шаг игры). Одна БЕ в каждый момент времени занимает одну ячейку. Процесс моделирования пошаговый, на каждом шаге БЕ при необходимости передвигаются на нужное количество ячеек и, если возможно, производят атаку обнаруженного противника (атака производится по завершении перемещения). Перемещение производится по горизонтали и/или вертикали, непосредственное движение по диагонали – два шага. На первых шагах игры, когда противники находятся вне зоны видимости друг друга, движение должно осуществляться навстречу друг другу. Начальное расположение и соотношение сил задаётся произвольно (случайным образом, командной строкой, специальным файлом или любым другим способом). Отображение процесса реализуется произвольно (консоль, графический интерфейс).

Посоветуйте пожалуйста как лучше реализовать через классы. Где лучше хранить координаты, здоровье и т. д чтобы можно было к ним обращаться и изменять их. Даже не знаю с чего начать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 20:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Симулятор боя(Реализовать программу, позволяющую моделировать боевое столкновение двух противников, располагающих пехотой, танками и артиллерией) (C++):

Разработайте программу, позволяющую реализовать диалог пользователя с ЭВМ в виде шаблона двух типов: свободного и жесткого - C++
Разработайте программу, позволяющую реализовать диалог пользователя с ЭВМ в виде шаблона двух типов: свободного и жесткого.

Реализовать столкновение двух дисков на LibGDX - Графика и игры
Делаю 2D игрушку на андроид Аэрохоккей с помощью Java + LibGDX В общем имеются две дискообразные ракетки и шайба, нужно реализовать...

Разработать программу, позволяющую из двух матриц получить третью - Pascal ABC
Разработать программу, позволяющую из двух динамических целочисленных матриц получить третью в которой элементы главной диагонали равны...

Написать программу, реализующую абсолютно упругое столкновение двух шаров одинаковой массы - Pascal ABC
Написать программу, реализующую абсолютно упругое столкновение двух шаров одинаковой массы, движущихся на встречу друг друг ус одинаковыми...

Разработать программу, позволяющую из двух целочисленных матриц получить третью - Pascal
Разработать программу, позволяющую из двух целочисленных матриц получить третью в которой элементы расположенные ниже главной и выше...

Написать программу позволяющую получить из двух матриц третью матрицу - Turbo Pascal
Разработать программу, позволяющую из двух целочисленных матриц получить третью в которой элементы главной диагонали равны нуль, элементы...

3
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
20.12.2012, 21:16 #2
Я тоже новичок, поэтому возможно спецы будут кидаться тряпками критиковать. Но мыслями поделюсь, если интересно.
* * *
Предположу, что все БЕ, в принципе одинаковы, сиречь отличаются величиной урона-здоровья, но не имеют различных способностей (например, все стреляют по одной цели, артиллерия - по области). Далее, не вполне ясно, как урон зависит от типа противника.
В остальном, класс, полагаю, должен быть примерно таким
C++
1
2
3
4
5
6
7
8
9
10
11
class Unit
{
public:
    int mov, rad_see, rad_attack, damag; // неизменные характеристики: скорость,
    //движение, радиусы обзора и атаки и урон
    int *vit, *supply, *pos_x, *pos_y; // здоровье и боекомплект, координаты
public:
    void move(int *pos_x, int *pos_y) // функция перемещает юнит
    void attack(int attack, int damag, Unit target); // функция проверяет, досягаем ли
    //враг и шмаляет по нему
};
Остальное во многом зависит от того, как будет всё это отображаться, тут я только немного представляю SDL.
1
OstapBender
583 / 522 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
21.12.2012, 01:58 #3
Voroshek, интересно:
Цитата Сообщение от Voroshek Посмотреть сообщение
int *vit, *supply, *pos_x, *pos_y; // здоровье и боекомплект, координаты
зачем указатели?
0
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
21.12.2012, 10:14 #4
OstapBender не, ну в любом случае, передавать параметр в функцию по указателю.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2012, 10:14
Привет! Вот еще темы с ответами:

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

Реализовать столкновение шаров - C#
Добрый вечер. Есть программа, в которой два шара неупруго сталкиваются. Проблема в том, что в определенный момент шары догоняют друг...

Реализовать столкновение машин - Pascal ABC
нужно на паскале ABC сделать задачу чтобы чтобы две машины сталкивались друг с другом и в зависемости от заданной скорости они разлетались...

Реализовать столкновение объектов - C#
Помогите пожалуйста реализовать Столкновение обьекта Ris с Другими обьектами Ris1,Ris2,Ris3,Ris4 ..Чтобы после этого вылезало окно...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
21.12.2012, 10:14
Ответ Создать тему
Опции темы

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