bank = a[0][0]; a[0][0] = a[0][1]; a[0][1] = bank;
То же самое затем нужно выполнить с a[1][0] и a[1][1]. Можно ли, как-нибудь назначить им "общего родителя", к которому можно будет обратиться и проделать этот код для a[0][х] и a[1][х]? Если да, то интересно узнать реализацию. Steel Standoff - 2D аркада. Мои статьи
Сообщение отредактировал GameMix - Четверг, 23 Мая 2013, 18:24
stalker5889, рациональнее будет через for заменять 0 на 1. Что-то совсем уже устал видимо ))) Но всё-таки интересно, можно ли как-то по-другому? Steel Standoff - 2D аркада. Мои статьи
for (int i = 0; i < x; i++) Swap(a[i][0], a[i][1]);
Если нужно что-то иное, то я не до конца улавливаю мысль того, что нужно. C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
sem6666, с помощью getch() получаешь введеный символ, с помощью isdigit проверяешь является ли он цифрой. Многие вопросы по Windows отпадут, если посмотреть тут
Добавлено (24.05.2013, 18:28) --------------------------------------------- Как ими правильно воспользоваться getch(), isdigit никак не пойму Неужели ни кто с этим не может помочь завтра уже надо сдать зачёт
Добавлено (24.05.2013, 20:59) --------------------------------------------- Добавлю ещё, может кто сможет помочь с этим. На одном форуме нашёл и вставил:
Что бы вы использовали? Предположим, у нас много файлов с текстурами для игры, и есть два варианта их хранения: Создание большого количества переменных, наподобие: HTEXTURE gTexBackground, gTexPlayer, gTexBubble; Или же объявить константы с названиями текстур и хранить все текстуры в массиве? HTEXTURE gTexture[100]; gTexture[TEX_PLAYER] //Обращение к текстуре Anima Games Animan Publishing
Есть некий класс, скажем для 2д игры - это класс спрайта, в котором определены различные параметры-переменные и в том числе хендл текстуры. При создании спрайта указываем (в конструкторе, в методе инициализации, etc) из какого файла грузим текстуру. Путь до файла можно прописать хардкорно в коде, либо использовать какой-нить внешний файл с "конфигурацией" (доп. файл на спрайт или общее хранилище). C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
При создании спрайта указываем (в конструкторе, в методе инициализации, etc) из какого файла грузим текстуру.
Тогда одна и та же текстура будет загружена очень много раз. Animan2010 потому и хочет загрузить текстуру один раз, сохранить ее, и на ее основе создавать спрайты.
Цитата (Animan2010)
есть два варианта их хранения:
Мне больше первый вариант нравится. Можно для порядка в отдельный namespace их запихнуть
Код
namespace Textures { HTEXTURE TexPlayer; ... }
Многие вопросы по Windows отпадут, если посмотреть тут
Нохчи Текстурный менеджер будет расстроен, что его оставили без работы Там конечно есть небольшой оверхед, но для большинства спрайтов подходит в самый раз. Для динамики (частое создание \ удаление спрайтов) уже имеет смысл вынести текстуру отдельно и закэшировать... Имхо. C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Ещё одна проблемка =) В общем, не люблю когда при компиляции выскакивают предупреждения, ещё больше не люблю, когда выскакивают ошибки, но сейчас о предупреждениях: В общем, в func(float y) мне надо передать float-параметр. Но мне нужно абсолютное значение этого параметра, а abs() возвращает и принимает тип int. Так вот, когда я передаю этой функции func(abs(_MoveY)) выскакивает предупреждение о неявной конвертации float (_MoveY) в int. Ладно, напишу func(abs((int)_MoveY)). Теперь выскакивает предупреждение о конвертации int во float, так как func принимает float. Теперь напишу func((float)abs((int)_MoveY)). Но выглядит не очень симпатично =) Так что делать? Написать свой abs, или отключить к чертям эти предупреждения, или ещё что? Anima Games Animan Publishing
А приемлем ли такой стиль программирования в каких-нибудь "компаниях", будь то казуальщики или серьезные ребята?
К примеру, есть SceneManager, там стек сцен, в этот стек добавляются сцены и обрабатывается первая в списке. Но при добавлении сцены не передаются никакие параметры, а нужна временная информация хранится в глобальных переменных. К примеру, в сцене меню кликаем на "Новую игру", и происходит что-то такое:
_Manager->AddScene("Game");
_Manager - указатель на менеджер сцен. AddScene добавляет сцену в зависимости от типа, сейчас это Game - игра.
А в AddScene происходит лишь:
cScene* NewScene; if(param == "Game") NewScene = new cSceneGame; _SceneStack.push_front(NewScene);
А уже при создании сцены игры в конструкторе сцены игры происходит загрузка уровня, в зависимости от значения глобальной переменной gCurrentLevel.
Так вот, такая структура кода приемлема или нужно нечто более изощренное, чтобы стать "продвинутым" программистом? Anima Games Animan Publishing