Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
-12 / 0 / 0
Регистрация: 25.07.2019
Сообщений: 43
1

Метеориты в консольной игре

21.08.2019, 16:00. Показов 793. Ответов 1
Метки нет (Все метки)

Например я хочу в своей первой консольной игре добавить пули или астероиды, чтобы они появлялись в разных краях карты и летели в случайном направлении до другого края карты.

Я думал что можно создать массив для хранение информации о метеоритах(например каждый i*3-3+1 элемент = координата по X, i*3-3+2 элемент = координата Y, i*3-3+3 элемент = направление, и переменная которая хранит значение о количестве метеоритов и цикл который будет выводить всё это. Я так недавно так делал когда делал игры в scratch. Но лучше попробую сделать c классами в C++, но у меня появились вопросы:

Если я например создам класс
C++
1
2
3
4
5
class meteorit
{
    private:
        double x, y;
};
и например каждую секунду появляются метеориты, то можно создать динамический массив который хранит объекты этого класса или выделять динамическую память под классы крч примерно так, если да то как?
Или надо каждую секунду надо создавать новые объекты класса, если да то как передать значение переменной "i" из функции for как название нового объекта класса meteorit?

буду рад за помощь
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2019, 16:00
Ответы с готовыми решениями:

Смерть персонажей в консольной игре
Добрый день. Для тренировки пишу консольную action rpg. Встал вопрос, как организовать корректно...

Обработка столкновений в консольной игре
Здравствуйте, продолжаю делать свою "терминальную"(консольную) игру на C#. Столкнулся с некоторой...

Как сделать анимацию или физику в консольной игре?
Всем привет) Я юный программист (мне 14) Вот пишу игру в косноле на C# что то ти по песочниц НЕ...

!ИГРА! метеориты
Нужна помощь. Облазил интернет но так и не смог получить нужную информацию. Нужно чтобы к данному...

1
3319 / 1899 / 366
Регистрация: 09.09.2017
Сообщений: 7,732
21.08.2019, 18:04 2
Цитата Сообщение от Bauka555 Посмотреть сообщение
Например я хочу в своей первой консольной игре добавить пули или астероиды
То есть основа движка уже есть?
Цитата Сообщение от Bauka555 Посмотреть сообщение
каждый i*3-3+1 элемент
Зачем такая сложная арифметика? Для каждого объекта создаете структуру вроде вашего класса:
C++
1
2
3
4
5
class Meteorit{
public:
  float x, y;
  float vx, vy;
};
Потом массив из таких структур (по идее, vector было бы лучше):
C++
1
2
Meteorit met[100];
size_t met_count = 10;
Тогда обращение к очередному метеориту будет просто
C++
1
met[i].x += met[i].vx;
Цитата Сообщение от Bauka555 Посмотреть сообщение
можно создать динамический массив который хранит объекты этого класса или выделять динамическую память под классы крч примерно так, если да то как?
Надежнее всего- статический массив. По крайней мере, на экране никогда не появится слишком много объектов.
Если не боитесь такой ситуации - упомянутый vector.
Если хотите в стиле Си - массив и переменная с текущим количеством или динамический массив (что хуже).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.08.2019, 18:04

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Задача "Метеориты"
Здравствуйте! Всех с праздниками! Помогите решить задачу! Ход решения мне ясен, интересует код....

Ошибка 0x000000101 , при игре 10 минутной игре в Dota 2, CS:GO
Имя события проблемы: BlueScreen Версия ОС: 6.1.7600.2.0.0.256.48 Код языка: 1049 ...

Как отлавливать нажатия клавиш в игре? Как их виртуально нажимать в игре?
Всем привет. Где-то месяц назад прочитал статью об каком-то парне, что сделал самообучающую...

По консольной графике
#include <iostream> #include <conio.h> #include <graphics.h> using namespace std; class...


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

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

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