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


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


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

Процедуры таймера Timer1_Tick и кнопки Начинай_сначала_Click предельно кратки и полностью соответствуют описанию их работы, приведенной чуть выше в этом подразделе.

С пояснениями кода формы покончено. Перейдем к классу clsЛовец. Здесь добавлений много. В начальную установку ловца добавилась строка

        Руль = типРуль.стоп

Она нужна потому, что начальная установка может застигнуть ловца в любой момент, чаще всего тогда, когда он находится в движении. Так вот, это нужно, чтобы он успокоился.

Главная процедура ловца Действие в нашем случае сводится к выполнению двух дел:

Проверке, не врезался ли ловец в бортик, а если врезался – к возврату его в исходное положение и остановке. Проверку осуществляет булевская функция Ловец_у_бортика, а возврат – уже рассмотренная нами процедура Начальная_установка.

Опрашиванию переменной Руль и перемещению изображения ловца в соответствующем направлении. Всем этим занимается процедура Выбираем_куда_ехать_и_делаем_шаг. Она работает совершенно аналогично своей тезке из Гонок (см. 14.4.4).

Получается, что нам осталось разобрать только булевскую функцию Ловец_у_бортика. Эта функция примет значение True, если ловец в своих путешествиях по полю врежется в бортик. Факт столкновения определяется сравнением координат ловца и координат каждого из 4 бортиков. В операторе If   эти 4 сравнения отделены друг от друга знаком логической функции Or.

Координаты и шаг ловца и шаров я сделал дробного типа, а не целого. Причина в том, что скорости ловца и шаров вы можете захотеть сделать маленькими. Тогда может понадобиться шаг меньший 1.

Процесс работы проекта. Если вам пока непонятно, как работает проект, разберем последовательность вызова процедур и функций в процессе работы проекта. Эту последовательность я буду разбирать в хронологическом порядке, то есть в том, в котором вызываются процедуры и функции после запуска проекта.




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



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