|
|
В этом уроке мы продемонстрируем
действие команды "Gosub". Мы будем использовать "Gosub" для того, чтобы
упорядочить и упростить программу, когда начнем добавлять к ней большое
количество функций, а также чтобы сделать более понятным то, что происходит в ее
основном цикле. If
BulletLife > 0 then Gosub ShootBullet Мы заменили несколько строк кода для проверки времени "жизни" снаряда всего одной строкой. Команда "Gosub" применяется для того, чтобы выполнить код, расположенный в другом месте программы, а затем вернуться туда, откуда был произведен вызов команды "Gosub". Здесь мы вызываем подпрограмму "ShootBullet".
ShootBullet:
bX#=Object position X(2) inc
Pn if bY#
< Get Ground height(1,bX#,bZ#) then BulletLife=0
Чтобы объявить подпрограмму, ей нужно задать уникальное имя и расположить его в начале подпрограммы. После имени подпрограммы нужно поставить двоеточие, иначе имя не будет распознано, что вызовет ошибку. В том месте, где заканчивается код подпрограммы, следует поместить команду "Return", чтобы исполнение кода было продолжено с того места, откуда была вызвана подпрограмма. Этот метод значительно уменьшает беспорядок в основном цикле, позволяя легче понять, что в нем происходит. Четко разработав структуру подпрограмм, вы избавите себя от многих часов головной боли по поводу упорядочивания структуры вашего кода. |