Выбор состава технических и программных средств

 

Для реализации данной программы был выбран язык программирования высокого уровня Turbo Delphi Explorer. Среда данного языка наиболее удобна для реализации и разработки программ для Windows.

Технические характеристики компьютера:

Pentium III и выше с тактовой частотой 1, 4 ГГц;

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

Необходимое пространство на жестком диске 600 Мб.

Дополнительных средств (принтер, сканер, дополнительные дисководы и т.д.) не требуется.

 



РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА

Разработка программы

 

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

Окно form 1:

 

Рис.3. Главное окно программы  

Компонент Form1.

Свойства:

Caption - Сбей самолет;

BorderStyle - bsSingle;

Компонент Timer1.

свойства:

interval - 25;

Компонент ProgressBar1.

свойства:

max – 20;

position – 20;

step - -1;

smooth - false;

Компонент StatusBar1.

свойства:

panels: TstatusPanels (Panel [0]; Panel [1]);

Компонент ProgressBar2.

свойства:

max - 16;

position - 0;

step - 1;

smooth – false;

Компонент Panel1.

свойства:

Align – alBottom;

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

Загрузку битового образа из файла обеспечивает метод LoadFromFile, которому в качестве параметра передается имя bmp-файла.

Отображение битового образа обеспечивает метод Draw объекта Canvas. В качестве параметров метода указывают координаты точки, от которой надо вывести битовый образ, и сам битовый образ. Например, инструкция

Form1.Canvas.Draw (10, 20, bm);

выводит на поверхность формы битовый образ bm. Если свойству Transparent битового образа присвоить значение True, то фрагменты битового образа, цвет которых совпадает с цветом его левой нижней точки, не будут выведены. Таким образом получается эффект прозрачного фона.

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

Перед выводом картинки в новой точке предыдущее изображение должно быть удалено. Удалить изображение объекта можно путем перерисовки той части, которая перекрыта объектом.

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

Основную работу выполняет процедура обработки события Timer, которая рисует самолет, пусковую установку и снаряд. Сначала она сравнивает координаты самолета и снаряда. Если координаты самолета совпадают с координатами снаряда, процедура стирает самолет, увеличивает счетчик попаданий и завершает работу. Если снаряд не долетел до самолета, процедура перерисовывает самолет на новом месте. Если ракета запущена, то процедура рисует ее. Далее процедура проверяет, надо ли перерисовать на новом месте пусковую установку. Если игрок удерживает клавишу перемещения курсора, то процедура перерисовывает пусковую установку относительно ее текущего положения. Запуск ракеты обеспечивает процедура обработки события KeyPress. Она, если нажат пробел, и если ракета не запущена, записывает в координату Y ракеты значение clientheight – 80, в результате процедура обработки события Timer рисует ракету. Нажатие клавиш перемещения курсора обрабатывает процедура события KeyDown (это событие генерируется до тех пор, пока пользователь удерживает клавишу). Процедура, в зависимости от того, какую клавишу удерживает игрок, задает направление перемещения установки.

Компоненты ProgressBar1 и ProgressBar2 используются для наглядного представления хода игры. Компонент ProgressBar1 показывает, сколько ракет есть еще в запасе у игрока, чтобы сбить самолеты. Если поле компонента «опустеет», в этом случае значение переменной n будет равно 21, то игра заканчивается, и выдается сообщение о проигрыше. Компонент ProgressBar2 наглядно показывает, сколько самолетов уже сбито. Если поле компонента заполнится, в этом случае значение переменной m будет равно 16, то на экран выводится сообщение о выигрыше.

В компоненте StatusBar1 отображается количество выстрелов, и количество сбитых самолетов.

Компоненты ProgressBar1, ProgressBar2, StatusBar1 располагаются на контейнере Panel, который привязан к нижней части окна.

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: