ПРАКТИЧЕСКАЯ РАБОТА № 4
Var
x,y,h,w:integer;//координаты и размеры пули
x0,y0,h0,w0 :integer; //координаты и размеры самолета
begin
pula.Top:=pula.Top-5;
If pula.top<0 then
Begin
timer2.Interval :=0;
pula.Visible :=false;
End;
x:=pula.left; y:=pula.Top;
w:=pula.Width ; h:=pula.Height ;
x0:=samolet.Left ; y0:=samolet.Top;
w0:=samolet.Width ;h0:=samolet.Height ;
if (x+w>x0) and (x<x0+w0) and (y+h>y0) and (y<y0+h0) then
result.Caption :=inttostr(strtoInt(result.Caption)+1) ;
end;
- Проверить работы программы. Определить, почему баллы начисляются неверно. Внести изменения в процедуру для того, чтобы за одно попадание добавлялся один балл.
- Добавить на форму компонент Shape (имя Bomba, Visible False, измените размер и цвет Brush / Color ) и еще один таймер Timer3(Intarval =10).
- Для таймера ввести следующий код:
If Bomba.Visible =False Then
Begin
Bomba.Visible :=True;
Bomba.Left :=Samolet.Left+5 ;
Bomba.Top:=Samolet.Top+5;
End
Else
Begin
Bomba.Top:=Bomba.Top+1;
If Bomba.top>men.Top+30 Then Bomba.Visible :=False;
End ;
- Проверить работу программы. Самостоятельно внести изменения в процедуру для того, чтобы баллы уменьшались при попадании в «охотника».
- Самостоятельно добавить проверку на окончание игры.
- Проект сохранить. Результат показать преподавателю.
Задания для самостоятельного выполнения
Задание №1
Модифицировать разработанное приложение: добавить еще один «летательный» объект, скорость и направление движения объектов должна быть различна. Программа должна добавлять баллы при попадании в любой из объектов. Оба объекта могут сбрасывать «бомбы»
Задание №2
Разработать игру «Клавиатурный тренажер», который работает следующим образом:
· сверху вниз «падает» буква( метка с одной буквой, код буквы -случайное число от 192 до 223). Если буква «упала», то сверху начинает падать другая буква;
· игрок должен нажать соответствующую клавишу на клавиатуре;
· программа должна регистрировать количество ошибок (клавиша нажата неверно или буква «упала» и кнопка не была нажата);
· если количество ошибок превысит 10, то игрок проиграл.
Задание №3
Расположить на форме таймер, фигуру «круг» и фигуру «прямоугольник». Разработать приложение, которое работает следующим образом:
· прямоугольник выполняет роль лапты, он перемещается влево и вправо при нажатии клавиш. ®
· круг - это мячик, который постоянно прямолинейно двигается, при столкновении с границами формы или лаптой меняет свое направление на противоположное.
Задание №4
Разработать приложение «Колобок», которое должно работать следующим образом:
· «колобок» постоянно жует (открывает /закрывает рот) и прямолинейно движется;
· при нажатии клавиш ® ↓ ↑ «колобок» меняет направление движения и «смотрит» туда, куда движется.
Контрольные вопросы
1. В каких случаях используется таймер? Что определяет свойство Interval?
2. Как остановить работу таймера?
3. Как определить код нажатой клавиши?
4. На какие события реагирует компонент Shape?
Тема:Элементы пользовательского интерфейса.
Цель работы:Получить навыки создания меню, панели инструментов и настройки формы.