Conectar-se
Quem está conectado
41 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 39 Visitantes

gart30, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Problemas com o choose...

em Seg 31 Jan 2011, 17:26
Bem, trouxe mais uma duvida - 3 dias, 3 duvidas, - isto está a ficar mau ... :cry:

Eu tenho uma array de quatro valores (um para cada direcção) para para as saber se o inimigo pode ir numa certa direcção ou não... Essa parte está completa, mas na hora de escolher a direcção apareceu-me um problema que me está a dar cabo da cabeça... nervoso

Eu estou usando o choose para escolher a direcção, mas queria que ele só escolhesse as direcções que a array diz que pode ir... No inicio tentei usar algo do género:
direction = choose(if dir[0] = true{0},if dir[1] = true{90},if dir[2] = true{180},if dir[3] = true{270})
mas o GM não aceitou...

Provavelmente daria para fazer isso através de uma infinidade de if's mas certamente há um forma mais eficaz...
Alguém me pode ajudar? Rolling Eyes


Última edição por elicray em Ter 01 Fev 2011, 16:48, editado 2 vez(es)
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Problemas com o choose...

em Seg 31 Jan 2011, 18:03
Amigão, tente isso:

var aux;
while (true)
{
aux = choose(0, 1, 2, 3);
if (dir[aux])
{
direction = 90 * aux;
break;
}
}

É isso ai !
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Problemas com o choose...

em Seg 31 Jan 2011, 18:17
Acho que deu certo, sempre que ele ia contra o alcance da bomba voltava mudava de direcção...
Agora é só melhorar a IA Happy

Obrigado outra vez flw
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Problemas com o choose...

em Ter 01 Fev 2011, 16:48
Ops... Surgiu um problema...
O laço funcionava quando eu só checava se o alcance da bomba não chegava a ele, mas agora, que também pus para checar se falta à frente dele tem um raio o GM trava, coisa que normalmente acontece com laços infinitos... --\'

Se ajudar, o código que estou a usar é:
Código:

for(i = 0; i < 4; i += 1){
if instance_exists(bomba){
if !collision_line(x,y,bomba.x,bomba.y,parede,100,1) && !collision_line(x,y,bomba.x,bomba.y,parede2,100,1)
if point_direction(x,y,bomba.x,bomba.y) = 90*i
if distance_to_object(bomba) < player.poder
dir[i] =  1
else
dir[i] = 0
}else
if instance_exists(explosao){
if !collision_line(x,y,explosao.x,explosao.y,parede,100,1) && !collision_line(x,y,explosao.x,explosao.y,parede2,100,1)
if point_direction(x,y,explosao.x,explosao.y) = 90*i
if distance_to_object(explosao) < player.poder
dir[i] = 1
else
dir[i] = 0
}else
dir[i] = 0
}
Este código ainda vai ser alterado, pois caso haja mais que uma bomba ou explosao o GM checa sempre no primeiro u.u
Acho que é mais fácil perber o code no código do GM
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum