Разработка приложения: футбольный симулятор
Дипломная работа, 18 Ноября 2013, автор: пользователь скрыл имя
Краткое описание
Темой своей работы я выбрал реализацию футбольного симулятора, так как люблю этот вид спорта, а так же считаю его наиболее популярным. В мои задачи входит:
Создать интерфейс, реализующий передвижения игроков
Написать логическую структуру игры (движение игроков, пас, удар)
Реализовать атаку и защиту команд
Для реализации проекта я выбрал язык С++ и кроссплатформенную среду разработки Qt5.0.2
Содержание
ВВЕДЕНИЕ 7
1. ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ 4
2. ОСНОВНЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ 6
2.1. Постановка задачи 6
2.2. Требования к программе 6
2.2.1. Требования к функциональным характеристикам 6
2.2.2. Требования к надежности 6
2.2.3. Требования к составу технических средств 7
2.2.4. Требования к программной совместимости 7
2.3. Обоснование выбора среды разработки 7
2.4. Организация входных и выходных данных 8
2.4.1. Выходные данные 8
2.5. Разработка пользовательского интерфейса 8
2.6. Словесное описание алгоритма 9
2.6.1. Описание логики игры 9
2.6.2. Описание структуры классов 11
2.7. Тестирование 11
2.8. Руководство пользователя 14
2.8.1. Общие сведения о программном продукте 14
2.8.2. Описание запуска 15
2.8.3. Инструкция по работе 15
3. ОРГАНИЗАЦИОННЫЙ РАЗДЕЛ 16
3.1. Требования к рабочему месту 16
3.2. Зрительная гимнастика 17
3.3. Требования пожаробезопасности при работе на вычислительной технике 17
ЗАКЛЮЧЕНИЕ 18
Список используемой литературы 19
Прикрепленные файлы: 1 файл
ДипломПЗ.doc
— 969.50 Кб (Скачать документ)Государственное образовательное учреждение высшего профессионального образования Московской области
Международный университет природы, общества и человека «Дубна»
Филиал Дмитровский институт непрерывного образования
ДИПЛОМНЫЙ ПРОЕКТ
Тема «Разработка приложения футбольный симулятор»
ФИО студента Лужин Борис Владимирович__________________
Группа 809 Специальность 230105 “Программное обеспечение вычислительной техники и автоматизированных систем”
Выпускающая ПЦК «Математики, естественно-научных дисциплин и информационных технологий»
Руководитель проекта _________
Рецензент __________________
Дипломный проект допущен к защите “19” июня 2013 г.
Председатель ПЦК _________________ / С.Г. Богданов /
г. Дмитров, 2013г.
Содержание
Введение
В современном, стремительно развивающемся мире, информационные технологии стали неотъемлемой его частью. С каждым днем человеческий труд все больше автоматизируется роботами, терминалами и прочими технологиями.
Благодаря программистам мы можем связаться с любым человеком из любой точки мира, при помощи технологий Skype, RedCall и др. Эти люди придумали поисковые системы Google, Mail, Yandex. Они написали операционные системы семейств Windows и Unix, создали бесконечное множество игр и программ, упростив нашу жизнь настолько, что мы можем заказывать пищу, не вставая с рабочего места.
Многие люди любят проводить свободное время за компьютерными играми, погружаясь в виртуальный мир с новыми возможностями. Существует множество различных жанров: аркады, стратегии, RPG(Role-playing game) в том числе и спортивные симуляторы: футбол, баскетбол, хоккей и др.
Темой своей дипломной работы я выбрал реализацию футбольного симулятора, так как люблю этот вид спорта, а так же считаю его наиболее популярным.
В мои задачи входит:
- Создать интерфейс, реализующий передвижения игроков
- Написать логическую структуру игры (движение игроков, пас, удар)
- Реализовать атаку и защиту команд
Для реализации проекта я выбрал
язык С++ и кроссплатформенную среду разработки
Qt5.0.2
Предварительный анализ
Уже многие годы лучшими играми в жанре спортивных симуляторов считаются серии игр FIFA и PES. За счет прорыва компьютерной графики эти игры позволяют окунуться в мир футбольной тактики и стратегии, сыграть за звездные клубы, побыть успешными игроками и стать тренером любимой команды.
Рис.1.1 – Гемплей FIFA 13
Рис.1.2 – Гемплей PES 13
Сравнивая FIFA 13 и PES 2013, мы обнаружим следующие преимущества и недостатки:
FIFA 13 |
PES 2013 |
Возможность выбора команд из 27 футбольных лиг |
Всего около 50 команд |
Присутствует большой выбор режимов игры |
Реализован официальный турнир «Лига чемпионов» |
Два варианта защиты: тактическая и стандартная |
Один вариант защиты |
Атакующие игроки продумывают свои действия на два шага вперед |
Атакующие игроки продумывают свои действия на два шага вперед |
Упрощенный удар по воротам, позволяющий чаще попадать в створ. |
Реалистичная модель удара и движения сетки ворот от касания мяча |
Предусмотрена возможность игры через интернет |
Таблица 1.1 – Сравнение возможностей FIFA 13 и PES 2013
Вывод:
В данном дипломном проекте реализуется вариант логической структуры футбольного симулятора три на три (в команде 2 игрока и вратарь) с визуализацией перемещения игроков.
Основные проектные решения
Постановка задачи
Разработать приложение, которое реализует логическую структуру футбольного симулятора.
- создать визуальную картинку игры
- корректное отображение входных, выходных данных
- составить инструкцию пользователю
Требования к программе
Требования к функциональным характеристикам
Приложение обеспечивает возможность выполнения следующих функций:
- Движение игроков
- Атака
- Защита
- Матрица для перемещения игроков
- Визуальная реализация игры
- Возможность ставки в начале игры
- Матч прекращается после пяти забитых либо пропущенных мячей
Требования к надежности
При закрытии программы пользователем вывести предупреждающее сообщение о выходе из программы.
Требования к составу техническ
их средств
Для корректной работы программы система должна работать на IBM-совместимых персональных компьютерах.
Минимальная конфигурация:
Процессор: Pentium III(1000 Mh) и выше;
ОЗУ: 32 Мб и выше;
ПЗУ: 10 Мб и выше.
Требования к программной совме
стимости
Система должна работать под управлением операционных систем семейства Windows, реализующих Win32 API и Unix. Для запуска приложения потребуется программа Qt 5.0.2
Обоснование выбора среды разработки
Qt 5.0.2 - кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, PySide; Ruby — QtRuby; Java — Qt Jambi; PHP — PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
Отличительная особенность Qt от других библиотек — использование Meta Object Compiler (MOC) — предварительной системы обработки исходного кода (в общем-то, Qt — это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.
Qt позволяет создавать
Организация входных и выходных данных
Выходные данные
- Интерфейс, реализующий движение игроков
- Футбольное поле, в виде матрицы
- Счет игры
- Меню игры
Разработка пользовательского и
нтерфейса
Пользовательские интерфейсы бывают двух видов:
Процедурно-ориентированные интерфейсы:
- Обеспечивают пользователю функции, необходимые для выполнения задач;
- Акцент делается на задачи;
- Пиктограммы представляют приложения, окна или операции;
- Содержание папок и справочников отражается с помощью таблицы-списка.
Объектно-ориентированные интерфейсы:
- Обеспечивает пользователю возможность взаимодействия с объектами;
- Акцент делается на входные данные и результаты;
- Пиктограммы представляют объекты;
- Папки и справочники являются визуальными контейнерами объектов.
- Включают в себя подвид т.н. прямого манипулирования.
Рис. 2.1 – Виды пользовательских интерфейсов.
В данном проекте использовано одноуровневое интерфейс-меню с пунктами:
- Начать игру
- Меню
- Справка
- Об авторе
- Назад
Словесное описание алгоритма
Описание логики игры
- При запуске программы, на экране появляется окно главного меню, а за ним окно программы.
- В окне программы рисуются игроки, поле и сетка для передвижения игроков.
- Размер поля зависит от размера окна.
- Если растягивать окно, то поле будет искать оптимальный размер для пропорции два к одному.
- Если нажать кнопку «Начать игру» - окно главного меню закрывается и включается таймер.
- Каждую единицу времени, установленную таймером, картинка перерисовывается.
- Атаку начинает синяя команда, ее игроки движутся вперед, пока не достигнут конца поля, случайным образом смещаясь вверх или вниз по оси «у».
- Каждую единицу времени мяч получает координаты игрока, который им владеет.
- Игроки защищающейся команды начинают движение в сторону игроков атаки и пока они не находятся рядом с игроками атаки – перемещаются к координатам противника.
- Если рядом с атакующим игроком находится игрок защищающейся команды, то атакующий игрок пытается его обыграть, а защитник отнять у него мяч.
- Мяч отнимается в том случае если координаты по осям «х» и «у» совпадают у обоих игроков.
- Если рядом со вторым игроком атакующей команды рисуется второй защитник, то он пытается открыться для получения паса, а защитник пытается его закрыть.
- Если игрок с мячом входит в позицию, из которой можно пробить по воротам, то он решает либо бить, либо двигаться дальше.
- Если у игрока неудобный угол для удара, он отдает пас, второму игроку.
- Если игрок пробил по воротам, то либо мяч поймает вратарь и отдаст его игроку своей команды, либо игрок забьет гол.
- Если забит гол, то на табло к результату забившей команды прибавляется 1, и игроки устанавливаются в позицию после забитого мяча и атаку начинает пропустившая команда.
- Если игрок добегает до границ поля по оси «у» он начинает смещение к центу поля, продолжая двигаться вперед.
- Если игрок добегает до границ поля по оси «х» он отдает пас и начинает смещение в сторону от ворот.
- Если одна из команд забила пять мячей, то таймер останавливается, на экран выводится сообщение, с информацией о победившей команде и появляется окно с кнопкой выхода.
Описание структуры классов
Тестирование
После написания программы, ее нужно протестировать. На рис. 2.7.1 изображено главное меню программы, которое появляется после ее запуска.
Рис.2.7.1. – Главное меню программы
Если нажать на кнопку «Меню» появляется меню программы (Рис. 2.7.2) Здесь располагаются кнопки: «Справка», «Об авторе», «Назад».
Рис.2.7.2 – Меню программы
Окно справки и окно об авторе изображены на Рис. 2.7.3 и Рис.2.7.4.
Рис.2.7.3 – Окно справки
Рис.2.7.4 – Окно информации об авторе
Вернувшись в главное меню, нажимается кнопка «Начать игру». На Рис.2.7.5 Продемонстрирован старт игры. Игроки находятся на изначальных позициях.
Рис.2.7.5 – Начало игры
На Рис.2.7.6 изображено как голкипер ловит мяч.
Рис.2.7.6 – Голкипер поймал мяч
На Рис.2.7.7 – Продемонстрировано как крассная команда забивает гол. Мяч оказывается в воротах позади голкипера. На табло красной команде прибавляется единица. Игроки устанавливаются в позиции после забитого мяча.
Рис.2.7.7 – Гол красной команды
После того как одна из команд забивает пять мячей таймер останавливается и на экране появляется окно с кнопкой выхода (Рис.2.7.8). Так же в заголовке окна пишется какая команда победила.
Рис.2.7.8. – Окно завершения программы
Руководство пользователя
Общие сведения о программном продукте
Программа реализует:
- Перемещение игроков
- Атаку
- Защиту
- Возможность паса
- Удары по воротам
Описание запуска
Программа запустится только при наличии приложения Qt 5.0.2.
- Скопировать с носителя папку Футбольный симулятор v.1.0
- Запустить файл Футбольный симулятор v1.0.pro
- В программе Qt 5.0.2 нажать кнопку запуска.