Создание приложения Delphi Игра «Автогонки»

Автор работы: Пользователь скрыл имя, 25 Декабря 2012 в 02:35, курсовая работа

Описание работы

Данный курсовой проект реализует приложение «Создание приложения Delphi Игра «Автогонки»». Приложение представляет собой гонки с препятствиями. Программа легка для использования пользователям различного возраста. В программе предусмотрено:
• удобное управления;
• справка о продукте.
Управление происходит посредством кнопок «ф» и «в», игра происходит против компьютера. Цель игрока – не врезаться в препятствия, которые движутся вниз по экрану. При аварии игрок проигрывает. При каждом успешно пройденном препятствии игрок получает очко. Игра происходит до 50 очков. Как только Игрок или компьютер наберут 50 очков, тот, кто набрал, выигрывает.
Цель игры – набрать больше очков, чем компьютер.

Содержание работы

1.Аннотация…………………………………………………………………………..4
2.Библиографическая справка……………………………………………………...5
3.Логика проекта и её описание…………………………………………………….6
3.1.Блог-схема………………………………………………………………….6
3.2.Описание……………………………………………………………………7
4. Планирование проекта…………………………………………………………....8
5. Техническое задание……………………………………………………………….9
5.1.Постановка задачи………….………………………………………………9
5.2.Поддробное описание задачи……………………………………………..9
6.Технический проект…………………………………………………………….....12
6.1.Выбор языка программирования……………………………………….12
6.2.Разработка алгоритма решения задачи………………………………...12
6.3.Определение формы входных и выходных данных…………………..16
6.4.Разработка интерфейса…………………………………………………..17
6.5. Кодирование и отладка программ……………………………………..18
7.Тестирование………………………………………………………………….……23
8.Инструкция к эксплуатации………………………………………………………24
9.Реферативная часть……………………………………………………………….26
10. Заключение………………………………………………………………………28
11. Литература……………………………………………………………………....29
Приложение А……………………………………………………………………….31
Приложение Б…………………………………………………………………….....46

Файлы: 1 файл

Документация.doc

— 1.04 Мб (Скачать файл)

Вышедшая в 2011 году версия Delphi XE2 добавила компилятор Win64 и кросс-компиляцию для операционных систем фирмыApple.

 

Расширение  файлов:

  • .pas — исходный код модуля (pascal)
  • .dpr — исходный код проекта (pascal)
  • .dproj — исходный код проекта (xml)
  • .dproj.local — исходный код проекта (xml)
  • .dfm — исходный код формы
  • .dpk — скомпилированный пакет
  • .dcu — скомпилированный модуль
  • .exe — скомпилированное приложение
  • .res — ресурсы
  • .dsk — привязки к файлам
  • .identcache — кэшированные привязки к файлам

 

Известное программное обеспечение, созданное на Delphi:

Среди многих распространённых программных продуктов, написанных на Delphi, можно найти.

  • Продукция Embarcadero: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 и 2 версии.
  • Администрирование и разработка баз данных: MySQL Tools, IBExpert.
  • Инженерное программное обеспечение: Altium Designer.
  • Файловые менеджеры: Total Commander, Frigate.
  • Просмотрщики графики: FastStone Image Viewer, FuturixImager.
  • Видео- и аудиопроигрыватели: Light Alloy, The KMPlayer, AIMP, X-Amp.
  • Программы мгновенного обмена сообщениями: QIP, R&Q, графический интерфейс Skype, The Bat!, PopTray, FeedDemon.
  • Создание музыки: FL Studio, Guitar Pro (до версии 6.0).
  • Разработка программного обеспечения: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Веб-разработка: Macromedia HomeSite.
  • Текстовые редакторы: BirEdit, Notepad GNU, Bred.
  • Бухучёт и налогообложение: «ПАРУС», AVARDA.
  • Программы для создания анимаций: Pivot Stickfigure Animator.
  • Программы для сжатия данных: ALZip, PowerArchiver, PeaZip.
  • Компьютерные игры: Age of wonders, «Космические рейнджеры», Venom. Codename: Outbreak, Space Empires V, «Правда о девятой роте».

 

6.2 Разработка алгоритмов

 

Структу́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом. 
В соответствии с данной методологией

  1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
    • последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
    • ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
    • цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

  1. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
  2. Разработка программы ведётся пошагово, методом «сверху вниз».

Сначала пишется текст  основной программы, в котором, вместо каждого связного логического фрагмента  текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной «затычки», которая не была бы удалена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна. При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая части программы, непосредственно не связанные с ними. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста. 
 
Теорема о структурном программировании:

Основная статья: Теорема Бома-Якопини

Любую схему алгоритма  можно представить в виде композиции вложенных блоков begin и end, условных операторов if, then, else, циклов с предусловием (while) и может быть дополнительных логических переменных (флагов). 
Эта теорема была сформулирована итальянскими математиками К.Бомом и Дж.Якопини в 1966 году и говорит нам о том, как можно избежать использование оператора перехода goto.

 

История:

Методология структурного программирования появилась как  следствие возрастания сложности  решаемых на компьютерах задач, и  соответственного усложнения программного обеспечения. В 70-е годы XX века объёмы и сложность программ достигли такого уровня, что «интуитивная» (неструктурированная, или «рефлекторная») разработка программ, которая была нормой в более раннее время, перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать, поэтому потребовалась какая-то систематизация процесса разработки и структуры программ.

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

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

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

Перечислим некоторые  достоинства структурного программирования:

  1. Структурное программирование позволяет значительно сократить число вариантов построения программы по одной и той же спецификации, что значительно снижает сложность программы и, что ещё важнее, облегчает понимание её другими разработчиками.
  2. В структурированных программах логически связанные операторы находятся визуально ближе, а слабо связанные — дальше, что позволяет обходиться без блок-схем и других графических форм изображения алгоритмов (по сути, сама программа является собственной блок-схемой).
  3. Сильно упрощается процесс тестирования и отладки структурированных программ.

 

6.3 Определение формы входных\выходных данных

 

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

Для данного программного средства входными данными является:

- нажатие клавиш, введенных пользователем (A-движение влево, D-вправо).

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

Для данного  программного средства выходными данными  является:

- сообщение о выигрыше или проигрыше;

-перемещение  автомобиля влево и вправо;

-возникновение  препятствий;

-счет очков.

 

6.4 Разработка интерфейса

 

При запуске программы  перед пользователем появляется форма с полями ввода и кнопками Рисунок 6.1.

Рисунок 6.1 – главная форма

 

На форме мы видим:

- меню;

- игровое поле;

- табло очков;

 

6.5    Кодирование и отладка программ

 

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

Логические ошибки отслеживались  и локализовались с помощью встроенного отладчика, а затем так же исправлялись с помощью встроенного редактора.

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

Испытания, проведённые  над разработанным продуктом:

1) запущен исполняемый  файл программы;

2) запущена новая игра;

3) произведена «авария» после чего вам выдаст окно что вы проиграли!;

4) игра была пройдена без «аварий» выдаст окно что вы выиграли

(при этом  вы должны набрать 50 очков) ;

4) совершен выход из программы;

Вывод: машины успешно передвигаются через препятствие. 

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

 

 

 

7 Тестирование

 

Существующие на сегодняшний  день методы тестирования ПО не позволяют  однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО. 
Такой процесс формальной проверки, или верификации, может доказать, что дефекты отсутствуют с точки зрения используемого метода. (То есть нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО). 
Существует множество подходов к решению задачи тестирования и верификации ПО, но эффективное тестирование сложных программных продуктов — это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых. 
С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

§ Надёжность 
§ Сопровождаемость 
§ Практичность 
§ Эффективность 
§ Мобильность 
§ Функциональность 

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

 
§ Функциональное тестирование (functional testing) 
§ Тестирование производительности (performance testing) 
§ Нагрузочное тестирование (load testing) 
§ Стресс-тестирование (stress testing) 
§ Тестирование стабильности (stability / endurance / soak testing) 
§ Юзабилити-тестирование (usability testing) 
§ Тестирование интерфейса пользователя (UI testing) 
§ Тестирование безопасности (security testing) 
§ Тестирование локализации (localization testing) 
§ Тестирование совместимости (compatibility testing)

Информация о работе Создание приложения Delphi Игра «Автогонки»