Прыгающая кнопка
Цель работы - создать программу-игру, выполняющую следующие действия:
1. После запуска программы в окне изображается беспорядочно прыгающая кнопка.
2. Необходимо успеть щелкнуть по ней.
3. Кнопка перепрыгивает из одного места в другое по сигналу, полученному от таймера.
4. Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в строке заголовка.
Описание плана разработки программы
1. Открыть новый проект.
2.
Разместить на форме экземпляры компонентов: командная кнопка Button, таймер Timer.3. Выполнить следующие действия:
Таблица 11.
Выделенный объект
|
Вкладка окна
Object Inspector |
Имя свойства/
имя события |
Действие |
Form1 | Properties | Caption | Установка имени формы «Прыгающая кнопка» |
ClientWidth (Внутренняя ширина) | Присвоить значение 300 | ||
ClientHeigth (Внутренняя высота) | Присвоить значение 200 | ||
BorderStyle (тип границы) | Выбрать значение bsSingle (тонкая) | ||
Events | OnCreate | Randomize; | |
Button1
(Вкладка Standard)
|
Properties | Caption | Ввести надпись «Нажми меня» |
TabStop | Присвоить значение False. Это свойство разрешает выбрать данный элемент управления клавишей Tab. Клавиатурой пользоваться запрещается. | ||
Visible | Присвоить значение False. Сначала кнопка невидима. | ||
Height | Присвоить значение 30 | ||
Width | Присвоить значение 80 | ||
Events | OnClick | Button1.Caption := ‘Готово’;
Button1.Enabled := False; Timer1.Enabled := False; |
Продолжение таблицы 11. | |||
Выделенный объект | Вкладка окна
Object Inspector |
Имя свойства/
имя события |
Действие |
Button2
(Вкладка Standard)
|
Properties | Caption | Ввести надпись «Выход» |
Default (по умолчанию) | Выбрать значение True | ||
Left (слева) | Присвоить значение 110 | ||
Top (сверху) | Присвоить значение 160 | ||
Width (ширина) | Присвоить значение 80 | ||
Height (высота) | Присвоить значение 30 | ||
Events | OnClick | Close; | |
Timer1
(Вкладка System) |
Properties | Interval (интервал) | Присвоить значение 500 (промежуток времени измеряется в миллисекундах) |
Events | Timer | var i: Integer;
begin i:=Random(9); Button1.Visible := True; Button1.Top := 10 + 50 * ( i div 3); Button1.Left := 10 + 100 * ( i mod 3); end; |
4. Сохраните проект, запустите и протестируйте его.
Листинг подпрограммы
procedure TForm1.Button2Click (Sender: TObject);
begin
Close;
end;
procedure TForm1.Timer1Timer (Sender: TObject);
var i: Integer;
begin
i:=Random(9);
Button1.Visible := True;
Button1.Top := 10 + 50 * ( i div 3);
Button1.Left := 10 + 100 * ( i mod 3);
end;
procedure TForm1.Button1Click (Sender: TObject);
begin
Button1.Caption := ‘Готово’;
Button1.Enabled := False;
Timer1.Enabled := False;
end;
procedure TForm1.FormCreate (Sender: TObject);
begin
Randomize;
end;
Задание для самостоятельного выполнения
- Измените игру так, чтобы скорость можно было настраивать в процессе игры.
- Создайте две кнопки: Медленнее и Быстрее. Щелчок на одной из них будет увеличивать или уменьшать значение свойства Timer1.Interval на 100 миллисекунд.