Создание приложения 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 Мб (Скачать файл)

 
По знанию системы:

 
§ Тестирование чёрного ящика (black box) 
§ Тестирование белого ящика (white box) 
§ Тестирование серого ящика (grey box)

 
По степени автоматизации:

 
§ Ручное тестирование (manual testing) 
§ Автоматизированное тестирование (automated testing) 
§ Полуавтоматизированное тестирование (semiautomated testing)

 
По степени изолированности компонентов:

 
§ Компонентное (модульное) тестирование (component/unit testing) 
§ Интеграционное тестирование (integration testing) 
§ Системное тестирование (system/end-to-end testing)

 
По времени проведения тестирования:

 
§ Альфа-тестирование (alpha testing) 
§ Тестирование при приёмке (smoke testing) 
§ Тестирование новой функциональности (new feature testing) 
§ Регрессионное тестирование (regression testing) 
§ Тестирование при сдаче (acceptance testing) 
§ Бета-тестирование (beta testing)

 
По признаку позитивности сценариев:

 
§ Позитивное тестирование (positive testing) 
§ Негативное тестирование (negative testing)

 
По степени подготовленности к  тестированию:

 
§ Тестирование по документации (formal testing) 
§ Тестирование ad hoc или интуитивное тестирование (ad hoc testing)

 

 

 Тестирование и отладка идут рука об руку, так что большинство  программистов просто не воспринимают их как отдельные этапы разработки программ. Однако путь к успеху лежит  через разделение процесса отладки  и тестирования на два разных этапа работы над программой, и вам следует четко представлять себе, что цель тестирования - определить наличие (или отсутствие) ошибок, В то время как цель отладки - определить местоположение ошибок и устранить их. Поскольку цели этих  двух этапов разработки программ различны, различны и используемые для этого методы и инструменты.

                                  

 

8 Инструкция к эксплуатации

 

Минимальные системные  требования:

Для функционирования программы необходимо наличие операционной системы Windows 98/МЕ/2000/XP, так как она создавалась специально для работы в этой среде. Пользователь должен иметь навыки работы в среде Windows, так как все формы, разработанные в приложении, используют компоненты Windows для обеспечения диалога между программой и пользователем.

Основные  требования к среде функционирования:

- микропроцессор Intel или AMD с тактовой частотой 200МГц и выше;

- объем оперативной  памяти не ниже 32 Мб;

- наличие монитора  с разрешением не менее 800x600 точек;

- объем дискового  пространства не менее 1Мб;

- клавиатура  и мышь;

- операционная система Microsoft Windows 98/NT/2000/XP;

Компиляция  программы  в исполняемый файл из исходных кодов осуществляется с помощью среду Borland Delphi 7. Программа написана для работы в ОС MS Windows XP , и хотя это не исключает возможной совместимости с другими ОС семейства Windows , работа программы в других ОС не гарантирована разработчиком.

На диске с программой находится файл программы Game.exe выполните его.

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

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

На диске так же представлены пояснительная записка  и презентация.

 

Разрабатываемое программное  средство будет работать по следующему принципу:

    • после открытия файла Project1.exe появиться  окно разделенное на три части т.е на трассу игрока, на трассу компьютера, и окно с очками игроков.
    • Пользователю необходимо прочитать инструкцию управления автомобилем.
    • когда пользователь захочет начать игру ему будет необходимо выполнить следующее действия: Menu\Новая игра. Игра запущена!
    • После появиться окно с двумя машинами, одной машиной управляет компьютер, а другой пользователь.
    • Цель игры: Кто первый соберет 50 балов тот и выиграет.
    • При столкновении автомобиля с препятствием  выдаст окно «вы проиграли»
    • после завершения игры пользователь сможет выйти из приложения.

 

 

9  Реферативная часть

 

Все классы в Delphi порождены  от единственного родителя – класса TObject. Этот класс не имеет полей  и свойств, но включает в себя методы самого общего назначения, обеспечивающие весь жизненный цикл любых объектов - от создания до уничтожения. Программист не может создать класс, который не был бы дочерним классу TObject.

В разрабатываемом приложении были использованы следующие стандартные  классы Delphi:

- TMainMenu – он определяет главное меню формы. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: помещение TMainMenu на форму, вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, определение пунктов меню в Дизайнере Меню;

- TLabel - служит для отображения  текста на экране. Можно изменить  шрифт и цвет метки, если  дважды щелкнете на свойство Font в Инспекторе Объектов;

- Tbutton - кнопка, служит  как элемент для нажатия. Имеет  свойство Onclick, то есть при нажатии  на кнопку совершается операция.

- Timage - картинка. При вставке  этого объекта на форму надо  выбрать путь к файлу, и будет  отображаться эта картинка.

- Tshape - геометрическая  фигура. Имеет свойство shape, в котором  выбирается форма фигуры.

 

 

 

10 Заключение

 

Созданная программа демонстрирует потенциальные возможности языка Delphi в области разработки приложений-игр. В программе в достаточно полной мере использовались преимущества модульного программирования. Это в значительной мере упростило процесс написания программы.

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

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

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

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

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

 

11 Литература

 

Книги

 

1. С. И. Бобровский Delphi 7. Учебный курс. – Питер, 2008.

2. Конспект лекций по Оаип.

3. Конспект по языкам программирования.

4. Конспект лекции  по ТРПП.

5. «Основы алгоритмизации  и программирования» 2-е издание  О.Л.Голицина , И.И.Попов , Изд. «Форум-инфра-м» , Москва 2012.

6. «Delphi. Программирование на языке высокого уровня : учебник для вузов» В.В.Фаронов , издательство «Питер» , Санкт-Петербург 2009.

7.Электронная версия  книги «100 компонентов Delphi»

   Http://www.beluch.ru/prog/100comp/index.html

8. «Технология разработки программных продуктов» 2-е издание , А.В.Рудаков , Издательский центр «Академия» , Москва 2008.

9. «Turbo Pascal. Самоучитель» О.А.Меженный, Изд. Дом «Вильямс» , Москва-Спб-Киев 2008.

10. Культин, Н.Б. Основы программирования в Delphi 7 / Н.Б. Культин.-СПб. БХВ-Петербург, 2009.

11. Фленов М.Е. Библия Делфи. – СПб.: БХВ – Петербург, 2009.

12.  «Технологии программирования, 2-ое издание» В.А.Камаев , В.В.Костерин Изд «Высшая школа» 2008.

13. «Программирование на языке  Pascal» Изд БХВ-Петербург 2009.

14. «Borland Delphi 6 Руководство разработчика» Стив Тейксейра , Ксавье Пачеко Изд «Вильямс» 2009.

15. «Delphi Профессиональное программирование» Дмитрий Осипов Изд « Символ-Плюс» 2010.

16. « Практическая криптография: алгоритмы и их программирование» А. В. Аграновский, Р. А. Хади Изд «Солон-Пресс» 2009.

17. «Программирование на языке высокого уровня» Т.А. Павловская Изд «Питер» 2010.

18. «Программирование в среде  Delphi» Дантеманн Дж, Мишел Дж, Тейлор Д. Изд «ДиаСофт» 2008.

19. «Программирование последовательных интерфейсов» Юрий Магда Изд «БХВ-Петербург» 2009г.

20. «Принципы разработки и программирования»  Джозеф Джаратано, Гари Райли Изд «Вильямс» 2008.

 

Стандарты

 

    1. ГОСТ 19.102-77 ЕСПД. Стадии разработки.
    2. ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
    3. ГОСТ Р ИСО/МЭК 12207. Процессы жизненного цикла программных средств.

 

 

 

 

 

 

 

Приложение А

Листинг программы

 

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, Menus, StdCtrls;

 

type

  TForm1 = class(TForm)

    Bevel1: TBevel;

    Bevel2: TBevel;

    Bevel3: TBevel;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    Timer1: TTimer;

    Image1: TImage;

    Image2: TImage;

    Shape1: TShape;

    Shape2: TShape;

    Shape3: TShape;

    Shape4: TShape;

    Shape5: TShape;

    Shape6: TShape;

    Shape7: TShape;

    Shape8: TShape;

    Shape9: TShape;

    Shape10: TShape;

    N2: TMenuItem;

    Timer2: TTimer;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    N8: TMenuItem;

    Memo1: TMemo;

    Button1: TButton;

    procedure FormKeyPress(Sender: TObject; var Key: Char);

    procedure N2Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure Timer2Timer(Sender: TObject);

    procedure N8Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1; i, j:integer;

 

implementation

 

{$R *.dfm}

 

 

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin

if (key in['a', 'A', 'ô', 'Ô']) and (image2.Left>10) then

image2.Left:=image2.Left-5;

if (key in['d', 'D', 'â', 'Â']) and (image2.Left<365) then

image2.Left:=image2.Left+5;

end;

 

procedure TForm1.N2Click(Sender: TObject);

begin

timer1.Enabled:=true;

shape6.top:=200;

shape7.top:=100;

shape8.top:=300;

shape9.top:=150;

shape10.top:=500;

shape6.Visible:=true;

shape7.Visible:=true;

shape8.Visible:=true;

shape9.Visible:=true;

shape10.Visible:=true;

timer2.Enabled:=true;

shape1.top:=200;

shape2.top:=100;

shape3.top:=400;

shape4.top:=300;

shape5.top:=500;

shape1.Visible:=true;

shape2.Visible:=true;

shape3.Visible:=true;

shape4.Visible:=true;

shape5.Visible:=true;

i:=0;

j:=0;

label1.Caption:='0';

label4.Caption:='0';

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

shape6.Top:=shape6.Top+10;

shape7.Top:=shape7.Top+10;

shape8.Top:=shape8.Top+10;

shape9.Top:=shape9.Top+10;

shape10.Top:=shape10.Top+10;

if shape6.top>form1.ClientHeight then

  shape6.Top:=0;

if shape7.top>form1.ClientHeight then

  shape7.Top:=0;

if shape8.top>form1.ClientHeight then

  shape8.Top:=0;

if shape9.top>form1.ClientHeight then

  shape9.Top:=0;

if shape10.top>form1.ClientHeight then

  shape10.Top:=0;

 

 

    if (shape6.Top+shape6.Height)>(image2.Top) then

   if (shape6.Left+1<=image2.Left) and (image2.Left<=(shape6.Left+shape6.Width-1))

    then   begin

    timer1.Enabled:=false;

    timer2.Enabled:=false;

    showmessage('Âû ïðîèãðàëè');

    end;

 

if (shape6.Top+shape6.Height)>(image2.Top) then

   if (shape6.Left+1<=(image2.Left+image2.Width)) and ((image2.Left+image2.Width)<=(shape6.Left+shape6.Width-1))

       then begin

    timer1.Enabled:=false;

    timer2.Enabled:=false;

    showmessage('Âû ïðîèãðàëè');

    end;

 

 

 

     if (shape7.Top+shape7.Height)>(image2.Top) then

   if (shape7.Left+1<=image2.Left) and (image2.Left<=(shape7.Left+shape7.Width-1))

    then

    begin

    timer1.Enabled:=false;

    timer2.Enabled:=false;

    showmessage('Âû ïðîèãðàëè');

    end;

 

if (shape7.Top+shape7.Height)>(image2.Top) then

   if (shape7.Left+1<=(image2.Left+image2.Width)) and ((image2.Left+image2.Width)<=(shape7.Left+shape7.Width-1))

       then  begin

    timer1.Enabled:=false;

    timer2.Enabled:=false;

    showmessage('Âû ïðîèãðàëè');

    end;

 

         if (shape8.Top+shape8.Height)>(image2.Top) then

   if (shape8.Left+1<=image2.Left) and (image2.Left<=(shape8.Left+shape8.Width-1))

    then  begin

    timer1.Enabled:=false;

    timer2.Enabled:=false;

    showmessage('Âû ïðîèãðàëè');

    end;

 

 

     if (shape8.Top+shape8.Height)>(image2.Top) then

   if (shape8.Left+1<=(image2.Left+image2.Width)) and ((image2.Left+image2.Width)<=(shape8.Left+shape8.Width-1))

       then  begin

    timer1.Enabled:=false;

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