Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Живодерова В В / VB Лабораторный практикум 5 часть.doc
Скачиваний:
72
Добавлен:
26.03.2016
Размер:
1.78 Mб
Скачать

Лабораторно-практическая работа № 4

Тема: Массивы объектов.

Цель: Получить навыки использования массива объектов

Порядок выполнения

  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Свойство

Значение

Командная кнопка

Name

Cmd

Caption

Нажми

Массив меток

Index

1

Caption

Точка, точка

NameLabel1

Index

2

Caption

Два крючочка

Index

3

Caption

Носик, ротик

Index

4

Caption

Оборотик

Index

5

Caption

Ручки

Index

6

Caption

Ножки

Index

7

Caption

Огуречик

Index

8

Caption

Вот и вышел человечек

Массив фигур

Index

0

Глаз

Shape1

Index

1

Глаз

Index

2

Нос

Index

3

Рот

Index

4

Голова

Index

5

Рука

Index

6

рука

Index

7

Нога

Index

8

Нога

Index

9

Туловище

Линии

Name

Line1

Брови

Name

Line2

Таймер

Name

Timer1

  1. Приведите свою форму в соответствие с образцом

  1. В разделе общих объявлений набрать

Dim k As Integer

  1. В окне кода процедуры обработки события Loadдля объектаFormнабрать:

'количество щелчков по кнопке

k = 0

  1. В окне кода процедуры обработки события Clickдля объектаCmdнабрать:

k = k + 1

If k < 9 Then

Label1(k).Visible = True

If k = 1 Then Shape1(0).Visible = True : Shape1(1).Visible = True

If k = 2 Then Line1.Visible = True : Line2.Visible = True

If k = 3 Then Shape1(2).Visible = True : Shape1(3).Visible = True

If k = 4 Then Shape1(4).Visible = True

If k = 5 Then Shape1(5).Visible = True : Shape1(6).Visible = True

If k = 6 Then Shape1(7).Visible = True : Shape1(8).Visible = True

If k = 7 Then Shape1(9).Visible = True

If k = 8 Then MsgBox "Здравствуй, дружок", , "Привет"

Else

MsgBox "До свидания, дружок", , "Я ушел"

Timer1.Interval = 1

End If

  1. В окне кода процедуры обработки события Timerдля объектаTimer1набрать:

'движение человечка по "частям"

For i = 0 To 9

Shape1(i).Left = Shape1(i).Left + 50

Next i

If Shape1(1).Left > 9000 Then End

  1. Проверьте работу программы

  2. Измените программу так, чтобы «брови» двигались вместе с «человечком»

Лабораторно-практическая работа № 5

Тема: Массивы объектов.

Цель: Закрепить навыки использования массива объектов

Постановка задачи: разработать приложение, реализующую принцип игры в «Пятнашки»

Порядок выполнения

  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командная кнопка

Name

CmdGame

Caption

Игра

Массив командных кнопок

Name

Cmd

Index

От 0 до 8

Font

Размер 18 полужирный

Caption

(отсутствует)

Таймер

Name

Timer1

  1. В разделе общих объявлений набрать:

Dim KN(8, 2) 'для координат кнопок

  1. В окне кода процедуры обработки события Loadдля объектаFormнабрать

'установим размеры и заголовки кнопок

For I = 0 To 8

cmd(I).Height = 1000

cmd(I).Width = 1000

cmd(I).Caption = I

Next I

cmd(0).Caption = ""

c = 0

'взаимное положение кнопок

For I = 0 To 8 Step 3

cmd(I).Left = 1000: cmd(I).Top = 1000 + c * 1000

cmd(I + 1).Left = 2000: cmd(I + 1).Top = 1000 + c * 1000

cmd(I + 2).Left = 3000: cmd(I + 2).Top = 1000 + c * 1000

c = c + 1

Next I

'запомним координаты упорядоченных кнопок

For I = 0 To 8

KN(I, 1) = cmd(I).Left

KN(I, 2) = cmd(I).Top

Next I

  1. В окне кода процедуры обработки события Clickдля объектаCmdнабрать

'координаты "пустышки"

x0 = cmd(0).Left

y0 = cmd(0).Top

'координаты выбранной кнопки

x = cmd(Index).Left

y = cmd(Index).Top

If x0 = x And Abs(y - y0) = 1000 Then

'соседи по столбцу

cmd(0).Move x, y

cmd(Index).Move x0, y0

End If

If y0 = y And Abs(x - x0) = 1000 Then

'соседи по строке

cmd(0).Move x, y

cmd(Index).Move x0, y0

End If

  1. В окне кода процедуры обработки события Clickдля объектаCmdGameнабрать

'перемешаем кнопки

Randomize Timer

For I = 1 To 20

K = Int(Rnd * 9)

cmd_Click (K)

Next I

' включим таймер

Timer1.Interval = 1

  1. В окне кода процедуры обработки события Timerдля объектаTimer1набрать

For I = 0 To 8

If KN(I, 1) <> cmd(I).Left Then Exit Sub

If KN(I, 2) <> cmd(I).Top Then Exit Sub

Next I

MsgBox "Вы справились!", , "Поздравляю"

Timer1.Interval = 0

  1. Проверьте работу программы

  2. Измените стиль у кнопок на графический и добавьте в начало программы Timer1_Timer

f = Int(Rnd * 9)

cmd(f).BackColor = QBColor(Int(Rnd * 16))

  1. Проверьте работу программы

  2. Измените программу, увеличив количество кнопок ( 4 х 4 )

  3. Проверьте работу программы

  4. Измените программу так, чтобы упорядочивание выполнять по цвету кнопок, для этого:

  • уберите нумерацию кнопок (Captionотсутствует)

  • заблокируйте первые две строки в программе Timer1_Timer

  • установите различный цвет фона для каждой кнопки

  1. Результат показать преподавателю.