Problemas com o choose...

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Problemas com o choose...

Mensagem por elicray 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)

elicray

Número de Mensagens : 109
Data de inscrição : 20/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com o choose...

Mensagem por vinians 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 !

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Problemas com o choose...

Mensagem por elicray 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

elicray

Número de Mensagens : 109
Data de inscrição : 20/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com o choose...

Mensagem por elicray 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

elicray

Número de Mensagens : 109
Data de inscrição : 20/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com o choose...

Mensagem por Conteúdo patrocinado Hoje à(s) 00:56


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum