(resolvido) problemas com IA

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

(resolvido) problemas com IA

Mensagem por manobrother em Dom 26 Out 2014, 00:26

então galera, eu nao estava querendo usar o move_toward_point e esses outros codigos para seguir e resolver fazer um para mim, esse aqui:
Código:

if instance_exists(obj_tanque){
if x < obj_tanque.x{
direction = 0
speed = 3}
else{
direction = 180;
speed = 3;}
if y < obj_tanque.y{
direction = 270
speed = 3}
else{
direction = 90;
speed = 3;}}

enfim, mas esse código ta fazendo ele andar só na vertical, ele fica tremendo parado enves de seguir para a direita ou esquerda, e nao consegui arrumar, alguem sabe o que posso fazer?


Última edição por manobrother em Dom 26 Out 2014, 23:02, editado 3 vez(es)

manobrother

Número de Mensagens : 206
Idade : 16
Data de inscrição : 31/10/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Thyago em Dom 26 Out 2014, 14:42

.Onde vc esta alterando as variaveis cima e lados?
Nesse code apenas pergunta se elas são true

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 29
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por manobrother em Dom 26 Out 2014, 15:08

Thyago escreveu:  .Onde vc esta alterando as variaveis cima e lados?
Nesse code apenas pergunta se elas são true
na verdade esqueci de tirar aquilo, eu ia usar para tentar arrumar mas nao deu. Mas agora troquei tudo e coloquei as coisas certas

manobrother

Número de Mensagens : 206
Idade : 16
Data de inscrição : 31/10/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Thyago em Dom 26 Out 2014, 15:16

.Ele anda na vertical porque você esta mudando o direction para 90 ou 270, ele primeiro muda para 0 ou 180, e depois para 90 ou 270.
.E quando ele chega a 1 ou 2 pixels do outro objeto ele move 3 e passa e então volta 3 e volta demais e assim não para nunca.
.Você quer que ele só se mova nessas 4 direções 0,90,180,270?

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 29
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por manobrother em Dom 26 Out 2014, 15:31

Thyago escreveu:.Ele anda na vertical porque você esta mudando o direction para 90 ou 270, ele primeiro muda para 0 ou 180, e depois para 90 ou 270.
.E quando ele chega a 1 ou 2 pixels do outro objeto ele move 3 e passa e então volta 3 e volta demais e assim não para nunca.
.Você quer que ele só se mova nessas 4 direções 0,90,180,270?
sim só nessas 4

manobrother

Número de Mensagens : 206
Idade : 16
Data de inscrição : 31/10/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Thyago em Dom 26 Out 2014, 15:36

tente assim

Código:

if instance_exists(obj_tanque){
if(abs(x-obj_tanque.x))<(abs(y-obj_tanque.y)){
direction=point_direction(x,0,obj_tanque.x,0)
}
else
{
direction=point_direction(0,y,0,obj_tanque.y)
}

speed=min(3,point_distance(x,y,obj_tanque.x,obj_tanque.y))
}

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 29
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por manobrother em Dom 26 Out 2014, 15:51

Thyago escreveu: tente assim

Código:

if instance_exists(obj_tanque){
if(abs(x-obj_tanque.x))<(abs(y-obj_tanque.y)){
direction=point_direction(x,0,obj_tanque.x,0)
}
else
{
direction=point_direction(0,y,0,obj_tanque.y)
}

speed=min(3,point_distance(x,y,obj_tanque.x,obj_tanque.y))
}

agora ele nao desce nem sobe, so vai pros lados

manobrother

Número de Mensagens : 206
Idade : 16
Data de inscrição : 31/10/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Thyago em Dom 26 Out 2014, 15:54

.Foi mal eu não tinha testado, fiz de cabeça, agora vai
Código:

if instance_exists(obj_tanque){
if((abs(x-obj_tanque.x))<(abs(y-obj_tanque.y))and abs(x-obj_tanque.x)=0)
or (abs(y-obj_tanque.y)=0 )
{
direction=point_direction(x,0,obj_tanque.x,0)
speed=min(3,point_distance(x,0,obj_tanque.x,0))
}
else
 
{
direction=point_direction(0,y,0,obj_tanque.y)
speed=min(3,point_distance(0,y,0,obj_tanque.y))
}

}

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 29
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por manobrother em Dom 26 Out 2014, 17:32

Thyago escreveu: .Foi mal eu não tinha testado, fiz de cabeça, agora vai
Código:

if instance_exists(obj_tanque){
if((abs(x-obj_tanque.x))<(abs(y-obj_tanque.y))and abs(x-obj_tanque.x)=0)
or (abs(y-obj_tanque.y)=0 )
{
direction=point_direction(x,0,obj_tanque.x,0)
speed=min(3,point_distance(x,0,obj_tanque.x,0))
}
else
 
{
direction=point_direction(0,y,0,obj_tanque.y)
speed=min(3,point_distance(0,y,0,obj_tanque.y))
}

}

funcinou, mas queria saber, oq vc fez? nao entendi isso que vc fez

manobrother

Número de Mensagens : 206
Idade : 16
Data de inscrição : 31/10/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Thyago em Dom 26 Out 2014, 17:45

.Ele verifica qual distancia é menor, a horizontal ou a vertical.
.Caso a menor distancia>0 ele vai na menor, se não ele escolhe a outra.

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 29
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por manobrother em Dom 26 Out 2014, 17:55

Thyago escreveu:.Ele verifica qual distancia é menor, a horizontal ou a vertical.
.Caso a menor distancia>0 ele vai na menor, se não ele escolhe a outra.
para que serve esse abs?

manobrother

Número de Mensagens : 206
Idade : 16
Data de inscrição : 31/10/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Thyago em Dom 26 Out 2014, 18:02

.Retorna o valor positivo
tipo:

Código:
abs(15-20)=5;

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 29
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: (resolvido) problemas com IA

Mensagem por Conteúdo patrocinado Hoje à(s) 01: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