ПОНЯТНО О Visual Basic NET (том 3)


Движем ловца – вторая ступень проекта - часть 6


После выполнения процедуры Form1_Load, которое мы разобрали ранее, на игровой площадке наступает покой до прихода первого импульса от таймера.

И вот импульс грянул. Заработала процедура Timer1_Tick и первым делом запустила процедуру Ловец.Действие. Давайте пока не будем в нее заглядывать, вообразим, что там ничего существенного не произошло, и пойдем дальше. Следующая строка увеличивает счетчик времени. Вместо 0 в счетчике на форме появляется 1. На этом процедура Timer1_Tick заканчивает свою работу. Все замирает до тех пор, пока через 10 тысячных долей секунды не придет следующий импульс от таймера.

Предположим, вы за это время еще не успели прикоснуться к клавиатуре. Вот пришел новый импульс. Заработала процедура Timer1_Tick и запустила процедуру Ловец.Действие. Рассмотрим, как она работает. Ее тело состоит из двух строк, вызывающих процедуры и функции с интуитивно ясными именами. Первой вызывается функция Ловец_у_бортика. Очевидно, что поскольку ловец пока далеко от бортиков, то эта функция принимает значение False.

Далее выполняется процедура Выбираем_куда_ехать_и_делаем_шаг. Руль у нас после начальной установки находится в положении стоп и ничто его оттуда не вывело, значит оператор Select Case не меняет ни x ни y. Следовательно процедура Ставим_изображение_ловца_на_место не сдвигает изображение ловца из начального положения.

На этом вторая строка процедуры Ловец.Действие завершается, а с ней и вся процедура. VB возвращается в процедуру Timer1_Tick, которая увеличивает счетчик времени еще на 1.

Ждем следующего импульса. Пусть до момента его прихода мы успели нажать на клавиатуре стрелку вправо, желая направить ловца направо. Немедленно сработала процедура Form1_KeyDown в модуле формы. Она вызвала процедуру ловца Реакция_на_клавиатуру, которая присвоила переменной Руль значение вправо. Импульса все нет.

 Вот пришел импульс. Опять процедура Timer1_Tick направляет нас в процедуру Ловец.Действие, та – в процедуру Выбираем_куда_ехать_и_делаем_шаг. Поскольку руль повернут направо, вычисляется новое значение x, которое на dx больше предыдущего. Согласно новому значению x процедура Ставим_изображение_ловца_на_место  смещает изображение ловца чуть вправо.




Начало  Назад  Вперед