Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОА Delphi формата А4.doc
Скачиваний:
7
Добавлен:
29.08.2019
Размер:
1.58 Mб
Скачать

If StartSharLog

then begin

if Key = 37 then Doska.Left := Doska.Left - 10;

if Key = 39 then Doska.Left := Doska.Left + 10;

end

else begin

if Key = 37

then begin

Shar.Left := Shar.Left - 10;

Doska.Left := Doska.Left - 10;

end;

if Key = 39

then begin

Shar.Left := Shar.Left + 10;

Doska.Left := Doska.Left + 10;

end;

if Key = 13

then begin

StartShar.Enabled := true;

StartSharLog := true;

end;

end;

end;

На событие On Timer для таймера с именем StartShar напишите процедуру:

procedure TForm1.StartSharTimer(Sender: TObject);

begin

with Shar do

begin Left := Left + dx; Top := Top + dy;

end;

if Shar.Left >= ClientWidth then begin

dx := (-1)*dx;

end;

if Shar.Left <= 0 then begin

dx := (-1)*dx;

end;

if Shar.Top >= ClientHeight then begin

dy := (-1)*dy;

end;

if Shar.Top <= 0 then begin

dy := (-1)*dy;

end;

If IntersectRect(r1, Doska.BoundsRect, Shar.BoundsRect)

then dy := (-1)*dy;

FlyShar.Enabled := true; end;

Добавьте на форму ещё один компонент класса TShape для рисования кирпича, который следует «сбивать» шариком. Измените свойства добавленного компонента: имя на Kir1, цвет и размер по своему усмотрению.

На событие On Timer для таймера с именем FlyShar напишите процедуру:

procedure TForm1.FlySharTimer(Sender: TObject);

Var r2 : tRect; r3 : tRect; I : integer;

begin

r2 := Shar.BoundsRect; r3 := Kir1.BoundsRect;

If IntersectRect(r1, r2, r3)

then begin

Kir1.Visible := false;

Kir1.Enabled := false;

dy := (-1)*dy; end;

end;

PS. Используемы переменные описать в разделе описания переменных.

Дополните написанный проект следующими возможностями:

  1. Составить собственное игровое поле, на игровом поле располагаются компоненты класса TShape. Для каждого компонента учесть «отскок» шарика и «исчезновение» компонента.

  2. Завершение игры при падении шарика мимо доски;

  3. Учесть то, чтобы досточка не могла уходить за пределы формы.

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

ВОПРОСЫ:

  1. Свойства и методы компонента Timer

  2. Добавление меню приложения.

  1. Создание простых проектов.

Цель: Закрепить полученные знаний по использованию компонентов и их свойств.

Задание. Создать на одной форме следующие проекты:

1. «Кнопка – прыгун». При щелчке на кнопку она случайным образом меняет свое положение на форме. Предусмотреть ограничение на границу формы.

2. «Воздушный шарик». При щелчке по кнопке «надуть» размер шарика увеличивается, при щелчке по кнопке «сдуть» - уменьшается.

3. «Робот». Это – управляемая панель. Ее положение на форме изменяется при щелчках на кнопках Вправо, Влево, Вверх, Вниз. Предусмотреть условие на границу формы.

4. «Тамогочи». Из фигур (Shape) составляется лицо. При щелчке на кнопку «Усни» «глаза» закрываются, надпись на кнопке изменяется на «Проснись». При повторном щелчке по этой же кнопке «глаза» открываются, надпись изменяется на «Усни».

5. «Счетчик нажатий». При щелчке на кнопке «Пуск» на панели отображается количество нажатий. При щелчке на кнопке «Сброс» - число обнуляется.

ВОПРОСЫ: Свойства и методы используемых компонентов.