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


14.4.5. Третья часть – Поведение машины, организация счетчиков и пр. - часть 3


Рассмотрим главную процедуру проекта – Timer1_Tick. В соответствии с двумя дополнительными делами, которые должен выполнить автомобиль, в процедуру добавились два оператора:

    Определяем_где_мы()

     '……………

    Отображаем_информацию()

Поговорим о процедуре Определяем_где_мы. Ее задача – задать реакцию автомобиля на три ситуации: попадание на газон, на финиш и на ограждение. Метод, при помощи которого автомобиль определяет, где он, самый простой – GetPixel. Его мы разобрали в 12.7.4. Поскольку газон я рисовал зеленым, финиш – красным , а ограждение – светло-серым (LightGray), то метод GetPixel выдает на них разные результаты. Операторы If эти результаты анализируют и задают реакцию автомобиля. Как видите, на газон машина реагирует только установкой скорости = 1 (если она уже не была меньше 1), на два других цвета она выполняет процедуру Приехали и выдает подходящее сообщение в метку lbl_Сообщение.

Немного о грамматике. Мы не могли записать

    If Цвет_под_автомобилем = Color.Green

так как VB не может устанавливать с помощью знака равенства равенство таких объектов, как цвет. Пришлось предварительно методом ToArgb преобразовывать цвета к специальному представлению ARGB, которое допускает подобное сравнение:

    If Цвет_под_автомобилем.ToArgb = Color.Green.ToArgb ……

Цель процедуры Приехали ясна: остановить машину, заблокировать руль и педали и остановить секундомер, чтобы мы могли поглядеть на результат. Раз так, то при следующем нажатии на кнопку Начинаем сначала руль и педали должны быть разблокированы, для чего мы переносим оператор

    Me.KeyPreview = True                                                  'чтобы машина слушалась руля и педалей

из процедуры Form1_Load  в процедуру Кнопка_начинай_сначала_Click.

Организация счетчиков. В дополнение к текстовому полю txtВремя, в котором отображается текущее время пробега, разместите на форме метку lbl_Скорость, в которой будет отображаться текущая скорость (Шаг) машины, и  метку lbl_Путь, в которой будет отображаться путь, пройденный машиной.




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



Книжный магазин