Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
  1. Создаем кнопку для закрытия окна.

Выберите компонент «Командная кнопка» на панели компонентов и нарисуйте кнопку в нижней части формы методом протягивания. Задайте заголовок «Выход». Кроме того задайте значение True (Да) для свойства Default (по умолчанию) – тогда фокус ввода всегда будет принадлежать этой кнопке и клавиша Enter накрепко будет связана только с ней.

Сразу задайте размеры и положение этой кнопки:

  1. для свойства Left (слева) – 1100

  2. для свойства Top (сверху) – 2100

  3. для свойства Width (ширина) – 800

  4. для свойства Height (высота) - 500

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

  1. Добавляем и настраиваем таймер

Пришло время добавить и настроить таймер. Щелкните на кнопке Timer (Таймер) на панели компонентов. Таймер надо расположить за пределами кнопок. Этот объект отображается на форме в виде значка фиксированного размера. В окне работающей программы его не видно.

Самое важное свойство таймера – Interval (Интервал). Оно указывает, когда в следующий раз таймер должен сработать. Промежуток времени задается в тысячных долях секунды – миллисекундах. Пусть кнопка прыгает на новое место каждые полсекунды. Задайте для этого свойства значение 500.

  1. Приступаем к программированию

Начнем с того, что запрограммируем прыжки кнопки по полю формы. Такие прыжки должны происходить по сигналу, поступающему от таймера. Сигнал таймера – это событие Timer – единственное событие, связанное с таймером. Чтобы открыть окно кода и создать заготовку процедуры Timer1_Timer для обработки этого события, дважды щелкните на значке таймера.

Что нужно сделать? Изменить положение кнопки. Пусть все положения кнопки перенумерованы, как показано на рисунке 1.

0

1

2

3

4

5

6

7

8

Нумерация начинается с нуля – в этом случае программа получится проще. Обратите внимание на то, что если к номеру прибавить число 3, то вы оказываетесь в следующей строке, а если число 1, то в следующем столбце.

Это позволяет вычислить положение кнопки для позиции с заданным номером так:

Сommand1.Top=200+600*(i\3)

Command1.Left=200+900*(i Mod 3)

Здесь знак «\» - это оператор целочисленного деления.

Оператор Mod вычисляет остаток от деления одного числа на другое.

Переменная i содержит номер клетки. С помощью умножения и сложения переходим от номера клетки к положению кнопки на форме.

Значение переменной I надо выбрать случайным образом. Это надо сделать до написанных выше операторов. Кроме того, надо сделать кнопку видимой. Для этого напишите еще 2 оператора:

I=int(9*Rnd)

Command1.Visible = True

Теперь процедура обработки событий таймера готова. В целом она выглядит так:

Private Sub Timer1_Timer()

I = Int(9 * Rnd)

Command1.Visible = True

Command1.Top = 200+600* (i\3)

Command1.Left = 200+900* (i Mod 3)

End Sub

  1. Программируем прыгающую кнопку

В окне кода выберите в раскрывающемся списке слева объект Command1. Система Visual Basic создаст процедуру Command1_Click для обработки щелчка на прыгающей кнопке.

Если такой щелчок произошёл, значит, игра закончилась победой. Чтобы сообщить об этом, изменим надпись на кнопке. Кроме того отключим ее, чтобы на ней больше нельзя было щёлкать. Это можно сделать так:

Private Sub Command1_Click()

Command1.Caption = “Готово!”

Command1.Enabled = False

End Sub

Таймер продолжает работать, а значит, не более чем через полсекунды кнопка опять исчезнет с экрана. Поэтому нам надо таймер отключить. Это можно сделать, изменив свойство Enabled (Включен), которое показывает, включен ли таймер:

Timer1.Enabled = False