Реферат: Программирование логической игры на visual basic
savecolor(4) = Label11.BackColor 'Запомнить предыдущий цвет фона Label11
savecolor(5) = Label12.BackColor 'Запомнить предыдущий цвет фона Label12
savecolor(6) = Label13.BackColor 'Запомнить предыдущий цвет фона Label13
savecolor(7) = Label14.BackColor 'Запомнить предыдущий цвет фона Label14
End Sub
Процедура Save_Color() будет использоваться для восстановления цвета ячеек при перемещении маркера по горизонтали (по нижней строке игрового поля).
Создадим переменную markersave в которой будем запоминать НОМЕР ЭЛЕМЕНТА массива savecolor(j), которая соответствует ячейке с маркером (в которую поставили маркер).
Можно проверить, что маркер возможно поставить только в одну ячейку. Теперь нужно обеспечить сохранение маркера (окраску ячейки в синий цвет) при сдвигании ячеек сверху-вниз.
Процедура восстановления цвета маркера после смещения ячеек игрового поля сверху-вниз:
Private Sub Marker_Reset()
If markersave = 0 Then Label7.BackColor = &HFF0000
If markersave = 1 Then Label8.BackColor = &HFF0000
If markersave = 2 Then Label9.BackColor = &HFF0000
If markersave = 3 Then Label10.BackColor = &HFF0000
If markersave = 4 Then Label11.BackColor = &HFF0000
If markersave = 5 Then Label12.BackColor = &HFF0000
If markersave = 6 Then Label13.BackColor = &HFF0000
If markersave = 7 Then Label14.BackColor = &HFF0000
End Sub
Теперь «подключим» процедуру Marker_Reset() к работе в процедуре сдвига вниз. В самый низ процедуры Frame1_Click() вставим следующий код (выделен красным цветом):
Private Sub Frame1_Click()
Num_Move 'Сдвинуть значения всех строк на одну вниз
Up_Str_App 'Заполнить верхнюю строку новыми номиналами
Marker_Reset 'Восстановить маркер
End Sub
Полный VB-проект с этого этапа разработки игры - в файле vbg5. zip
Напишем процедуру подсчета очков при установке маркера в начале игры.
Private Sub Set_Marker_Count()