![]() |
|
![]() ![]() ![]() |
|
3.8 Gosub
Proposta: mostrar o uso da instrução Gosub. Neste tutorial nós iremos mostrar a você o uso do comando "Gosub". Nós iremos usar um "Gosub" neste exemplo para ajudar a organizar o programa do jogo, ou seja, torná-lo mais fácil de ser entendido e a partir dai ser possível determinar o que está acontecendo no loop principal e tornar mais fácil a implementação de mais características ao código. If BulletLife > 0 then Gosub ShootBullet Nós substituímos toda a seção de código referente ao teste de vida da bala por uma única linha. O comando "Gosub" é usado para executar um bloco de código que está localizado em qualquer lugar do programa então retorna ao mesmo ponto onde o comando foi chamado "Gosub". Aqui nós estamos chamando a sub-rotina "ShootBullet". ShootBullet: Dec BulletLife Move object 2,10 bX#=Object position X(2) bY#=Object position Y(2) bZ#=Object position Z(2) inc Pn if Pn=21 then Pn=10 Scale object Pn,100,100,100 Position object Pn,bX#,bY#,bZ# point object Pn,X#,Y#,Z# Zrotate object Pn,rnd(180) for x = 1 to 10 scale object int((Wrapvalue((Pn-9+x)*36))/36)+10, 100+x*25,100+x*25,100+x*25 set cursor 10,10 next x if bY# < Get Ground height(1,bX#,bZ#) then BulletLife=0 Position sound 2,bX#,bY#,bZ# set cursor 10,10 if Sqrt((mX# - bX#)^2 + (mY#+25 - bY#)^2 + (mZ# - bZ#)^2) <20 print "hit hit hit hit hit hit hit hit" BulletLife = 0 endif if BulletLife = 0 Hide object 2 stop sound 2 for x=10 to 20 hide object x next x Explode = 20 endif Return Você define uma sub-rotina dando a sub-rotina um único rótulo (label) ou nome e você coloca este rótulo onde a sub-rotina inicia-se. Você deve colocar dois pontos em frente ao rótulo (ou se preferir, nome) da sub-rotina ou ela não será reconhecida e causará um erro. No local onde acabar sua sub-rotina, você deve inserir o comando "Return" para que o código principal seja executado a partir do ponto onde o último comando Gosub foi chamado. Esta técnica proporcionada pelo comando pelo comando Gosub torna a leitura do código muito mais fácil de ser feita e entendida. Planejar corretamente suas sub-rotinas economiza horas de trabalho e frustração para você programador. |
|
Esta é a barra de navegação para explorar todos os tutoriais da série "A Caça Aos Monstros" |
| 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 2.1 | 2.2 | 2.3 | 2.4 | 2.5 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
| Copyright © 2003 Dark Basic Software Limited. | ||
| Virtual Object Informática Ltda.® |
![]() |
![]() |