![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Хорошо, ну так сама суть, Диаграмма классов приведенная мною соответствует тому, что мы пытаемся сделать то?)
Кстати тогда выходит, что Игроку нет смысла знать о Карте, если всем будет заправлять Гейм. Вообще моя задача, не геймдев) Это просто я выбрал такую тему, задача выполнить это все в ООП. А именно построить правильное взаимодействие между классами) Потому мне не важно, что можно дописывать и как было бы точнее с точно зрения Создания игр. Просто надо, эти классы, как-то упорядочить и сделать из них каркас. Это сообщение отредактировал(а) TGrey - 31.12.2010, 13:35 |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
TGrey
помоему вы занимаетесь не ОО Проектированием, а ОО Анализом(если строите взаимодействие м\у классами) |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Ну да уже Анализом) Мое проектирование не прошло, приходится заново анализировать.
Почему сменой кадров, это как раз мне и сказали что класс не должен выполнять задания с союзом И. Ну в смысле расчет коллизий И смена кадров. Поэтому я хочу сделать для смены кадров другой класс. Ну а в общем я же верно понял, что Игрок не будет знать о Карте? |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
2 ТС: посмотрите в сторону MVC (Model/View/Controller) концепции. То, что у вас сейчас получается (стараниями mes) замечательно в эту концепцию укладывается. При этом сама концепция MVC налагает некоторые ограничения на функциональность и взаимодействие частей. Эти ограничения могут помочь и в вашем анализе
![]() |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Ой та мне бы уже хоть так сделать)) Чтобы было по велению преподавателя))
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Да уж. ![]() - Девушка, можно вас на 5 минут? - А успеете, за 5 минут? - Долго ли умеючи! - Умеючи, как раз долго... - Ну тогда хоть как нибудь ... - А на 'как нибудь' и муж есть. Наверное он не просто так повелел, видимо на то были основания ![]() |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Я не верно выразился, мне не все равно, как сделать. Просто та структура, что я сделал не подошла и сказали переделать с такими-то условиями. То, что мы общими усилиями тут вывели, как раз вроде подходит этим условиям) Поэтому я и говорю, что хоть так бы уже сделать, потому что вот сегодня Новый Год уже, а сдать надо на со следующей недели. Вот в этом и выражается "хоть так сделать".
Всех С Наступающим. Спасибо за помощь) ![]() Накуролесю по этой схеме классы и пойду сдавать) |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
TGrey
Оливье нужно стряпать, а не думать что сдавать))) с наступающим вас тоже =) |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
тут надо понимать, что под этим подразумевается.. да не должен два не связанных действия.. но есть к примеру координирующие классы, которые в принципе только и занимаются союзом "И" ![]() тут не союз "и" : переместив фишки, и разрешив коллизии, строится следующий кадр.. хотя самой сущности кадр как таковой нет.. в нашем случае кадр это одна из итераций общего движения.. Добавлено через 3 минуты и 11 секунд забудем для начала об управлении.. считаем что делаем не игру, а просто типо видеоролик ![]() Добавлено через 6 минут и 27 секунд у нас есть игрок, враги, подарки, каждый из которых может быть в разных состояних.. фактически игрок враг и подарок ничем не отличается - назовем любого из них фишкой.. но фишки должны отличаться друг от друга... то есть должны отличаться характрером.. при этом игроку (как и всем остальным) может принадлежать несколько характеров (не одновременно).. Добавлено через 7 минут и 17 секунд
Добавлено через 11 минут и 32 секунды характер это некая полиморфная единица, от реального типа которого зависит поведение.. самый простой способ разгрузить через enum ..
Это сообщение отредактировал(а) mes - 31.12.2010, 16:29 |
||||
|
|||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Ну так тогда же я не вижу ничего плохого, что у меня класс Карты рисовал ее))
Видеоролик) Хорошо. Класс Гейм будет дергать за ниточки. Тыкаю по клавиатуре, вызываются методы Гейма для смены направления, проверяется можно ли походить, скушать монетку, удариться в стену или попасть на врога, при необходимости изменяются данные на Карте если "съели" монетку, изменяются координаты Фишек. А тут я так понял, можно либо посылать сообщение Драверу, что типа все уже изменили ходы окончены, нужна перерисовка. Либо через одно место, засунуть Перерисовку в Таймер и пусть себе рисуется каждые 30млсек)) Вот вроде и построение ролика)? |
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
чуть посложней отразить тип на таблицу свойств..
так
или так :
Добавлено @ 16:47
тут ничего придумывать не надо.. у окна есть событие по которому надо отрисовывать, а когда игра изменилась инвалидировать окно.. хотя для инвалидирования вполне и таймер можно использовать.. Добавлено @ 16:49 вобщем как выразить характер Вам решать.. но думаю описывать характер набором данных слишком уж для вашей задачи.. т.е. напрашивается цифровой идентификатор характера.. (т.е. енум) Добавлено @ 16:53 итак у нас есть набор фишек с разным характером.. теперь надо их немножко расшевилить.. в плайинге перемещаем их (пока произвольно) .. назовем эту функцию produce_frame.. она будет вызываться извне, чтоб адаптировать скорость игры под компьютер.. Добавлено @ 16:55 сейчас фишки бегают по пустому полю,для того, чтоб они бегали по дорожке, добавим карту местности.. Пусть будет битовый (для простоты байтовый) массив где каждая ячейка показывает пусто или нет.. теперь в produce_frame мы должны учитывать возможность перемещения только по пустым ячейкам.. Это сообщение отредактировал(а) mes - 31.12.2010, 17:17 |
||||||
|
|||||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Да все бы хорошо, я не совсем понимаю, зачем описывать эти поведения для фишек? У меня всего-то 2 фишки)) А теже Монетки это не объекты и ничего такого, просто 1 в массиве с картой, при переходе на которую значение меняет на 2. Самый элементарный способ наверно)
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
теперь нужно добавить осмысленности.. заводим класс осуществляющие интеллект...
пусть будут gui_player, player_auto, enemy_stupid, enemy_smart.. так же нам нужен не только управляющий, а производящий объекты.. допустим фабрика.. к этому вернемся чуть позже.. Добавлено через 3 минуты и 43 секунды
можно и так.. значит фишек меньше... я пока размышляю в общем, чтоб самому представить..а уже потом можно будет под Вас адаптировать.. в принципе значение на карте, это таже фишка только наложенная на карту.. также как и забор.. и в принципе для всего (и для фишек и для марок на поле) можно использовать один и тот же набор характеров.. Добавлено через 4 минуты и 5 секунд но это уже детали конкретного реализации.. Добавлено через 5 минут и 29 секунд такой подход Вам будет мешать... Объект просто выражен некоторым значением.. Добавлено через 6 минут и 23 секунды хм сбился.. сейчас перечитаю чего мы там написали.. |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: нет Всего: 1 |
Да уж)) Не думал, что так пустится тема)) Скоро можно будет собрать готовый код)))
Дело в том, что это все у меня уже написано, АИ, Коллизии, Смена направления, изменение данных)) Мне бы только правильно по полочкам разложить обязанности))
Ну почему же мешать) Мне же не надо мега продвинутую и супер запрограммированную игру) Обычная примитивная реализация подобия игры. Были и другие работы которые вообще не имели отношения к игре. Вот мой однокурсник сдавал Фракталы. У него вышло полная чушь по сути) Просто бессвязные классы) Поэтому и приняли т.к. в диаграмме классов там просто не как было ошибиться)) В моем же случае немного не корректно распределены обязанности и их нужно исправить. Это сообщение отредактировал(а) TGrey - 31.12.2010, 17:12 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |