Автор работы: Пользователь скрыл имя, 08 Июля 2013 в 13:53, курсовая работа
Данная курсовая работа представляет собой результат разработки игры «Косынка» с использованием объектно-ориентированного языка программирования Java. Суть работы заключалась в правильном создании модели игры и дальнейшего ее проектирования с использованием ООП. Необходимо было научиться создавать объекты и создавать связи (взаимодействия между ними).
ВВЕДЕНИЕ….. ……………………………………………………………….5
1 ОПИСАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ…………..……..6
1.1 Постановка задачи………………………………………………...6
1.2 Анализ предметной области……………………………………...6
1.3 Формирование требований……………………………………….7
2 ДИАГРАММЫ КЛАССОВ И ОБЪЕКТОВ….………………………….....9
2.1 Диаграмма классов……………………………………………......9
2.2 Диаграмма объектов…………………………………...……….....11
3 ОПИСАНИЕ КЛАССОВ И МЕТОДОВ………………………..……….....12
3.1 Класс Card………………………………….………………….…..12
3.2 Класс Koloda ………………….…………………………………..12
3.6 Класс Stopka ………………………………………………………12
3.6 Класс Dom ………………………………………………………...13
3.6 Класс Sdacha ……………………………………………………...13
3.6 Класс StructFind…………………………………………………..13
3.6 Класс Stol ………….……………………………………………...13
4 ПРИМЕР РЕАЛИЗАЦИИ МЕТОДА………….………….……………….15
ВЫВОД……………………………………………………………………….17
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ…………………..……..18
Аннотация
Данная курсовая работа представляет собой результат разработки игры «Косынка» с использованием объектно-ориентированного языка программирования Java. Суть работы заключалась в правильном создании модели игры и дальнейшего ее проектирования с использованием ООП. Необходимо было научиться создавать объекты и создавать связи (взаимодействия между ними).
Работа состоит из 44 листов, включает в себя 6 рисунков, а также частично содержит программный код проекта. Также в работе приведено описание всех классов и методов игры и последовательно представлен (частично) алгоритм перемещения карт из стопки в стопку.
Анотація
Дана курсова робота являє собою
результат розробки гри «Косинка»
з використанням об'єктно-
Робота складається з 44 аркушів, включає в себе 6 рисунків, а також частково містить програмний код проекту. Також у роботі наведено опис усіх класів і методів гри і послідовно представлений (частково) алгоритм переміщення карт з стопки в стопку.
Annotation
This course work is the result of the development of the game "Kosinka" with the use of object-oriented programming language Java. The essence of this work was to create a correct model of the game and its further design using OOP. It was necessary to learn how to create objects and establish communication (interaction between).
The project consists of 44 sheets, includes 6 images and comprises partially
project code. Also there is a description of all the classes and methods
of the game and consistently represented (in part) algorithm for moving
cards from pile to pile.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ….. ……………………………………………………………….5
1 ОПИСАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ…………..……..6
1.1 Постановка задачи…………………………………
1.2 Анализ предметной области……………………………………...6
1.3 Формирование требований……………………………………….7
2 ДИАГРАММЫ КЛАССОВ И ОБЪЕКТОВ….………………………….....9
2.1 Диаграмма классов……………………………………………......
2.2 Диаграмма объектов…………………………………...………...
3 ОПИСАНИЕ КЛАССОВ И МЕТОДОВ………………………..……….....12
3.1 Класс Card………………………………….………………
3.2 Класс Koloda ………………….…………………………………..12
3.6 Класс Stopka ………………………………………………………12
3.6 Класс Dom ………………………………………………………...13
3.6 Класс Sdacha ……………………………………………………...13
3.6 Класс StructFind……………………………………
3.6 Класс Stol ………….……………………………………………...13
4 ПРИМЕР РЕАЛИЗАЦИИ МЕТОДА………….………….……………….15
ВЫВОД…………………………………………………………………
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ…………………..……..18
ПРИЛОЖЕНИЕ А………………..…………………………
ПРИЛОЖЕНИЕ Б…………..………………………………
ПРИЛОЖЕНИЕ В…..………………………………………
ВВЕДЕНИЕ
В данной курсовой работе описывается программа, написанная в соответствии с постановкой задачи по теме "Разработка программного обеспечения для игры "Косынка" по дисциплине "Объектно-ориентированное программирование".
Назначение программы - развлечение играющих, совершенствование их внимания и логического мышления. Программа может применяться в качестве игровой на разных типах персональных компьютеров. Игрок должен разложить по возрастанию все предложенные карты в четыре стопки (по количеству мастей), начиная от туза и заканчивая королём. Карты одной масти должны находиться только в одной стопке. Выбирать карты можно из колоды, находящейся слева от четырёх стопок, либо из семи рядов карт, в каждой из которых находится от одной до семи карт соответственно. Собравший все карты в четыре стопки игрок считается победителем.
1 ОПИСАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Постановка задачи
Необходимо разработать программу, реализующую игру «Косынка». В процессе реализации необходимо использовать свойства объектно-ориентированного программирования.
1.2 Анализ предметной области
Игра «Косынка» должна реализовать сюжет известной одноименной компьютерной игры «Косынка» . Суть игры состоит в том, во время игры требуется собрать четыре стопки карт разной масти, так что бы они шли в порядке возрастания (туз, двойка и до короля). В игре используется одна колода из 52карт. В самом начале игры мы имеем семь стопок карт – в первой стопке одна карта, во второй - две. Только верхняя карта лежит рубашкой вверх, остальные – вниз. Под стопками находятся четыре ячейки, в которые нужно собрать стопки карт, о которых говорилось выше, так называемый – дом. Карты можно перемещать между стопками только соблюдая конкретные правила, они должны идти по убыванию (туз, двойка и до короля). Например, на даму можно положить только валета, а на двойку туз. Помимо этого на черную карту можно положить только красную и наоборот. Аналогично картам перемещать можно и уже собранные стопки. Начинать заполнение ячеек дома нужно с туза. Иначе нужно перемещать карты между столбцами до тех пор, пока не будет найден туз. Что бы переместить карту в дом, достаточно перетащить ее в ячейку или щелкнуть по ней дважды.
Также в игре «Косынка» присутствует колода, она находится вверху игрового поля. Из нее можно брать карты, для этого нужно нажать клавишу «n». Если колода закончилась, то при следующем нажатии на колоду, она будет воспроизводиться заново.
Игрок должен разложить по возрастанию все предложенные карты в четыре стопки (по количеству мастей), начиная от туза заканчивая королем. Карты одной масти должны находиться только в одной стопке. Выбирать карты можно из «раздачи», либо из семи рядов карт, в каждой из которых находится от одной до семи карт соответственно. Собравший все карты в четыре стопки игрок считается победителем.
Классификация игр делит компьютерные игры на : шутеры, аркада, симуляторы, стратегии, приключения, головоломки (логические), текстовые. Игра «Косынка» относится к аркадным играм. Аркада - игра, в которой игроку приходится действовать быстро, полагаясь в первую очередь на свои рефлексы и реакцию. Игровой процесс прост и не меняется в течение игры. Аркады характеризуются развитой системой бонусов: начисление очков, постепенно открываемые элементы игры и т. д.
Классификация по игрокам, в нашем случаи, подразумевает одиночную игру, т.е. рассчитана на игру в одиночку, против компьютера – однопользовательская игра. Если игру «Косынка» классифицировать по игровым платформам, то можно отметить, что в основном наше игра предназначена для персональных компьютеров.
В нашем случае игра упрощенная и состоит только из игрового поля.
Игровое поле содержит:
Отношения «Игрового поля» с объектами, описанными выше – композиция.
1.3 Формирование требований
Необходимо создать игру, которая должна обеспечивать пользователю такие возможности:
7. Пользователю необходимо предоставить удобную, наглядную игру. Необходимо учитывать, что когда пользователь играет в игру «Косынка», он должен различать открытые карты «раздачи» и закрытые, а также открытые и закрытые карты в стопках.
8. Необходимо создать удобный интерфейс. В игре не должно быть сбоев, зависаний и ошибок.
2 ДИАГРАММЫ КЛАССОВ И ОБЪЕКТОВ
2.1 Диаграмма классов
Диаграммы классов при
моделировании объектно-
Диаграммы классов используются для моделирования статического вида системы с точки зрения проектирования. Сюда по большей части относится моделирование словаря системы, коопераций и схем. Кроме того, диаграммы классов составляют основу еще двух диаграмм - компонентов и развертывания.
Диаграммы классов важны не только для визуализации, специфицирования и документирования структурных моделей, но также для прямого и обратного проектирования исполняемых систем.
Диаграмма классов проекта «Косынка» представлена на Рисунке 1.
Рисунок 1- Диаграмма классов проекта «Косынка»
2.2 Диаграмма объектов
Диаграмма объектов (Object diagram) — демонстрирует полный или частичный снимок моделируемой системы в заданный момент времени. На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами. Диаграмма объектов моего проекта представлена ниже (рисунок 2).
Рисунок 2. Диаграмма объектов
3 ОПИСАНИЕ КЛАССОВ И МЕТОДОВ
3.1 Класс Card
Этот класс содержит описание карты, а именно масть, старшинство и состояние( рубашкой вверх или вниз).
3.2 Класс Koloda
Класс содержит массив из 52 карт и реализует действия с колодой: заполнить колоду значениями, перетасовать колоду, вывести на экран.
3.3 Класс Stopka
Класс содержит коллекцию карт и реализует такие операции: открытие, последней карты в стопке, получение индекса последней и первой карты, закрытие карты.
3.4 Класс Dom
Класс содержит 4 стопки (каждая стопка относится к отдельной масти),а также метод вывода стопки на экран.
3.5 Класс Sdacha
Класс содержит 2 стопки: открытую и закрытую часть «раздачи», а также метод вывода их на экран.
3.6 Класс StructFind
Класс является вспомогательным и выполняет функцию структуры, содержащую поля «номер стопки», «номер карты в стопке», «количество карт». Класс используется в методе findByName класса Stol.
3.7 Класс Stol
Класс, в котором реализуется сама игра (операции над картами). Класс содержит колоду, дом, «раздачу», коллекцию из стопок.
4 ПРИМЕР РЕАЛИЗАЦИИ МЕТОДА
В качестве примера я выбрала метод moveRazdachaStopka() класса Stol. В объект Card cd помещается последняя карта из открытой «раздачи». В объект Card a помещается последняя карта из стопки, в которую мы хотим переместить cd. Карта cd помещается в выбранную стопку на карту a при таких уловиях:
Информация о работе Разработка программного обеспечения для игры "Косынка"