Форум Сообщества Аналитиков

×


Игра "Дурак"(Прочитано 37966 раз)
Игра "Дурак" : 04 Января 2014, 20:12:03
В UML новичок, владею начальными знаниями в этой области, сроки горят...необходимо спроектировать диаграмму классов на тему "Карточная игра Дурак". Помогите, если не сложно...



Re: Игра "Дурак" Ответ #1 : 04 Января 2014, 20:39:57
Нужны начальные требования, описание игры.
Какие требования:
сколько возможно игроков (до 6?), кто будут являться игроки - компьютер или люди? игра сетевая?
набор правил - кто начинает ход, сколько карт можно набирать, первый отбой сколько карт и так далее.
Например: http://www.gambiter.ru/durak/item/69-igra-durak-pravila.html

Следуя правилам можно начать выделять потенциальные классы.
Колода
Карта (Масть, Номинал, Козырь?)
Игрок (Нападающий, Отбивающийся, Число карт)
Раздача
Ход
 т.п.
все это связать, предложить для обсуждения.

Однако я вижу вы уже активно работаете :) http://www.cyberforum.ru/uml/thread1059174.html



Re: Игра "Дурак" Ответ #2 : 04 Января 2014, 22:19:31
Ну нужно же что то придумать :)
В самом начале игры должен производиться выбор: простой дурак, подкидной, переводной
Правила игры:
В колоде 36 карт
Количество игроков - до шести
количество набираемых карт - до 36
Первый отбой - 5 карт
Первый ход - у игрока с наименьшим козырем
Существует 1 реальный игрок - человек, остальные - компьютер
« Последнее редактирование: 04 Января 2014, 22:21:41 от Кротяка »



Re: Игра "Дурак" Ответ #3 : 04 Января 2014, 22:59:11
Ну, молодец.
Действуем дальше. Правила игры - это поведенческие аспекты. Нам пока нужно определить структурные: про диаграмму классов говорится.

Вопрос выбора типа игры - это вопрос взаимодействия с системой, который скорее всего может быть описан вариантом использования "Играть в игру", мы его рассматривать не буду.

Структурные элементы игры известны. Начинаем придавать им форму - рисуй диаграмму, тут бесплатных пироженых не бывает.



Re: Игра "Дурак" Ответ #4 : 04 Января 2014, 23:00:55
количество набираемых карт - до 36
Это что за правило? Если одни наберет все 36 карт наверное он того, проигравший:)



Re: Игра "Дурак" Ответ #5 : 04 Января 2014, 23:31:58
Ну нужно же что то придумать :)
В самом начале игры должен производиться выбор: простой дурак, подкидной, переводной
Правила игры:
В колоде 36 карт
Количество игроков - до шести
количество набираемых карт - до 36
Первый отбой - 5 карт
Первый ход - у игрока с наименьшим козырем
Существует 1 реальный игрок - человек, остальные - компьютер
Добрый вечер!
1. Сформулируйте назначение системы с точки зрения игрока.
2. Определите какими классами событий/действий будет оперировать система, выполняя своё назначение.
3. Определите с какими классами объектов/субъектов/сущностей будут связаны вышеуказанные события.
4. Нарисуйте диаграмму классов, расставив связи между ними и множественности.



Re: Игра "Дурак" Ответ #6 : 04 Января 2014, 23:59:40
собственно диаграмма то у меня есть
имеются сомнения относительно правильности и уровня её выполнения



Re: Игра "Дурак" Ответ #7 : 05 Января 2014, 00:23:02
собственно диаграмма то у меня есть
имеются сомнения относительно правильности и уровня её выполнения
Судя по диаграмме, у тебя имеется довольно зрелое представление об UML. Мне правда, не совсем ясно назначение некоторых классов, а алгоритмы методов скрыты от меня. Также я вижу некоторые проблемы с кратностями связей, но в чем все-таки проблема?



Re: Игра "Дурак" Ответ #8 : 05 Января 2014, 00:52:25
собственно диаграмма то у меня есть
имеются сомнения относительно правильности и уровня её выполнения
1. Обычно сначала рисуется диаграмма классов анализа. На ней не должно быть главного меню и других проектных классов.
2. Название каждого класса должно быть в единственном числе.
3. Откуда крупье в игре "Дурак"?
4. Предлагаю идти поэтапно, сначала правильно выделить классы, а уже потом атрибуты и операции.
5. Предыдущее моё сообщение остаётся в силе.



Re: Игра "Дурак" Ответ #9 : 05 Января 2014, 01:09:52
в чем все-таки проблема?
как мне кажется для курсового проекта эта диаграмма слишком проста



Re: Игра "Дурак" Ответ #10 : 05 Января 2014, 01:20:26
Откуда крупье в игре "Дурак"?
предлагаете убрать крупье? кто то же должен сдавать карты
Обычно сначала рисуется диаграмма классов анализа
с такими диаграммами не сталкивался



Re: Игра "Дурак" Ответ #11 : 05 Января 2014, 01:35:53
предлагаете убрать крупье? кто то же должен сдавать картыс такими диаграммами не сталкивался
Когда я играл в дурака, то всегда сдавал кто-то из игроков и они никогда не назывались "крупье". Диаграмма классов такая же, просто на ней отсутствуют проектные классы типа "главное меню"



Re: Игра "Дурак" Ответ #12 : 05 Января 2014, 14:46:32
как мне кажется для курсового проекта эта диаграмма слишком проста
Что является целью курсового проекта? Готовое приложение для игры в дурака? Или сама записка со всеми проектными решениями?
Вообще приложение можно сделать по-разному. Если задача выполнить именно объектно-ориентированную разработку в соответствии с тем подходом, которому вас учат, то хотелось бы понимать, а чему вас учат:).

В любом случае нужно понять, что должна делать твоя программа, а затем понять какие классы какие обязанности будут исполнять. Это как раз и будет задачей ОО программирования, определить кто за что ответственен.

Ты нарисовал имеющуюся диаграмму классов, которая включает уже все программные классы приложения, так ведь? Почему ты полагаешь, что она слишком простая для курсовой?




Re: Игра "Дурак" Ответ #13 : 05 Января 2014, 15:03:39
Замечания по диаграмме
1. Композиция - Main_Menu - Game - в чем ее смысл?, кратность 1 ко 1, как планируется это обеспечивать, зачем? Почему Игра композируется в понятие Главное меню? Не означает ли это, что есть главное окно приложения, которое включает в себя: Главное меню, Окно текущей игры и т.п.
2. Почему Крупье агрегируется в игру, а Игроки композируются? Крупье по сути осуществляет раздачу колоды, но как заметил Сергей, роль Раздатчика переходит к проигравшему, а в начале случайна.
3. Card_Deck - это карточная колода. Цвет рубашки и тип - это конечно очень важно, но что значит Игрок имеет атрибут Карты типа Карточная колода? Карточная колода - это коллекция, а игрок имеет некоторый набор этих карт в течение игры, а не просто так - никак это момент не отражен, хотя показана связь многие ко многим. Связь Колода и Крупье - не совсем понятна.

Я бы для начала убрал все лишние методы, оставил только классы и атрибуты, при этом рекомендую следовать советам Дениса Бескова



Re: Игра "Дурак" Ответ #14 : 05 Января 2014, 15:13:28
Что является целью курсового проекта? Готовое приложение для игры в дурака? Или сама записка со всеми проектными решениями?
Вообще приложение можно сделать по-разному. Если задача выполнить именно объектно-ориентированную разработку в соответствии с тем подходом, которому вас учат, то хотелось бы понимать, а чему вас учат:).

В любом случае нужно понять, что должна делать твоя программа, а затем понять какие классы какие обязанности будут исполнять. Это как раз и будет задачей ОО программирования, определить кто за что ответственен.

Ты нарисовал имеющуюся диаграмму классов, которая включает уже все программные классы приложения, так ведь? Почему ты полагаешь, что она слишком простая для курсовой?
целью курсового является проектирование системы, после чего выполняется ОО разработка приложения
Вот собственно задание для разработки диаграммы классов:
Найти сущности, для которых можно выделить базовый и производный классы. Привести описание базовой (абстрактной) сущности и производных сущностей, указать отличительные черты производных сущностей между собой. Создать иерархию классов, определить базовый и производный классы.
При выполнении работы учесть следующие требования:
•выделить общие методы производных классов, описать их в отдельной таблице;
•предусмотреть  хранение объектов иерархии;
•показать на диаграмме классов иерархию классов и связи между классами;
•сгенерировать код по разработанной диаграмме.




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19