![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Это наследование. Игрок и Враг оба имеют общие поля такие как Х, У, Сдвиг Х, Сдвиг У, Ссылка на Карту. Потому я решил, что проще унаследовать Врага, чтобы не повторять класс. А для абстрактного класса я посчитал он тут будет нецелесообразным т.к. нет никакого полиморфизма.
Вот насчет Рисовальщика, будет получать, Канву для отрисовки и ссылку на Игру. Хорошо, а его тогда лучше сделать френдом для Игры? Потому что эти поля Игрок, Враг, Карта, явно будут в секции Приват, хотя можно сделать методы чтобы их получить, но, как и в прошлый раз я не придумал ничего умнее как засунуть массив с картой в Паблик, по тому что же некак возвращать из функции многомерный массив. |
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вопрос был не об этом ![]()
да но игрок не является врагом.. поэтому если есть общий предок, определите для него свой тип.. Добавлено через 2 минуты и 3 секунды
классная причина ![]() ![]() Добавлено через 3 минуты и 39 секунд зачем ?
информация должна быть доступна снаружи, но не должно быть возможности изменить.. т.е. для простейшего случая возвращение ссылки на константу.. Добавлено через 5 минут и 21 секунду кстати не стоит оставлять массивы, как элементы взаимодействия.. если не хочеться писать лишнего , просто хотя бы пакуйте их в структуру.. |
||||||
|
|||||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Ну так а там между ними больше и нет связей?) В чем тогда был вопрос?
Да, Игрок не является Врагом. Я так тут подумал, что по идее наследование это расширение одного класса за счет другого, а у меня тут сужение получилось) Во Врага переходят все Протектед поля, а Приват остаются у Плеера. Видимо, правильнее было бы наследовать Игрока от Врага) Общего предка нет. Не знаю, как вы, но я в нем просто смысла не вижу. Если он будет, тогда получиться, что класс Игрок от него наследуется и действительно расширяется, за счет своих характерных полей таких, как Жизни, Очки... А у Врага таких полей нет, выходит, что он просто будет дублировать поля. И смысл тогда от предка. Причина классная)) У меня тут ничего не виртуалится зачем еще усложнять) Ну я и спрашивал, Френдом, либо интерфейс дописать, чтобы получить поля) На счет последнего, я верно понял? Засунуть массив с картой в структуру и через функцию возвращать ссылку на эту структуру? |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
тоже не верно..
ну смотря как представляете.. вот опять вернулись к началу.. на поле игрок и враг практически идеентичны.. а тот игрок который хранит нечто другое, он не на поле... |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Ээээ, а где же он тогда? Видимо в том, что писал я, они все на поле.
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
1. никто не предлагал делать виртуал.. 2. Наследование Вы сами зацепили, я не предлагал даже его.. 3. выделить отдельный тип можно не только в предка, но в агрегируемый тип.. Добавлено через 1 минуту и 44 секунды ну давайте еще раз повторим кто у нас на поле .. начинайте.. я буду подправлять.. (без кода, просто словами) |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Как вы говорили - фишка. Лежит себе, где-то никого не трогает. Фишка содержит в себе координаты на поле. Вот так и у меня мои классы содержат свои координаты на поле. А класс игрока к этому у меня еще и содержит Очки и Жизни. Выходит, что фишка содержит Координаты + доп. данные. Я тогда не совсем понимаю, что подразумевается под игроком, который не на карте.
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Так у меня таких нет) Выходит, что у меня все - Фишки)
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
есть... игрок - класс предоставляющий наружу методы по установлению направления движения, а также очки прочее, если оно не хранится у фишки.. враг - класс с АИ для управления фишкой.. |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Так, а что тогда получается Фишка? Если класс Игрок это игрок который не на поле? То фишка это даже не объект? Это просто определение того, что рисуется на канве по координатам полученным из класса Плеер?
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
и уже выше проскальзовало.. но еще раз заострю..
поле с фишками это не игра, а "ядро игры" - предполагаю playing, но тут надо подумать.. Добавлено через 4 минуты и 16 секунд любой "чудик" на поле .. ( в идеале не только чудики, но и все другие "полевые" объекты) она не знает куда и как перемещаться, но знает где находится и хранит импульс и другую необходимую инфо.. Добавлено через 7 минут и 20 секунд фишка имеет два интерфейса управления.. один задающий направление, другой осуществляющий непосредственное перемещение.. первый это гуи или аи, в зависимости чья фишка своя или врага, а второй это контроллер игры.. Добавлено через 10 минут
рисуется это отдельный вопрос.. для "полноценного" рисования нужна вся информация.. но нас сейчас не интересует это.. ддостаточно утверждения что гейм будет предоставлять "константный" доступ к любой игровой характеристике.. |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Ну значит, так все и остается? Класс Гейм будет руководить всеми перемещениями, классы Игрок будет хранить координаты игрока на поле, класс Дравер будет рисовать карту и фишки на ней.
Так значит и остается?) На счет той диаграммы, что я привел, там получается, что Игрок\Враг ничего не знают о карте, это будет допустимо? Всеми будет заправлять Гейм, а те будут в бессознательном состоянии ничего не зная друг о друге. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Гейм (плайинг) только "прокручивает" к следующему кадру.. а управление ( в случае пакмана) это выбор направления движения.. , а не само движение, которое просто является выражением следующего кадра.. Добавлено @ 12:39
в бесознательном состоянии находятся фишки.. а объекты, задающие им направление, знают обо всем (о плайинге), но константно.. и повлиять могут только изменив направление движения.. Добавлено через 5 минут и 25 секунд информация в фишках нужна не только для рисования... рисование является лишь средством, чтоб "реальный игрок" посредством гуи узнал о состоянии плайинга.. другим интеллектам (например контроллерам вражеских фишек) гуи не нужно, но информация о положение фишек необходима.. Добавлено через 10 минут и 15 секунд еще одно уточнение.. фишка это блок данных .. а плаер и враг это контролеры управления.. Это сообщение отредактировал(а) mes - 31.12.2010, 12:40 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |