Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диаграмма классов. Нужен совет. 
:(
    Опции темы
mes
Дата 31.12.2010, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  30.12.2010,  23:04 Найти цитируемый пост)
Как-то так?

что за связь на схеме между врагом и плеером ?



--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Это наследование. Игрок и Враг оба имеют общие поля такие как Х, У, Сдвиг Х, Сдвиг У, Ссылка на Карту. Потому я решил, что проще унаследовать Врага, чтобы не повторять класс. А для абстрактного класса я посчитал он тут будет нецелесообразным т.к. нет никакого полиморфизма.

Вот насчет Рисовальщика, будет получать, Канву для отрисовки и ссылку на Игру. Хорошо, а его тогда лучше сделать френдом для Игры? Потому что эти поля Игрок, Враг, Карта, явно будут в секции Приват, хотя можно сделать методы чтобы их получить, но, как и в прошлый раз я не придумал ничего умнее как засунуть массив с картой в Паблик, по тому что же некак возвращать из функции многомерный массив.
PM MAIL   Вверх
mes
Дата 31.12.2010, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  00:23 Найти цитируемый пост)
Это наследование.

вопрос был не об этом smile

Цитата(TGrey @  31.12.2010,  00:23 Найти цитируемый пост)
Игрок и Враг оба имеют общие поля такие как Х, У, Сдвиг Х, Сдвиг У, Ссылка на Карту. 

да но игрок не является врагом.. поэтому если есть общий предок, определите для него свой тип..

Добавлено через 2 минуты и 3 секунды
Цитата(TGrey @  31.12.2010,  00:23 Найти цитируемый пост)
 А для абстрактного класса я посчитал он тут будет нецелесообразным т.к. нет никакого полиморфизма.

классная причина  smile  smile

Добавлено через 3 минуты и 39 секунд
Цитата(TGrey @  31.12.2010,  00:23 Найти цитируемый пост)
Хорошо, а его тогда лучше сделать френдом для Игры? 

зачем ?
Цитата(TGrey @  31.12.2010,  00:23 Найти цитируемый пост)
 Потому что эти поля Игрок, Враг, Карта, явно будут в секции Приват

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

Добавлено через 5 минут и 21 секунду
Цитата(TGrey @  31.12.2010,  00:23 Найти цитируемый пост)
, по тому что же некак возвращать из функции многомерный массив. 

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



--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Ну так а там между ними больше и нет связей?) В чем тогда был вопрос?

Да, Игрок не является Врагом. Я так тут подумал, что по идее наследование это расширение одного класса за счет другого, а у меня тут сужение получилось) Во Врага переходят все Протектед поля, а Приват остаются у Плеера. Видимо, правильнее было бы наследовать Игрока от Врага) Общего предка нет. Не знаю, как вы, но я в нем просто смысла не вижу. Если он будет, тогда получиться, что класс Игрок от него наследуется и действительно расширяется, за счет своих характерных полей таких, как Жизни, Очки... А у Врага таких полей нет, выходит, что он просто будет дублировать поля. И смысл тогда от предка.

Причина классная)) У меня тут ничего не виртуалится зачем еще усложнять)

Ну я и спрашивал, Френдом, либо интерфейс дописать, чтобы получить поля)


На счет последнего, я верно понял? Засунуть массив с картой в структуру и через функцию возвращать ссылку на эту структуру?
PM MAIL   Вверх
mes
Дата 31.12.2010, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  09:57 Найти цитируемый пост)
. Видимо, правильнее было бы наследовать Игрока от Врага) 

тоже не верно.. 

Цитата(TGrey @  31.12.2010,  09:57 Найти цитируемый пост)
 Общего предка нет. Не знаю, как вы, но я в нем просто смысла не вижу.

ну смотря как представляете.. 

Цитата(TGrey @  31.12.2010,  09:57 Найти цитируемый пост)
 что класс Игрок от него наследуется и действительно расширяется, за счет своих характерных полей таких, как Жизни, Очки... А у Врага таких полей нет, выходит, что он просто будет дублировать поля.

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



--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Ээээ, а где же он тогда? Видимо в том, что писал я, они все на поле.
PM MAIL   Вверх
mes
Дата 31.12.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  09:57 Найти цитируемый пост)
Причина классная)) У меня тут ничего не виртуалится зачем еще усложнять)

1. никто не предлагал делать виртуал.. 
2. Наследование Вы сами зацепили, я не предлагал даже его..
3. выделить отдельный тип можно не только в предка, но в агрегируемый тип..

Добавлено через 1 минуту и 44 секунды
Цитата(TGrey @  31.12.2010,  10:32 Найти цитируемый пост)
Видимо в том, что писал я, они все на поле. 

ну давайте еще раз повторим кто у нас на поле .. начинайте.. я буду подправлять.. 
(без кода, просто словами)


--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Как вы говорили - фишка. Лежит себе, где-то никого не трогает. Фишка содержит в себе координаты на поле. Вот так и у меня мои классы содержат свои координаты на поле. А класс игрока к этому у меня еще и содержит Очки и Жизни. Выходит, что фишка содержит Координаты + доп. данные. Я тогда не совсем понимаю, что подразумевается под игроком, который не на карте.
PM MAIL   Вверх
mes
Дата 31.12.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  10:39 Найти цитируемый пост)
Я тогда не совсем понимаю, что подразумевается под игроком, который не на карте. 

не только игрок, но и враг, тот который хранит информацию не нужную для поля, и самого "ядра игры"..
и посредством которого осуществляется перемещение принадлежащей фишки... 





--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Так у меня таких нет) Выходит, что у меня все - Фишки)
PM MAIL   Вверх
mes
Дата 31.12.2010, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  10:47 Найти цитируемый пост)
Так у меня таких нет) Выходит, что у меня все - Фишки) 

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

враг - класс с АИ для управления фишкой.. 



--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Так, а что тогда получается Фишка? Если класс Игрок это игрок который не на поле? То фишка это даже не объект? Это просто определение того, что рисуется на канве по координатам полученным из класса Плеер?
PM MAIL   Вверх
mes
Дата 31.12.2010, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



и уже выше проскальзовало.. но еще раз заострю.. 
поле с фишками это не игра, а "ядро игры" - предполагаю playing, но тут надо подумать..

Добавлено через 4 минуты и 16 секунд
Цитата(TGrey @  31.12.2010,  11:14 Найти цитируемый пост)
Так, а что тогда получается Фишка?

любой "чудик" на поле .. ( в идеале не только чудики, но и все другие "полевые" объекты)
она не знает куда и как перемещаться, но знает где находится и хранит импульс и другую необходимую инфо..

Добавлено через 7 минут и 20 секунд
фишка имеет два интерфейса управления.. один задающий направление, другой осуществляющий непосредственное перемещение.. 
первый это гуи или аи, в зависимости чья фишка своя или врага, а второй это контроллер игры..

Добавлено через 10 минут
Цитата(TGrey @  31.12.2010,  11:14 Найти цитируемый пост)
 Это просто определение того, что рисуется на канве по координатам полученным из класса Плеер? 

рисуется это отдельный вопрос.. для "полноценного" рисования нужна вся информация.. но нас сейчас не интересует это..
ддостаточно утверждения что гейм будет предоставлять "константный" доступ к любой игровой характеристике.. 



--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Ну значит, так все и остается? Класс Гейм будет руководить всеми перемещениями, классы Игрок будет хранить координаты игрока на поле, класс Дравер будет рисовать карту и фишки на ней.
Так значит и остается?) На счет той диаграммы, что я привел, там получается, что Игрок\Враг ничего не знают о карте, это будет допустимо? Всеми будет заправлять Гейм, а те будут в бессознательном состоянии ничего не зная друг о друге.
PM MAIL   Вверх
mes
Дата 31.12.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  11:30 Найти цитируемый пост)
Всеми будет заправлять Гейм,

Гейм (плайинг) только "прокручивает" к следующему кадру.. 
а управление ( в случае пакмана) это выбор направления движения.. , а не само движение, которое просто является выражением следующего кадра..

Добавлено @ 12:39
Цитата(TGrey @  31.12.2010,  11:30 Найти цитируемый пост)
а те будут в бессознательном состоянии ничего не зная друг о друге

в бесознательном состоянии находятся фишки.. а объекты, задающие им направление, знают обо всем (о плайинге), но константно..
и повлиять могут только изменив направление движения..

Добавлено через 5 минут и 25 секунд
Цитата(TGrey @  31.12.2010,  11:30 Найти цитируемый пост)
класс Дравер будет рисовать карту и фишки на ней.

информация в фишках нужна не только для рисования...
рисование является лишь средством, чтоб "реальный игрок" посредством гуи узнал о состоянии плайинга..
другим интеллектам (например контроллерам вражеских фишек) гуи не нужно, но информация о положение фишек необходима..

Добавлено через 10 минут и 15 секунд
еще одно уточнение.. фишка это блок данных .. а плаер и враг это контролеры управления..

Это сообщение отредактировал(а) mes - 31.12.2010, 12:40


--------------------
PM MAIL WWW   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1121 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.