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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 12:48   #1
marales
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 22
Смущение Карты

Создаю карточную игру. Колода из 108 карт. Подскажите пожалуйста как лучше сделать: Как лучше создать карты, чтобы можно было легко картинки перемещать по форме, уничтожать их, и заносить в них информацию. Пробовал создавать динамический массив из собственного класса( информация + Timage), пробовал просто отдельно делать массив данных о картах и массив Timage, советовали TimageList, но мне кажется одно и тоже что отдельный массив картинок. Все 108 image создавать тоже не вариант, тем более я не смогу занести информацию о них. Подскажите с чего начать, чтобы было удобно полностью контролировать колоду. Игроки также будут иметь массив карт, поэтому нужно чтобы перемещать элементы массива при удалении какой то карты и т.д.
marales вне форума Ответить с цитированием
Старый 16.01.2013, 13:38   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

http://programmersforum.ru/showthread.php?t=225087
Пример вот в соседней теме.

Я бы предложил обычным образом - массив TBitmap (или его близкий аналог TImagelist , который большей автоматизацией оснащён) - в них занесены только картинки. А в классе/записи карты лишь игровая инфа - положение, признак у кого карта. Для картинки - сам номер картинки(из имейджлиста) или прямо поле типа TBitmap, которое будет ссылкой на реальную картинку из массива битмапов. Таким образом сами картинки будут "отвязаны" от игровой логики, а только при отрисовке надо использовать их.
phomm на форуме Ответить с цитированием
Старый 16.01.2013, 14:25   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от phomm
Я бы предложил обычным образом - массив TBitmap (или его близкий аналог TImagelist , который большей автоматизацией оснащён) - в них занесены только картинки. А в классе/записи карты лишь игровая инфа - положение, признак у кого карта. Для картинки - сам номер картинки(из имейджлиста) или прямо поле типа TBitmap, которое будет ссылкой на реальную картинку из массива битмапов. Таким образом сами картинки будут "отвязаны" от игровой логики, а только при отрисовке надо использовать их.
Категорически согласен. +1

Нужно отвязывать внутренность игры (как карты представлены внутри кода, какие карты имеются в игре, какие у них аттрибуты, где карты находятся, правила взаимодействия между картами и т.д. и т.п.) от ВИЗУАЛИЗАЦИИ!
просто игровая логика и прорисовка карт (перетаскивание, анимация) и т.д. и т.п. - это абсолютно разные вещи. (они, конечно, связаны через ID карты (читай "через номер карты в колоде", читай "через номер рисунка в ImageList", читай "через ID ресурса" и т.п.). Более того, подобное разделение позволит менять колоду на другую в случае необходимости (вплоть до того, что пользователь сам себе нарисует свою колоду карт со своими "рубашками").

Ну всё равно как задумываться о том, какие обои будут в доме в момент закладки фундамента, планирования и строительства жилого дома...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.01.2013, 15:03   #4
marales
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 22
По умолчанию

Всем спасибо попробуем!
marales вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищем специалиста(смарт-карты,бонус.карты и т.п) modob1 Фриланс 3 20.01.2012 11:09
элетронные карты Наталья_4 Помощь студентам 0 04.10.2010 21:46
игра в карты imperceptible4462 Помощь студентам 11 18.09.2010 07:57
Карты - начинающий Scheres HTML и CSS 7 22.07.2009 10:30
Интерактивные карты? myxaxa41 Свободное общение 2 13.02.2009 15:54