Программа, моделирующая игру Сбей самолет

Описание:
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

ПРИДНЕСТРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ         

  ИМ. Т.Г. ШЕВЧЕНКО

Рыбницкий филиал

Кафедра информатики и программной инженерии

КУРСОВАЯ   РАБОТА

по дисциплине

«ПРОГРАММИРОВАНИЕ»

на тему:

 «Программа, моделирующая игру “Сбей самолет”»

Студентки I курса

направления «Педагогическое

образование»

профиля «Информатика»

дополнительного профиля

«Иностранный язык»

Бойко Виктория Александровна

Научный руководитель:

преподаватель

Гарбузняк Елена Сергеевна

Рыбница, 2016 год

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ. 3

I. ИССЛЕДОВАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ.. 5

1.1 Правила игры.. 5

1.2 Алгоритм игры.. 5

1.3 Обзор существующих программ. 6

1.4 Графический режим в Turbo Pascal 8

1.5 Возможности среды программирования. 9

Вывод по разделу 1. 11

II. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА, ОПИСАНИЕ РЕЗУЛЬТАТОВ. 12

2.1 Требование к программному продукту. 12

2.2 Меню.. 12

2.3 Описание пользовательских подпрограмм. 14

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


ВВЕДЕНИЕ

Игры – непременная составляющая любой человеческой культуры. Слово «игра» прилагается почти ко всякому детскому занятию. Посредством игры наиболее интенсивно развивается целостное восприятие окружающего мира, наглядно-образное мышление, творческое воображение. Поэтому кроме программ, которые облегчают людям работу, программисты придумали увлекательное развлечение – компьютерные игры. Сначала в эти игры играли только они сами, но очень скоро их эстафету приняли дети и взрослые по всему миру. Сейчас уже трудно найти человека, имеющего компьютер и ни разу не игравшего в компьютерные игры.

Актуальность исследования определяется тем, что создание игр – это одно из самых популярных и интересных направлений в программировании. Оно позволяет изучить графические возможности компьютера, глубже понять способы его работы.  

Объект курсовой работы – создание программного продукта.

Предмет курсовой работы – программный продукт, программа, моделирующая игру «Сбей самолет».

Цель курсовой работы – создание программного продукта, программы, моделирующей игру «Сбей самолет».

 Для достижения этой цели были поставлены следующие задачи:

1.     изучить теоретические сведения, необходимые для решения данной задачи;

2.     ознакомиться с теоретическим разделом по работе с графическим режимом в Turbo Pascal;

3.     систематизировать и обобщить полученные знания;

4.     изучить аналогичные программные продукты;

5.     создать пользовательский интерфейс;

6.     создать программный продукт, моделирующий игру «Сбей самолет»;

7.     провести тестирование и отладку программы.

Цель и задачи курсовой работы определили её структуру. Она состоит из введения, двух разделов, заключения, списка литературы и приложений.

В первом разделе был изучен раздел по работе с графическим режимом в Turbo Pascal, рассмотрена история игры «Сбей самолет», проведен обзор существующих программных продуктов, изучены правила игры.

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

Заключение содержит в себе результаты проделанной работы при реализации игры «Сбей самолет».

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


I. ИССЛЕДОВАНИЕ И АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Правила игры

По экрану летят вражеские самолеты. Их передвижение осуществляется с право налево, или слево на право. Самолет летит, пока не улетит за пределы экрана. Цель играющего – сбить их. Пусковая установка находится в нижней строке экрана. Пусковую установку можно перемещать по строке вперед и назад. За каждый сбитый самолет начисливается одно очко. Одно очко – один сбитый самолет. Определенное количество набранных очков увеличивает уровень. С каждым последующим уровнем темп игры увеличивается. Во время игры, на экране, кроме самолетов появляются бонусы. Чтоб получить бонус, нужно его сбить так же как и самолет. Бонус увеличения жизни. Игра заканчивается тогда, когда количесво имеющихся жизней заканчивается.

1.2 Алгоритм игры

После запуска программы на экран выводиться окно. Программа выполняется следующим образом: Сначала на форму выводятся объекты – летящие самолеты, и пушка. Игрок запускает ракету, которая может сбить или не сбить самолет. За один раз можно пустить только одну ракету. Если ракета попадает в самолет, то стирается самолет и ракета, увеличивается счетчик сбитых самолетов, счетчик ракет не изменяется, самолет начинает «полет» снова, а игрок получает право пустить следующую ракету. Если игрок не попал в самолет, ракета долетает до верхней границы окна, счетчик ракет уменьшается на 1, и игрок получает право пустить следующую ракету. Если счетчик ракет достигает (0) то программа выводит сообщение о том сколько самолетов сбито. После нажатия на кнопку «Ок» программа завершает свое выполнение. Также во время игры игрок может поставить игру на паузу нажав кнопку «р». После нажатия все таймеры прекращают свое выполнение. Для восстановления игры потребуется нажать на кнопку «о». После нажатия этой кнопки самолеты продолжают свое выполнение. Возможно, также запустить игру с начала, если нажать кнопку «I». Все счетчики сбрасываются, а таймеры начинают снова свое выполнение.

1.3 Обзор существующих программ

Игра реализована практически на всех современных компьютерах, включая мобильные телефоны, игровые видеоприставки, телевизоры (как дополнительная функция), множество карманных игровых устройств. Есть варианты игры для всех сколько-нибудь распространённых операционных систем, а также для Java. Трудно, если вообще возможно, назвать такую вычислительную платформу, где бы не было этой игры.

Существуют аналоги данной игры. Сбитие самолетов происходит не с земли, а непосредственно в воздухе.

«Ил-2: штурмовик»

Пожалуй, одна из лучших отечественных игр и просто одна из главных авиационных серий в игровой индустрии. Первый«Ил-2: штурмовик»появился в 2001 году стараниями1C: Maddox Gamesи сразу завоевал любовь игроков и признание прессы.Лучше смоделированных боевых действий в небе времен Великой Отечественной в играх не было. Всего авторы воссоздали по архивным чертежам 77 видов самолетов (с учетом модификаций) и почти 80 типов наземной техники: танков, полевых орудий, зенитных батарей. День в игре плавно сменял ночь, а облака использовались в качестве укрытия. Игра имела встроенный редактор, благодаря которому еще долго оставалась на гребне популярности. И сами разработчики поддерживали ее на плаву, выпуская бесконечные дополнения и новые части. Их было столько, что перечислять все нет смысла. Последняя пока часть серии —«Ил-2 Штурмовик: битва за Британию»— вышла в 2011 году, а сейчас в раннем доступе находится«Ил-2 Штурмовик: битва за Сталинград».

Digital Combat Simulator

Игрой студии стала DCS: A-10C Warthog (она же «Digital Combat Simulator: A-10C— Битва за Кавказ»), посвященная американскому боевому реактивному самолету A-10C. И здесь было все столь же серьезно: разработчики смоделировали большинство систем авионики, сенсоров и оружия, скрупулезно воссоздали динамику полета. Научиться управлять машиной было немногим проще, чем родить сына, посадить дерево и построить дом. Но поклонники справлялись.

Затем вышло еще несколько не менее хардкорных игр, в которых можно было почувствовать себя пилотом Миг-29А (9-12), Миг-29С (9-13), Су-27П, Су-33, F-15C, A-10A, Су-25. А в «DCS: огневой рубеж» позволили порулить и «наземкой». А еще Eagle Dynamics выпустила замечательные авиасимы FlankerиLock On. Обе серии до сих пор актуальны.

Microsoft Flight Simulator

Это не только одна из старейших игровых серий про самолеты, но одна из древнейших игровых серий в принципе. Flight Simulator 1.0вышла — в ноябре 1982 года на IBM PC. Если вычислительная машина могла запустить игру, значит, она была PC-совместимой, а ее владелец — счастливчиком.

Спустя одиннадцать классических ретро-частей, в 2006 году, появилась Microsoft Flight Simulator X, ставшая одной из самых важных игр серии. Перечень доступных летательных аппаратов включал 24 модели. Были представлены все основные классы самолетов: от маленьких винтовых до бизнес-джетов и джамбо-джетов. Были и гиганты вроде Boeing 747.

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

После изучения теоретического материала было решено создать программный продукт, реализующий игру «Сбей самолет» в среде программирования Turbo Pascal, который будет соответствовать общепринятым стандартам, установленным различными версиями игры «Сбей самолет» и обладать следующими функциями:  

1.     меню с такими пунктами, как «играть», «опции» и «выход»;

2.     наличие уровней сложности с возрастающей скоростью;

3.     стандартный набор фигур.

Основное назначение программы – развлечение играющих, совершенствование их координации и логического мышления.

1.4 Графический режим в Turbo Pascal

Стандартное состояние компьютера после запуска Turbo Pascal - текстовый режим. Для того, чтобы использовать его графические средства, нужно "определенным образом инициировать режим работы дисплейного адаптера". В графическом режиме работой дисплейного адаптера управляет графический драйвер.

Основные графические процедуры и функции:

1.     Построение фигур:

PutPixel(x,y,c) - отображает на экране точку с координатами (x,y) и цветом c.

Line(x1,y1,x2,y2) - рисует линию с началом в точке (x1,y1) и концом - (x2,y2).

Rectangle(x1,y1,x2,y2) - рисует контур прямоугольника с диагональю (x1,y1) - (x2,y2).

Bar(x1,y1,x2,y2) - рисует закрашенный прямоугольник с диагональю (x1,y1) - (x2,y2).

Circle(x,y,r) - рисует окружность с центром (x,y) и радиусом r.

Ellipse(x,y,ba,ea,xr,yr) - рисует дугу эллипса с центром в (x,y), горизонтальным и вертикальным радиусом xr и yr, и начальным и конечным углом ba и ea.

FillEllipse(x,y,xr,yr) - рисует закрашенный эллипс с центром в (x,y), горизонтальным и вертикальным радиусом xr и yr.

2.     Определение цветов и стилей:

GetPixel(x,y) - возвращает цвет пиксела с координатами (x,y)

SetColor(c) - устанавливает цвет изображения (для линий)

SetFillStyle(p,c) - устанавливает текущий стиль p и цвет c (для "закрашенных" фигур)

FloodFill(x,y,b) - закрашивает замкнутую область с внутренней точкой (x,y) и цветом контура b

3.     Работа с текстом:

OutTextXY(x,y,st) - выводит на экран строку st с позиции (x,y)

SetTextStyle(f,d,s) - устанавливает шрифт f, его направление d и размер

1.5 Возможности среды программирования

В 1992 году фирма Borland International выпустила два пакета программирования, основанные на использовании языка Паскаль [1,8],- Borland Pascal 7.0 и Turbo Pascal 7.0.

Пакет Borland Pascal 7.0 учитывает многие новейшие достижения в программировании и практике создания программ и включает в себя три режима работы: в обычном режиме операционной системы MS DOS, в защищенном режиме MS DOS и в среде Windows. Обладая расширенными возможностями, пакет Borland Pascal 7.0 тем не менее требует для использования всех своих возможностей довольно большую память - примерно 30 Мбайт на жестком диске и не менее 2 Мбайт оперативной памяти.  Да и стоимость этого пакета довольно высокая. Пакет Turbo Pascal 7.0 обладает ограниченными возможностями и позволяет работать только в обычном режиме MS DOS, но может быть использован практически на любой машине и стоит существенно дешевле.

Turbo Pascal включает в себя как язык программирования - одно из расширений языка Паскаль для ЭВМ типа IBM, так и среду, предназначенную для написания, отладки и запуска программ.

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

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

  Пакет предоставляет пользователю также большой объем справочной информации.

  Версия 7.0, так же как и предыдущая версия 6.0, обеспечивает многооконный и многофайловый режим работы, использование манипулятора "мышь" (в дальнейшем - просто "мышь"), позволяет применять объектно-ориентированное программирование, обладает встроенным ассемблером, имеет инструментальное средство создания интерактивных программ - Turbo Vision - и т. д.

Однако эта версия имеет и ряд характерных особенностей по сравнению с предыдущими:

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

   - многофайловая система помощи с возможностью ее перестройки пользователем;

   - наличие локального меню с содержанием, зависящим от текущего состояния среды и вызываемого либо нажатием правой клавиши "мыши", либо нажатием комбинации клавиш Alt-F10;

   - ряд дополнительных расширений языка, таких, как использование открытых массивов, параметров-констант, типизированного адресного оператора @ и т. д., дающих программисту дополнительные возможности, позволяющих совмещать требования, накладываемые на программы операционной системой MS DOS и средой Windows, пользоваться некоторыми возможностями, которых нет в языке Паскаль и которые есть в других языках, например в языке Си;

   - наличие дополнительных стандартных процедур и функций; наличие дополнительных ключей компилятора;

   -  расширенные  возможности объектно-ориентированного программирования;

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

   - новая улучшенная компоновка системы меню.

Вывод по разделу 1

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

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

II. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА, ОПИСАНИЕ РЕЗУЛЬТАТОВ.

2.1 Требование к программному продукту

При разработке программного продукта требовалось решить следующие задачи:

1.       Формирование игрового меню.

2.       Формирование игрового экрана.

3.       Формирование, движение и остановка фигур самолета и пушки.

4.       Загрузка игры.

5.       Вывод во время игры на экран различных параметров:

-         управления пушкой,

-         количество сбитых самолетов,

-         количество оставшихся снарядов.

6.       Вывод правил и автора реализованной игры.

2.2 Меню

«Сбить самолет» – это игра. Поэтому при разработке интерфейса пользователя был учтен ряд особенностей:

1.   Интерфейс должен быть интуитивно понятен простому пользователю компьютера.

2.  Цветовая схема не должна раздражать человека.

Программа предназначена для приятного проведения свободного времени. Она не должна иметь сильно сложную систему управления. Поэтому была использована всем известная система управления программой – меню. Каждому пункту меню присвоено название, соответствующее функциональному назначению. Это облегчает работу пользователя.

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

Для реализации данной игры были использованы процедуры и функции стандартного графического модуля Turbo Pascal 7.0:

Line(x1,y1,x2,y2) – рисует линию с началом в точке (x1,y1) и концом - (x2,y2);

Rectangle(x1,y1,x2,y2) – рисует контур прямоугольника с диагональю (x1,y1) - (x2,y2), где x1,y1 и x2,y2 - координаты левого верх­него угла и правого нижнего углов.

Bar(x1,y1,x2,y2) - рисует закрашенный прямоугольник с диагональю (x1,y1) - (x2,y2), где x1,y1 и x2,y2 - координаты левого верх­него угла и правого нижнего углов.

SetColor(c) - устанавливает цвет изображения (для линий), где с – определение цвета линии.

SetFillStyle(p,c) - устанавливает текущий стиль p и цвет c (для "закрашенных" фигур).

OutTextXY(x,y,st) - выводит на экран строку st с позиции (x,y), где х и у – координаты выводимой строки.

Procedure InitGraph (var GraphDriver : integer; var GraphMode : integer; PathToDriver : String); - Инициализирует графическую систему и устанавливает устройство в графический режим. PathToDriver - полный путь к драйверу .bgi, обычно "c: pgi". Если путь опущен (" "), то драйвер должен находится в текущем каталоге.

Procedure CloseGraph; - Закрывает графическую систему. Восстанавливает текстовый видеорежим, который был до инициализации графики. Освобождает буфер и сбрасывает все графические переменные.

Procedure ClearDevice; - Очищает экран и устанавливает текущий указатель (CP) в начало.


2.3 Описание пользовательских подпрограмм

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

Программный продукт состоит из пользовательских подпрограмм, листинг которых представлен в Приложении 2.

Для формирования игрового экрана был взят за основу следующий прин­цип: игровой экран состоит из квадратов, одни из которых светятся, а другие нет. Для этой цели удобнее всего использовать матрицу.

Для подготовки экрана к игре была создана процедура - HELP.

Для управления пушкой была создана процедура - PUSHKA.

Для изображения и анимации полета самолета была создана процедура - SAMOLET.

Для изображения игрового меню и для самой работы с ним была создана процедура – MENU.

Для просмотра правил игры была создана процедура – PRAVILA.

Для просмотра данных об авторе игры была созданна процедура – AVTOR.

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

После запуска программного продукта появляется меню, состоящее из четырёх пунктов «Старт», «Правила», «Автор», «Выход». Вид меню показан на рис. 2.1.

Рис. 2.1. Меню игры «Сбей самолет»

Информация о файле
Название файла Программа, моделирующая игру Сбей самолет от пользователя Гость
Дата добавления 5.5.2020, 16:04
Дата обновления 5.5.2020, 16:04
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 48.62 килобайт (Примерное время скачивания)
Просмотров 633
Скачиваний 97
Оценить файл