Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2011, 01:52   #1
VmanMaslov
Форумчанин
 
Аватар для VmanMaslov
 
Регистрация: 12.06.2011
Сообщений: 115
Печаль Создаю игру, проблема с массивом в С++

Доброго времени суток.
Пришла интересная идея по созданию консольной игры в С++, однако столкнулся с проблемой...
Прежде делал игры с продвижением только вперед, для чего мне нужен был трехмерный массив, и инициализировал я его подобным образом:
Код:
char map[levels][23][70] = {"XXXXX", // 69 иксов в каждой строке
                                       "X     X", // 22 столбца
                                       "XXXXX", // и снова 69 иксов в каждой строке после всех столбцов
                                       "XXXXX",
                                       "X      X",
                                       "XXXXX", // после чего повторяем такую штуку levels - раз.
                                       };
Однако теперь мне нужно, чтобы игрок двигался во все стороны карты. Как по бокам, так и вверх\вниз. Прежде для передвижения с одной карты в другую и назад просто меняв параматр level, теперь как поступить? Четырехмерный массив? Тогда как инициализировать его подобным образом? Заранее спасибо.
Men do it in ASCII!
VmanMaslov вне форума Ответить с цитированием
Старый 17.11.2011, 18:47   #2
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Цитата:
для чего мне нужен был трехмерный массив
Вот именно зачем он нужен . Когда двух мерного хватит.

Код:
char char gcMap[50][50];
к примеру. Вообще я люблю так инициализировать.

Код:
void Init() {
  for (byte b=0; b < 50; b++)
        gcMap[b][b] = 0, 0;  //тут тебе решать чем инициализировать 
};

а вот тут ты должен очистку карты сделать и также сделать что-бы не которые загруженные символы не очищались

Код:
void ClearMap() {
 ...
};

Последний раз редактировалось VintProg; 17.11.2011 в 20:20.
VintProg вне форума Ответить с цитированием
Старый 17.11.2011, 23:46   #3
VmanMaslov
Форумчанин
 
Аватар для VmanMaslov
 
Регистрация: 12.06.2011
Сообщений: 115
Смех

О_О никогда подобного не видел... можешь кинуть ссыль на какую нибудь статью, где подобное пордобно описываеться?
Men do it in ASCII!
VmanMaslov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создаю игру (ищу команду) Михаил К Gamedev - cоздание игр: Unity, OpenGL, DirectX 81 10.11.2015 17:27
Создаю игру AndreyX Фриланс 12 06.07.2010 17:13
Создаю 2D игру файтинг, нужен фотошопер Deamonig Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 21.09.2009 15:34
Создаю 2D игру Deamonig Gamedev - cоздание игр: Unity, OpenGL, DirectX 22 20.09.2009 17:23