Разработка приложения: футбольный симулятор

Автор работы: Пользователь скрыл имя, 18 Ноября 2013 в 21:14, дипломная работа

Краткое описание

Темой своей работы я выбрал реализацию футбольного симулятора, так как люблю этот вид спорта, а так же считаю его наиболее популярным. В мои задачи входит:
Создать интерфейс, реализующий передвижения игроков
Написать логическую структуру игры (движение игроков, пас, удар)
Реализовать атаку и защиту команд
Для реализации проекта я выбрал язык С++ и кроссплатформенную среду разработки 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 

  1. Предварительный анализ

Уже многие годы лучшими играми в  жанре спортивных симуляторов считаются серии игр 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 игрока и вратарь) с визуализацией перемещения игроков.

  1. Основные проектные решения

    1. Постановка задачи

Разработать приложение, которое реализует  логическую структуру футбольного  симулятора.

      • создать визуальную картинку игры
      • корректное отображение входных, выходных данных
      • составить инструкцию пользователю
    1. Требования к программе

      1. Требования к функциональным характеристикам

Приложение обеспечивает возможность  выполнения следующих функций:

      • Движение игроков
      • Атака
      • Защита
      • Матрица для перемещения игроков
      • Визуальная реализация игры
      • Возможность ставки в начале игры
      • Матч прекращается после пяти забитых либо пропущенных мячей
      1. Требования к надежности

При закрытии программы пользователем вывести предупреждающее сообщение о выходе из программы.

 

 

 

 

 

      1. Требования к составу технических средств

Для корректной работы программы  система должна работать на IBM-совместимых персональных компьютерах.

Минимальная конфигурация:

Процессор: Pentium III(1000 Mh) и выше;

ОЗУ: 32 Мб и выше;

ПЗУ: 10 Мб и выше.

      1. Требования к программной совместимости

Система должна работать под управлением  операционных систем семейства Windows, реализующих Win32 API и Unix. Для запуска приложения потребуется программа Qt 5.0.2

    1. Обоснование выбора среды разработки

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 позволяет создавать собственные  плагины и размещать их непосредственно  в панели визуального редактора.  Также существует возможность  расширения привычной функциональности  виджетов, связанной с размещением  их на экране, отображением, перерисовкой при изменении размеров окна.

    1. Организация входных и выходных данных

      1. Выходные данные

      • Интерфейс, реализующий движение игроков
      • Футбольное поле, в виде матрицы
      • Счет игры
      • Меню игры
    1. Разработка пользовательского интерфейса

Пользовательские интерфейсы бывают двух видов:

Процедурно-ориентированные  интерфейсы:

    • Обеспечивают пользователю функции, необходимые для выполнения задач;
    • Акцент делается на задачи;
    • Пиктограммы представляют приложения, окна или операции;
    • Содержание папок и справочников отражается с помощью таблицы-списка.

Объектно-ориентированные  интерфейсы:

    • Обеспечивает пользователю возможность взаимодействия с объектами;
    • Акцент делается на входные данные и результаты;
    • Пиктограммы представляют объекты;
    • Папки и справочники являются визуальными контейнерами объектов.
    • Включают в себя подвид т.н. прямого манипулирования.

 

 

 

Рис. 2.1 – Виды пользовательских интерфейсов.

В данном проекте использовано одноуровневое интерфейс-меню с пунктами:

    • Начать игру
    • Меню
        1. Справка
        1. Об авторе
        2. Назад
    1. Словесное описание алгоритма

      1. Описание логики игры

      • При запуске программы, на экране появляется окно главного меню, а за ним окно программы.
      • В окне программы рисуются игроки, поле и сетка для передвижения игроков.
      • Размер поля зависит от размера окна.
      • Если растягивать окно, то поле будет искать оптимальный размер для пропорции два к одному.
      • Если нажать кнопку «Начать игру» - окно главного меню закрывается и включается таймер.
      • Каждую единицу времени, установленную таймером, картинка перерисовывается.
      • Атаку начинает синяя команда, ее игроки движутся вперед, пока не достигнут конца поля, случайным образом смещаясь вверх или вниз по оси «у».
      • Каждую единицу времени мяч получает координаты игрока, который им владеет.
      • Игроки защищающейся команды начинают движение в сторону игроков атаки и пока они не находятся рядом с игроками атаки – перемещаются к координатам противника.
      • Если рядом с атакующим игроком находится игрок защищающейся команды, то атакующий игрок пытается его обыграть, а защитник отнять у него мяч.
      • Мяч отнимается в том случае если координаты по осям «х» и «у» совпадают у обоих игроков.
      • Если рядом со вторым игроком атакующей команды рисуется второй защитник, то он пытается открыться для получения паса, а защитник пытается его закрыть.
      • Если игрок с мячом входит в позицию, из которой можно пробить по воротам, то он решает либо бить, либо двигаться дальше.
      • Если у игрока неудобный угол для удара, он отдает пас, второму игроку.
      • Если игрок пробил по воротам, то либо мяч поймает вратарь и отдаст его игроку своей команды, либо игрок забьет гол.
      • Если забит гол, то на табло к результату забившей команды прибавляется 1, и игроки устанавливаются в позицию после забитого мяча и атаку начинает пропустившая команда.
      • Если игрок добегает до границ поля по оси «у» он начинает смещение к центу поля, продолжая двигаться вперед.
      • Если игрок добегает до границ поля по оси «х» он отдает пас и начинает смещение в сторону от ворот.
      • Если одна из команд забила пять мячей, то таймер останавливается, на экран выводится сообщение, с информацией о победившей команде и появляется окно с кнопкой выхода.

 

 

 

 

 

 

 

 

      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. – Окно завершения программы

    1. Руководство пользователя

      1. Общие сведения о программном продукте

Программа реализует:

      • Перемещение игроков
      • Атаку
      • Защиту
      • Возможность паса
      • Удары по воротам

 

      1. Описание запуска

Программа запустится только при наличии  приложения Qt 5.0.2.

    1. Скопировать с носителя папку Футбольный симулятор v.1.0
    2. Запустить файл Футбольный симулятор v1.0.pro
    3. В программе Qt 5.0.2 нажать кнопку запуска.

Информация о работе Разработка приложения: футбольный симулятор