Реферат: Программирование логической игры на visual basic
Next j
End Sub
Такой вариант заполнения игрового поля НАЧАЛЬНЫМИ значениями (при старте игры) нельзя считать оптимальным. Однако он очень нагляден для понимания алгоритма.
Процедура Form_Load() теперь будет выглядеть так:
Private Sub Form_Load()
Set_Nominal
Fdraw
Field_Fill
End Sub
Для того, чтобы посмотреть, как все работает, добавим еще одну процедуру Form_Click() (на некоторое время. Для отладки):
Private Sub Form_Click()
Set_Nominal ‘Заполнить массив field(i,j)
Fdraw ‘Нарисовать на игровом поле значения массива field(i,j) – для отладки
Field_Fill ‘Нарисовать реальные номиналы ячеек и цветовые атрибуты
End Sub
- она полностью идентична процедуре Form_Load()
Теперь, кликая мышкой на поле формы Form1 (только формы ), Вы можете посмотреть, что значения номиналов ячеек и их цветовые атрибуты меняются правильно.
Полный VB-проект с этого этапа разработки игры - в файле vbg2. zip
Процедуру Form_Click() можно удалить.
Разработаем процедуру Num_Move(), переписывающую значения и цветовые атрибуты ячеек игрового поля построчно, сверху – вниз. А так же – заполняющую верхний ряд игрового поля новыми значениями (т.е. новые значения ячеек как бы вводятся сверху игрового поля). Процедура будет содержать просто операторы копирования. Вы можете сами разработать более оптимальный алгоритм копирования.
Private Sub Num_Move()
For j = 0 To 4
For i = 0 To 7
field(i, j) = field(i, j + 1)
Next i
Next j
Field_Fill 'Нарисовать новые значения на экран
End Sub
Чтобы посмотреть, как работает копирование значений и атрибутов ячеек сверху вниз, создадим «временную» процедуру обработки Click-а на рамке Frame1: