Скачать 152.22 Kb.
|
Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра компьютерных систем в управлении и проектировании (КСУП) Компьютерная игра «Алфавитные парашютисты» Пояснительная записка к курсовому проекту по дисциплине «Объектно-ориентированное программирование» Выполнил: Студент гр. 580-2 _________Богданов Н.Г. «___» ____________ 2013 г. Руководитель: Аспирант кафедры КСУП _________Калентьев А.А. «___» ____________ 2013 г. Томск 2013 г. РЕФЕРАТ Курсовой проект 45 с., 38 рис.,8 табл., 6 источников. XNA, ИГРА, АЛФАВИТ, ПАРАШЮТИСТЫ, ПЕЧАТЬ, БУКВЫ, СКОРОСТЬ. Цель работы: создание игры «Алфавитные парашютисты», которая помогает ускорить набор текста на клавиатуре. В результате создана программа, являющаяся игрой «Алфавитные парашютисты» и отвечающая поставленным целям. Пояснительная записка по курсовой работе выполнена в текстовом редакторе Microsoft Office Word 2010 и представлена в печатном виде. Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра компьютерных систем в управлении и проектировании (КСУП) Утверждаю Зав. кафедры КСУП _________ Ю.А.Шурыгин «___» _______________ г. ЗАДАНИЕ на курсовую работу по предмету «Объектно–ориентированное программирование» Студенту Богданову Николаю Григорьевичу группа 580-2
Название игры: «Алфавитные парашютисты». Игра предназначена для логического развития и развлечения, и представляет собой тренажёр на скорость и внимательность. Игроку необходимо раскрыть у прыгающих из самолёта парашютистов парашют, нажав на нужную клавишу.
Срок разработки проекта составляет 3 месяца.
В ходе создания проекта изучить основы C#.
Преимущественно дети с 6 лет.
Microsoft Visual Studio 2010 .NET Framework 4.0.
Минимальные: Операционная система: Windows 7 32 и 64-битная версия. Процессор: Pentium –IV 3.0 GHz Видеокарта: 128 Mb видео памяти.
При отрисовке шаблонов приложения рекомендуется учесть следующие положения. Любая деталь на экране должна чётко и легко просматриваться, шрифт (размер, цвет, стиль) приложения должен быть таким, чтобы текст читался легко как в обычном режиме, так и в режиме «Во весь экран».
Интерфейс приложения должен максимально напоминать игру «ABCJumpers»[1] и в общем и целом следовать её логике. В то же время необходимо сохранить простоту структуры, чтобы в управлении можно было легко разобраться. Заработанные очки записываются в отдельный файл с расширением txt.
Игровая область представляет собой двумерное пространство в виде природного пейзажа летнего дня, где происходят все события и действия.
Появляется после запуска игры. Представляет собой кнопки:
Главная цель игры – это продержаться как можно дольше и получить как можно больше очков. Руководитель ___________Калентьев А.А. Задание принял к исполнению ___________Кузьменов А.С Содержание 1 Введение 7 2 Анализ задания 8 2.1 Обзор аналогов 9 2.2 Проектирование пользовательского интерфейса 10 3 Описание алгоритмов 14 3.1 Начать новую игру 14 3.2 Запись лучшего результата 14 3.3 Изменение настроек программы 14 3.4 Просмотр лучших результатов 14 3.5 Получение справки об игре 14 4 Описание реализации 15 5 Описание программы для пользователя 21 6 Тестирование программы 26 7 Работа с файлами 26 8 Заключение 28 9 Список используемых источников 29 1 ВведениеВ настоящее время компьютерные игры являются неотъемлемой частью жизни человека. Ведь компьютерные игры не только позволяют весело и интересно проводить свободное время, но вместе с тем развивают в той или иной сфере. Сегодня существует огромное количество компьютерных игр, которые разделяют по жанрам, возрастным группам и др. признакам. Все эти разделения нужны для того, чтобы каждый мог подобрать себе компьютерную игру по вкусу. 2 Анализ заданияТак как программа курсового проекта должна быть реализована на языке программирования C#, то было принято решение использовать интегрированную среду разработки Microsoft Visual Studio с использованием .Net Framework 4.0. При разработке программы для графического отображения будет использоваться XNA Framework. Так как Game Studio является бесплатным плагином для разработки в Visual Studio приложений использующих XNA Framework. Цель игрока – набрать как можно больше игровых очков, спасая парашютистов. Наиболее важные аспекты игры: Выбор сложности Игрок может выбрать один из трёх уровней сложности. От выбранного уровня сложности будет зависеть сложность игрового процесса. Открытие парашюта Пользователь должен спасти падающего парашютиста, активировав парашют нажатием на нужную клавишу. Получение бонусов Кроме парашютистов, могут выпадать и бонусы. Бонус бывает двух типов: жизнь или бонус, открывающий парашюты сразу у нескольких парашютистов. 2.1 Обзор аналоговИгра имеет многочисленное количество аналогов: ABCJumpers, Super Hyper Spider Typer, QWERTY Warriors, QWERTY Warriors 2, Air Typer и др. Примеры игр представлены на рисунках 2.1, 2.2. Главным отличием перечисленных игр является сюжетная линия. А их схожесть заключается в геймплее. Рисунок 2.1 - ABC Jumpers. Рисунок 2.2 – Super Hyper Spider Typer. 2.2 Проектирование пользовательского интерфейсаВ данном разделе рассматриваются основные возможности интерфейса игры Алфавитные Парашютисты. Главное меню игры представлено на рисунке 2.3: Рисунок 2.3 – Главное меню игры Алфавитные Парашютисты. В главном меню программы представлены функциональные кнопки: «Начать Игру», «Настройки», «Лучшие результаты», «Помощь», «Выход». На рисунке 2.4 представлен выбор уровня сложности игры, при переходе по пункту «Начать игру», главного меню: Рисунок 2.4 – Выбор уровня сложности игры. От выбора уровня сложности, будет зависеть сложность игрового процесса. На рисунке 2.5 представлен игровой процесс, при переходе по одному из пунктов выбора сложности: Рисунок 2.5– Игровой процесс. На рисунке 2.6 представлен ввод имени игрока, при проигрыше: Рисунок 2.6 – Ввод имени игрока. При введении имени и нажатию клавиши «Enter», введённое имя и набранные игровые очки будут записаны в таблицу «Лучшие результаты». На рисунке 2.7 представлены настройки игры, при переходе по пункту «Настройки», главного меню: Рисунок 2.7 – «Настройки». При нажатии на кнопку «Музыка Выкл», отключится фоновая музыка, а при повторном нажатии включится. При нажатии на кнопку «Звуки Выкл», отключится игровые звуки, а при повторном нажатии так же включится. При нажатии на кнопку «Язык RU», поменяется раскладка клавиатуры, с русской на английскую. А при повторном нажатии, произойдёт обратное действие. При нажатии на кнопку «Назад», произойдёт возврат в главное меню. На рисунке 2.8 представлена таблица лучших результатов, при переходе по пункту «Лучшие результаты», главного меню: Рисунок 2.8 – Таблица лучших результатов. В таблице перечислены имена и игровые очки лучших игроков. При нажатии на кнопку «Назад», произойдёт возврат в главное меню. На рисунке 2.9 представлена подробная инструкция «Помощь», при переходе по пункту «Помощь», главного меню: Рисунок 2.9 – Инструкция. В инструкциях пользователь получает доступ к информации об общих правилах, кнопках игры, бонусах. При нажатии на кнопку «Назад», произойдёт возврат в главное меню. 3 Описание алгоритмов3.1 Начать новую игруДля того чтобы начать новую игру, необходимо:
3.2 Запись лучшего результатаДля того чтобы свой результат появился в таблице результатов, необходимо чтобы количество очков было больше, чем количество минимальных очков в таблице лучших результатов. 3.3 Изменение настроек программыДля того чтобы включить, выключить звуковые эффекты или фоновую музыку и поменять раскладку клавиатуры, необходимо в главном меню нажать кнопку «Настройки» и выполнить необходимое действие. 3.4 Просмотр лучших результатовДля того чтобы просмотреть лучшие результаты, необходимо в главном меню нажать кнопку «Лучшие результаты»: Для получения справки об игре, необходимо в главном меню выбрать пункт «Помощь». 4 Описание реализацииФункционал игры Алфавитные парашютисты разбит на 13 классов. Первый класс «AJGame» - автоматически создаваемый проектом XNA класс, в котором содержатся все важные компоненты игры, графическое устройство, параметры окна и диспетчер содержимого. Второй класс «Menu» содержит описание интерфейса игры. Третий класс «AJ», являющийся логикой игры. Четвертый класс «FallingObjects» являющимся абстрактным и реализованный от интерфейса «IFallingObjects». От него будут наследоваться классы парашютистов и классы бонусов. Пятый класс «Information» являющимся счётчиком для игровых очков, жизней и бонусов. Классы «SaveFile» и «LoadSave» осуществляют чтение и запись результатов из файла. Восьмой класс «Button» служит для задавания кнопкам меню необходимую текстуру и размер. Классы «GreenJ», «PurpleJ» и «YellowJ» наследуемые от абстрактного класса «FallingObjects», придают парашютистам разный вид с повышением трудности игры. Классы «Bonus» и «BonusLive» также наследуются от класса «FallingObjects», служит для того, чтобы помимо парашютистов выпадали бонусы. Основные методы класса «AJGame» описаны в таблице 4.1. Таблица 4.1 – Методы класса «AJGame».
Методы класса «AJ» описаны в таблице 4.2. Таблица 4.2 – методы класса «AJ».
Методы класса «Information» представлены в таблице 4.3. Таблица 4.3 – Методы класса «Information».
Методы класса «FallingObjects» представлены в таблице 4.4. Таблица 4.4 – Методы класса «FallingObjects».
Методы класса «Menu» представлены в таблице 4.5. Таблица 4.5 – Методы класса «Menu».
Методы класса «Button» представлены в таблице 4.6. Таблица 4.6 – Методы класса «Button».
Методы класса «BonusLive» представлены в таблице 4.7. Таблица 4.7 – Методы класса «BonusLive».
Методы класса «Bonus» представлены в таблице 4.8. Таблица 4.8 – Методы класса «Bonus».
Методы класса «YellowJ» представлены в таблице 4.9. Таблица 4.9 – Методы класса «YellowJ».
Методы класса «GreenJ» представлены в таблице 4.10. Таблица 4.10 – Методы класса «GreenJ».
Методы класса «PurpleJ» представлены в таблице 4.11. Таблица 4.11 – Методы класса «PurpleJ».
Методы класса «SaveFile» представлены в таблице 4.12. Таблица 4.12 – Методы класса «SaveFile».
Методы класса «LoadSave» представлены в таблице 4.13. Таблица 4.13 – Методы класса «LoadSave».
Для отображения схемы взаимодействия функциональных блоков программы составлена диаграмма вариантов использования (Use Cases). Варианты использования (Use cases) – способ отображения функциональности и требований к системе. Диаграммы вариантов использования состоят из именованных блоков функциональности (варианты использования), лиц или предметов, активизирующих функциональность (актеры). [5]. Use cases диаграмма игры представлена на рисунке 4.1: Рисунок 4.1 – Диаграмма вариантов использования (Use cases). Диаграмма классов игры представлена на рисунке 4.2: Рисунок 4.2 – Диаграмма классов игры Алфавитные парашютисты. Каждый проект XNA использует класс Game, в котором содержатся все важные компоненты игры, графическое устройство, параметры окна и диспетчер содержимого. Вы можете добавить сюда обработку ввода и работу со звуком. Фактически, все, что ваша игра делает на самом высоком уровне, коренится в классе игры, или, по крайней мере, находится в каком-нибудь компоненте, к которому можно получить доступ из этого класса.[7] 5 Описание программы для пользователяИгра Алфавитные парашютисты это программа, предназначенная для развлечения и усовершенствования скорости печати. Игра Алфавитные парашютисты работает в среде Windows (начиная с Windows XP). Основные особенности игры Алфавитные парашютисты:
Интерфейс игры Алфавитные парашютисты Главное меню игры Алфавитные парашютисты представлено на рисунке 5.1: Рисунок 5.1 – Главное меню игры Алфавитные парашютисты. Главное меню включает в себя следующие пункты: «Начать игру», «Рекорды», «Помощь», «Настройки», «Выход». Кнопка «Начать игру» При нажатии в главном меню кнопки «Начать игру», программа переходит в режим выбора уровня сложности, представленный на рисунке 5.2: Рисунок 5.2 – Режим выбора уровня сложности. В данном режиме пользователь может выбрать один из трёх уровней сложности: «Легко», «Нормально», «Тяжело». Каждый уровень сложности отличается от другого скоростью падения алфавитных парашютистов. При выборе одного из представленных уровней сложности, программа переходит в режим игры, представленный на рисунке 5.3: Рисунок 5.3 – Вид режима игры. При проигрыше на экране появится надпись «Игра окончена», предложение ввести имя игрока и подсказки для ввода. Это представлено на рисунке 5.4. Рисунок 5.4 – Режим ввода имени игрока. Кнопка «Рекорды» При переходе по данному пункту главного меню программа переходит в режим отображения лучших результатов, представленный на рисунке 5.5: Рисунок 5.5 – Режим отображения лучших результатов. Кнопка «Настройки» При переходе по данному пункту главного меню отображаются настройки игры, представленные на рисунке 5.6. Рисунок 5.6 – Режим настроек игры. В режиме настройки пользователь может выключить или включить фоновую музыку и звуковые эффекты. А также пользователь может поменять раскладку клавиатуры, с русской на английскую. Или на оборот с английской раскладки на русскую. Кнопка «Помощь» При переходе по данному пункту главного меню отображается инструкция по игре, представленная на рисунке 5.7. Рисунок 5.7 – Режим отображения инструкции. Кнопка «Выход» При нажатии данной кнопки происходи выход из программы. 6 Тестирование программы6.1 Загрузка и сохранение лучших результатов Просмотр лучших результатов был протестирован при повреждении файла загрузки:
Рисунок 6.1 – Сообщение об ошибке.
6.2 Нагрузочное тестирование игры Так же было выполнено нагрузочное тестирование игры. Суть его состоит в следующем: был уменьшен интервал создания парашютистов, и было отключено отнимание жизней. При начатии новой игры и ожидании нескольких минут, были выявлены следующие результаты: при создании 2000 объектов игра начала подтормаживать, при 3000 тормозить. Нагрузочное тестирование представлено на рисунке 6.2. Рисунок 6.2 – Нагрузочное тестирование игры. 7 Работа с файламиДля работы с файлами используется область библиотек базовых классов (System.IO), посвященная службам файлового ввода-вывода, а также ввода вывода из памяти.[3] При добавлении результата игрока в список лучших результатов из файла BestResults.txt извлекаются все данные и сравниваются с текущими очками игрока. Если у игрока будет больше очков в сравнении с результатами из списка, то его результат запишется в данный список, а последний результат будет удалён. Пример: Имя: Sergo Очки: 1000 В файл будет записываться имя и игровые очки игрока в зашифрованном виде: Имя: Очки: ÏÐÐÐ Так же игра будет сопровождаться звуковыми эффектами и фоновой музыкой. Для работы с медиафайлами используется специальная библиотека (Microsoft.Xna.Framework.Media). Звуковые файлы будут иметь расширение .mp3 и будут располагаться в папке Sounds, которая находится в ресурсах игры. 8 ЗаключениеВ ходе выполнения курсового проекта была спроектирована и реализована игра Алфавитные парашютисты. Игра предназначена для логического развития и развлечения, и представляет собой тренажёр на скорость и внимательность Для реализации была выбрана среда разработки Visual Studio 2010, версия .Net Framework 4.0, XNA Framework версии 4.0. Были изучены и применены основные инструменты разработки на XNA Framework. К игре Алфавитные парашютисты составлено краткое руководство пользователя, которое можно найти, нажав в главном меню кнопку «Помощь». В последующих версиях игры предусматривается улучшение архитектуры программы, улучшение графических возможностей. 9 Список используемых источников
|
Пояснительная записка к курсовому проекту по дисциплине «Объектно-ориентированное... Моделирование работы лифтов, wpf, варианты использования, uml диаграммы, пользовательский интерфейс, алгоритмы передвижений | Пояснительная записка к курсовому проекту по дисциплине «Объектно-ориентированное... Моделирование работы лифтов, wpf, варианты использования, uml диаграммы, пользовательский интерфейс, алгоритмы передвижений | ||
Урок №4 Тема: Введение в объектно -ориентированное программирование Познакомить учащихся с базовыми понятиями объектно-ориентированного программирования | Объектно-ориентированное программирование на примере размножения и развития живых организмов Данная работа представляет собой методическую разработку четырёх уроков информатики, посвящённых объектно-ориентированному программированию.... | ||
Пояснительная записка к курсовому проекту по дисциплине «Разработка... Курсовой проект содержит: страниц – 22, источников – 8, рисунков – 9, таблиц – 1 | «Объектно-ориентированное программирование» в 10 – 11 классе Икт: Практикум по программированию, 10-11 класс. Он содержит поурочные разработки по данному учебнику и диск с готовыми проектами... | ||
Методические указания к курсовому проекту по дисциплине «Программная инженерия» Документирование процесса разработки программных средств с использованием uml: Методические указания к курсовому проекту по дисциплине... | Пояснительная записка к курсовому проекту по дисциплине «Разработка сапр» Целью работы является разработка и реализация библиотеки элементов «Отвертка» на базе системы компас 3D, с использованием методов... | ||
Пояснительная записка к курсовому проекту по дисциплине Схемотехника... Усилительный каскад, транзистор, коэффициент передачи, частотные искажения, напряжение, мощность, термостабилизация, скважность,... | Пояснительная записка к курсовому проекту по дисциплине «Разработка... Курсовой проект содержит: страниц –19, источников – 5, рисунков – 6, таблиц – 2 | ||
Пояснительная записка к курсовому проекту по дисциплине: «Разработка сапр» Целью данной работы является разработка и реализация модуля к сапр «Зубчатая передача с пересекающимися осями колес» на базе системы... | Интегрированная среда разработки языка Visual Basic ... | ||
Урок №6 Тема урока: Объектно-ориентированное программирование Умение работать в коллективе, умение делать самоанализ, взаимоконтроль, развитие дисциплины | Урок по предметам «Информационная безопасность» и «Объектно-ориентированное... Необходимое оборудование и программы: пк с ос windows, среда программирования Delphi, проектор | ||
Курсовая работа выполняется на основании 'Задания на курсовую работу'... Целью курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи обработки данных с помощью... | Пояснительная записка к курсовому проекту по прикладной механике... Курсовой проекта содержит два листа графической части формата а-1 и пояснительную записку в «35» листов |