ProdutosNewsComprarDownloadsDownloadsDownloadsTutoriaisSuporteNão disponívelGaleriaForumContato  

DarkBASIC Pro
Versão de Avaliação
Patch 5.4
USB Dongle
Forum
Indique
Lista de Email
  Diário Antigo
Outros Produtos
Cartography Shop
DarkMatter
Curso 3D Studio
Combinados
Local DBPro Sites
Italy
UK

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.

Promoção de Lançamento

Clique aqui para comprar o 
DBPro R$220,00

Clique aqui para comprar o 
DBPro para Universitários R$150,00


clique aqui para comprar o Upgrade a partir da versão clássica por R$150,00

Nova pagina 1

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