Смекни!
smekni.com

Разработка приложений для Windows, представляющего собой компьютерную игру Сбей самолет (стр. 2 из 2)

begin

if Su25[i].Y>Form1.Image1.Height then FillZap(i);

Su25[i].X:=round(Su25[i].Y*Su25[i].koef_a+Su25[i].koef_b);

inc(Su25[i].Y,random(10));

end;

if rocket.Destroed<>true then dec(rocket.Y,10);

if rocket.Y<-10 then

begin

rocket.Destroed:=true;

rocket.Y:=Form1.Image1.Height+10;

end;

end;

//==============================================================================

procedure ClearScr;

begin

Form1.Image1.Canvas.Brush.Color:=clBlack;

Form1.Image1.Canvas.FillRect(Rect(0,0,Form1.Image1.Width,Form1.Image1.Height));

end;

//==============================================================================

procedure LoadImages_;

var i: integer;

begin

For i:=1 to n do

begin

Su25[i].Gr:=TBitmap.Create;

Su25[i].Gr.LoadFromFile('graph&bsol;samolet1.bmp');

Su25[i].Gr.TransparentColor:=clRed;

Su25[i].Gr.Transparent:=true;

end;

turel.Gr:=TBitmap.Create;

turel.Gr.LoadFromFile('graph&bsol;turel.bmp');

turel.Gr.TransparentColor:=clRed;

turel.Gr.Transparent:=true;

turel.X:=turel.Gr.Width+10;

turel.Y:=521-turel.Gr.Height;

Rocket.Gr:=TBitmap.Create;

Rocket.Gr.LoadFromFile('graph&bsol;bullet.bmp');

Rocket.Gr.TransparentColor:=clWhite;

Rocket.Gr.Transparent:=true;

Rocket.Y:=Form1.Image1.Height+10;

Rocket.Destroed:=true;

end;

//==============================================================================

procedure DrawScene;

var I: integer;

begin

For i:=1 to n do

begin

Form1.Image1.Canvas.Draw(Su25[i].X,Su25[i].Y, Su25[i].Gr);

end;

Form1.Image1.Canvas.Draw(turel.X,turel.Y,turel.Gr);

Form1.Image1.Canvas.Draw(rocket.x,rocket.Y, rocket.Gr);

end;

//==============================================================================

procedure Precache_;

var i: integer;

begin

For i:=1 to n do FillZap(i);

end;

//==============================================================================

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Calc;

Colision;

ClearScr;

DrawScene;

label3.Caption:=inttostr(Killed)+' самолетов';

if killed>=100 then

begin

label3.Caption:='Вы выйграли';

Timer1.Enabled:=false;

Button1.Enabled:=true;

killed:=0;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Randomize;

LoadImages_;

Precache_;

ClearScr;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Timer1.Enabled:=false;

end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

case Key of

VK_LEFT : begin

if turel.X >0 then dec(turel.X,10);

end;

VK_RIGHT : begin

if turel.X<Image1.Width-turel.Gr.Width then inc(turel.X,10);

end;

VK_SPACE : begin

if rocket.Destroed then

begin

rocket.Destroed:=false;

rocket.X:=turel.X + turel.Gr.Width div 2;

end;

end;

VK_ESCAPE : begin

Timer1.Enabled:=false;

Button1.Enabled:=true;

end;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Button1.Enabled:=false;

Timer1.Enabled:=true;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Showmessage('Игра "Сбей самолет"'#13#13#13'Автор: студент Дин-809-01 Быстрикова Анна')

end;

end.

2.4 Описание программы

Общие сведения: программа разработана в среде программирования Delphi 7.

Функциональное назначение программы: программа предназначена для развлечения.

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

- компьютер на базе процессора Intel Pentium 4 3.00 GHz

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

- операционная система Windows XP Professional

Вызов и загрузка: для того, чтобы запустить программу, необходимо запустить файл «Project1.exe».

2.5 Тестирование программы

Для тестирования программы были пройдены все этапы игры.

Контрольный пример предполагал проверку следующих требований:

- возможность открытия приложения,

- отображение рисунков,

- работа счетчика «Вы сбили:».

- возможность перехода игры в режим «Пауза».

Программа тщательно проверялась. Ошибок не найдено.

Вид приложения в случайный момент игры приведен на рисунке 4.

Рисунок 4 - Вид окна приложения в случайный момент игры

2.6 Внедрение

Условия выполнения программы: Данное приложение способно работать на персональных компьютерах с минимальными требованиями Pentium 100, оперативной памятью 32 Мб, операционной средой Windows.

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

Выполнение программы: для загрузки программы необходимо запустить файл «Project1.exe», для старта (повтора) игры следует нажать на кнопку «Поехали». Для того чтобы остановить игру нужно нажать на кнопку клавиатуры – «Esc». Для выхода из программы необходимо нажать Alt+F4 или щелкнуть левой кнопкой мыши по крестику в правом верхнем углу экрана.

Заключение

Приложение представляет собой очень простой вариант игры «сбей самолет».

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

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

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

Глоссарий

Новые понятия

Содержание

1

Объектно-ориентированное программирование

подход к программированию, рассматривающий программу как совокупность объектов и сообщений
2

Объект

пакет информации, содержащий данные и процедуры их обработки. Сообщение – это спецификация условий выполнения одной из процедур обработки объекта
3

Язык программирования

система обозначений, служащая для точного описания программ или алгоритмов машинных вычислений. Язык программирования – это искусственный язык, в котором алфавит ( набор различных символов языка), синтаксис (правила построения множества текстов или конструкций языка из алфавита языка) и семантика (описание соответствия между текстами и их «смыслами») строго и однозначно определены
4

Операция

действие в языке программирование, которое выполняется над данными
5

Структура

программы

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

Оператор присваивания

оператор языка программирования, предназначенный для вычисления значения заданного выражения и записи в память полученного результата
7

Файл

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

Оператор ввода данных

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

Оператор вывода данных

специальный оператор, предназначенный для вывода данных из памяти в файл, закрепленный за одним из внешних устройств компьютера
10

Качество

программы

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

Список использованных источник

1. Александровский А. Д. Delphi 5.0. Разработка корпоративных приложений. – М.: ДМК, 2007. – 512 с.

2. Бобровский С.И. Delphi 7^ Учебный курс, -СПб.: Издательство «Питер» 2004. – 184 с.

3. Бондарёв В. М., Рублинецкий В. И., Качко Е. Г. «Основы программирования». Харьков: Фолио; Ростов н/Д: Феникс, 2003. – 504 с.

4. Власов А.Я. Справочник по программированию на Object Pascal. Киев, 2006. – 401 с.

5. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. М., 2003. – 220 с.

6. Дарахвелидзе П., Марков Е. Программирование в Delphi 4.СПб.: БХВ. СПб., 2004.- 209 с.

7. Карпов Б. «Delphi: специальный справочник» -СПб.: Издательство «Питер», 2004. – 236 с.

8. Культин Н. «Delphi в задачах и примерах» -СПб.: Издательство «БХВ-Петербург», 2005. – 436 с.

9. Марков Е. «Программирование в Delphi 4», -СПб, «БХВ-Петербург», 2004. – 306 с.

10. Мейер Б., Бодуэн К. Методы программирования. М., 2003. –310 с.

Приложение

Состав проекта

Наименование

Обозначение

Примечание

Project1.dof

Файл параметров проекта

Содержит текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы

Project1.dpr

Файл проекта

Связывает все файлы, из которых состоит приложение

Project1.cfg

Файл, содержащий настройки проекта

Содержит информацию о том, какие окна открыты и в каких позициях они расположены.

Project1.res

Файл ресурсов

Содержит пиктограммы, графические изображения

Unit1.pas

Файл программного модуля для формы Form1

Определяет функциональность формы Form1

Unit1.dfm

Файл формы Form1

Содержит список свойств всех компонентов, включённых в форму Form1

Unit1.dcu

Объектный файл для Unit1.pas

Откомпилированная версия Unit1.pas

bullet.bmp

samolet1.bmp

turel.bmp

Файлы рисунков программы

Загружаются во время работы программы

[1] Для программирования игры «Сбей самолет» использовалась среда Delphi 7.