|
|
|
|
|
|
|
|
Курсовая работаСтраница 2 |
|
|
|
|
:: Курсовая работа >>
:: Курсовая на VB >>
:: Программа на VB >>
:: Скачать >>
:: Скачай игры >>
|
|
Заполним ячейки игрового поля (массив field(8, 6)) значениями от генератора случайных чисел. Вычислим количество секунд в текущем времени и столько раз «прокрутим» цикл с обращением к генератору случайных чисел: TM = Time 'Получить время в переменную TTMS = Len(TM) 'Определить длину строки с значением времени TTM = Mid$(TM, 7, 2) 'Выделить из строки количество секунд For i = 0 To TTM ‘Цикл с числом повторений, равным количеству секунд Form1.Caption = Int((20 * Rnd) + 1) ‘Значения запишем в заголовок формы Next i Заполним массив field(8, 5). Полностью процедура будет: Private Sub Set_Nominal() TM = Time 'Получить время в переменную TTMS = Len(TM) 'Определить длину строки с значением времени TTM = Mid$(TM, 7, 2) 'Выделить из строки количество секунд For i = 0 To TTM ‘Цикл с числом повторений, равным количеству секунд Form1.Caption = Int((20 * Rnd) + 1) ‘Значения запишем в заголовок формы Next i '-------------------------------------------------- ' Заполним массив field(8, 5) For i = 0 To 7 For j = 0 To 4 field(i, j) = Int((20 * Rnd) + 1) Next j Next i End Sub Теперь можно записать тестовую процедуру Private Sub Fdraw() для того, чтобы посмотреть, как заполняется массив field(8, 6). Процедура Private Sub Fdraw() будет выглядеть следующим образом (см. листинг) | |
|
|
|
|
Курсовая работа
Т.е. здесь просто каждая ячейка записывается в Caption каждой ячейки. Такой метод не стоит считать оптимальным и в последующем можно использовать другие приемы программирования. Чтобы посмотреть резльтаты, нужно вставить вызов двух процедур Private Sub Set_Nominal() и Private Sub Fdraw() в автозапуск при старте программы (на время):
Private Sub Form_Load()
Set_Nominal
Fdraw
End Sub
Полный проект на Visual Basic этого этапа разработки игры – в файле vbg1.zip
Теперь нужно создать процедуру, в которой будет анализироваться содержимое ячеек массива field(8, 6) и в зависимости от их значений будет формироваться нужное символьное значение (номинал) ячейки игрового поля и задаваться нужный цвет символа и фона ячейки.
Перепишем процедуру Fdraw() в другую процедуру. Создадим еще одну Label56 для временного хранения «сгенерированного» номинала ячейки и ее цветовых атрибутов (выделена на рисунке).
- Label56
Текст процедуры Private Sub Color_Chars() можно посмотреть здесь.
Курсовая бесплатно
Теперь добавим копирование значения и атрибутов ячейки Label56 в ячейку игрового поля и используем несколько циклов для обработки всего массива field(8, 6):
- пример копирования
Label7.Caption = Label56.Caption
Label7.BackColor = Label56.BackColor
Label7.ForeColor = Label56.ForeColor
В итоге появится процедура Sub Field_Fill() копирования номиналов из «дежурной» ячейки Label56, а процедура Color_Chars() изменится следующим образом - см. листинг.
Такой вариант заполнения игрового поля НАЧАЛЬНЫМИ значениями (при старте игры) нельзя считать оптимальным. Однако он очень нагляден для понимания алгоритма.
Процедура 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() можно удалить.
Курсовая работа на Visual Basic
Разработаем процедуру 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: Private Sub Frame1_Click() Num_Move End Sub Полный VB-проект с этого этапа разработки игры - в файле vbg3.zip Теперь нужно добавить код Private Sub Up_Str_App() для заполнения верхней строки игрового поля новыми значениями - см. листинг. Подключим вызов процедуры в Frame1.Click Полный VB-проект с этого этапа разработки игры - в файле vbg4.zip Покликайте мышкой на поле Frame1 и посмотрите, как все работает! Теперь нужно написать код обработки постановки игроком игрового маркера в любую из ячеек нижней строки игрового поля. (см. продолжение на следующей странице) |
|
|
|
|
|
|
|
Все материалы для изготовления игрового комплекта абсолютно бесплатны.
Материалы сервера предназначены для свободного и бесплатного использования, как коммерческого так и некоммерческого. Обязательным условием является сохранение всех авторских прав, действующего законодательства, идеологии игры.
Авторские права (c) by Valery V Shmeleff http://www.oflameron.ru |
|
|
|
|
|
Registered in Russian Federation RIPN 30 Nov 2001 |
|
|
|