Разработка программного продукта, реализующего классическую версию настольной игры "Морской бой" - Курсовая работа

бесплатно 0
4.5 180
Проектирование игры "Морской бой" путем составления диаграмм UML, IDEF0, DFD, моделирующих требования к программе. Разработка программы с использованием языка C# и фреймворка.NETFramework 3.5. Тестирование белого ящика и альфа-тестирование продукта.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Данная работа посвящена разработке программного продукта, реализующего классическую версию настольной игры «морской бой».Игра «морской бой» представляет собой настольную игру на двух участников, которые по очереди выбирают координаты на неизвестном им поле противника. Если у соперника по этим координатам имеется корабль, то корабль или его часть «топится», а попавший получает право на еще один ход. Данный проект будет представлять собой приложение, реализующее игру «морской бой» с искусственным интеллектом с различными уровнями сложности. Целевую аудиторию составляют люди, которые хотят играть в «морской бой».Игроки будут иметь возможность играть с искусственным интеллектом на любом из предложенных уровней сложности. Игра «Морской бой», выполненная не в классической форме.Самая первая диаграмма IDEF0 уровня А0 отражает основную суть программного продукта - игра в морской бой. В разложении А2 (IDEF0), процессе установки корабля,на первом шаге игрок выбирает корабль, который хочет установить. Если проверка прошла, корабль устанавливается на поле и происходит переход на следующий процесс, в котором проверяются оставшиеся для установки корабли. Если все корабли установлены, происходит переход к следующему процессу, иначе возврат на процесс выбора корабля. Процесс А31 представляет собой разложение хода игрока в диаграмме DFD.Этот обработчик в зависимости от действий пользователя вызывает либо компонент выбора места установки корабля, либо компонент обработки выстрела по клетке. Компонент выбора места установки корабля постоянно связывается с компонентом проверки корректности установки корабля. Этот компонент постоянно обращается к компоненту проверки корректности установки корабля для обеспечения информативной визуальной навигации: если установка в выбранном месте невозможна, корабль подсвечивается красным цветом. Компонент проверки корректности установки корабля проверяет все клетки, которые охватываются выбранным кораблем, и проверяет, может ли на ней быть установлен корабль и не выходил ли она за границы поля. Содержит алгоритмы работы ИИ, поля, используемые для работы этих алгоритмов, например, поля для сохранения координат первого попадания по кораблю, состояние уничтожения корабля, количество промахов для высокого уровня сложности.Для разработки программного кода был выбран язык программирования C# с использованием среды разработки VISUALSTUDIO 2010. C# - это язык программирования, предназначенный для разработки самых разнообразных приложений, предназначенных для выполнения в среде .NET Framework.В результате этого тестирования определяется, решает ли разработанное ПО задачи, ради которых оно было создано, удовлетворяет ли оно потребности заказчика/пользователя. Для тестирование ПО были выбраны следующие методы: функциональное тестирование, тестирование белого ящика, ручное тестирование и альфа-тестирование. Пользователь должен иметь возможность расставить корабли вручную. Пользовать должен иметь возможность выбрать сложность ИИ 5 Отображено на всех диаграммах Пользователь должен иметь возможность расставить корабли вручную 5 Отображено на всех диаграммахДля работы приложения должна быть установлена программная платформа .NET Framework версии 3.5 и выше. Нужно просто кликнуть по любому пункту и произойдет переход к экрану расстановки кораблей. Если пользователь не желает устанавливать корабли вручную, он может сделать это автоматически кликнув по кнопке «Случайно». В любой момент игрок может сбросить установку, нажав на кнопку «Сбросить». Когда все корабли будут установлены, появится кнопка «BATTLE», при нажатии на которую произойдет начало игры с изменением текущего экрана и генерацией поля противника справа.В результате проделанной работы было разработано приложение, реализующее классическую версию игры «морской бой». Созданный продукт полностью выполняет все запланированные функциональные требования, такие как: · различные уровни сложности игры; Помимо этого, в программе реализован дополнительный функционал: · подсвечивание полей, в зависимости от того, чей в данный момент ход; В ходе выполнения работы были получены дополнительные навыки в программировании на языке C#, а также навыки проектирования программного проекта, моделирования требований, проведения тестирования и составления документации. В будущем планируется реализовать для созданного приложения сохранения процесса игры, чтобы была возможность продолжения игры после закрытия, систему достижений, дополнительные элементы интерфейса.Цель: разработать программный продукт, реализующий игру «Морской бой». Реализация: Выбирается корабль и размещается в свободное место с учетом ограничений расстановки кораблей. После размещения происходит проверка на корректность выбора места расстановки (расстояние между кораблями не может быть меньше 1 клетки, корабль должен полностью находиться в пределах поля). Когда все корабли будут размещены, станет активна кнопка начала игры. После расстановки всех кораблей становится активной кнопка начала игры.case 7: case 8

План
КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ И ОСНОВНЫЕ ВЫВОДЫ

Вывод
СПИСОК ИСТОЧНИКОВ ИНФОРМАЦИИ

Приложение 1 - ДиаграммыВ результате проделанной работы было разработано приложение, реализующее классическую версию игры «морской бой». Созданный продукт полностью выполняет все запланированные функциональные требования, такие как: · различные уровни сложности игры;

· автоматическая расстановка кораблей;

· искусственный интеллект;

· визуализация интерфейса;

· статистика.

Помимо этого, в программе реализован дополнительный функционал: · подсвечивание полей, в зависимости от того, чей в данный момент ход;

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

В ходе выполнения работы были получены дополнительные навыки в программировании на языке C#, а также навыки проектирования программного проекта, моделирования требований, проведения тестирования и составления документации.

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

СПИСОК ИСТОЧНИКОВ ИНФОРМАЦИИ

1. Базарная Е.Г. Создание Windows приложений на языке С# / Е.Г. Базарная, В.В. Изварина - СПБ.: УЦВТ, 2007.

2. Программирование на платформе .NET Framework в Visual Studio, Web: http://msdn.microsoft.com

3. Visual C#, Web: http://msdn.microsoft.com

4. Функциональное тестирование, Web: http://www.dev-house.ru

5. Емельянова Н.З Основы построения автоматизированных информационных систем / Н.З.Емельянова, Т.Л.Партыка, И.И.Попов - М.: ФОРУМ: ИНФРА-М 2007.

6. Гагарина Л.Г. Основы технологии разработки программных продуктов / Л.Г.Гагарина, Б.Д.Виснадул, А.В. Игошин -Форум 2006.

7. Орлов С.А. Технологии разработки программного обеспечения / С. А. Орлов, Б. Я. Цилькер - Питер 2012.

Рудаков А.В. Технология разработки программных продуктов / А.В. Рудаков - Издательский центр "Академия" 2006.

Приложение 1 - Диаграммы

Рисунок 1 - Диаграмма основного процесса

Рисунок 2 - Развернутая диаграмма основного процесса

Рисунок 3 - Развернутая диаграмма процесса расстановки кораблей

Рисунок 4 - Диаграмма процесса игры

Рисунок 5 -Диаграмма хода игрока

Рисунок 6 -Диаграмма проверки на победу и следующего хода

Рисунок 7. Диаграмма Use-Case

Рисунок 8. Component Diagram

Рисунок 9. Class Diagram

Рисунок 10. Activity Diagram

Рисунок 11. State Machine Diagram

Рисунок 12. Communication Diagram

Рисунок 13. Sequence Diagram

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?