Conectar-se
Quem está conectado
22 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 22 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 10

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

Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 10:08
Ontem, começei a desenvovler uma engine de Tennis, está ficando já legal, já tinha Masks, Rede, bola e o jogador, só foltava o inimigo, entam quis executar uma IA super simples no Step do inimigo que é:
Código:
x = objBola.x
E Em seguida fiz a colisão com a rede, até ai tudo bem, mas ao executar o jogo, o inimigo atravessa a rede para vir pegar a bola, sendo que já fiz a colisão dele com a bola, entam é este o meu probrema, creio eu que seja na IA, alguem pode me ajudar, desde já agradeço.


Até! flw
avatar
Ranking : Nota C
Notas recebidas : C-D-A-C
Data de inscrição : 28/01/2011
Número de Mensagens : 1003
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 18

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://sonicmaker.forumeiros.com/memberlist

Re: Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 10:42
acho que não posso ajudar pois não sei o que pode ser, voçe não esplicou muito bem. Me manda a engine para que eu possa ajudar.
avatar
Data de inscrição : 04/06/2010
Número de Mensagens : 505
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 10:58
Não seria melhor se vc usar o distance_to_object?
Aí quando o cara tiver a tal distancia da bola, coloca x -= tanto ou x += tanto para ele se mover até a bola (horizontalmente) e quando a distancia dele em relação a bola for mínima, ele rebate a bola... se por exemplo ele estiver muito longe, aí não vai alcançar..
concluindo, cria uma variável que vai dizer se ele já rebateu ou não aí se ele já bateu na bola, ele vai ficar esperando e não sair correndo atras da bola ;)
avatar
Ranking : Nota D
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Número de Mensagens : 836
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 12

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

Re: Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 11:01
No seu jogo a rede está horizontal ou vertical, isto é, a bola vai entre pra cima e pra baixo ou pra direita e esquerda?
Digamos que a rede seja vertical, o inimigo esteja na direita e o player na esquerda, entao se voce botar x=objBola.x no step do inimigo, o x dele vai sempre ser o mesmo q o da bola, mesmo que tenha colisão com outros objetos, incluindo a rede. Vc teria que colocar y=objBola.y, mas o x permanecendo o mesmo, assim o x da bola so vai ser o mesmo q o do inimigo quando a bola vier pro inimigo, e é só o que precisa.
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 25

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

Re: Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 13:10
não é por nada, mas, se o x do inimigo for igual ao x da bola, o inimigo nunca vai errar a bola.

acredito que vc colocou um step para o objeto inimigo ir até a bola, isso ta errado, coloque algo assim:
if obj_bola.y=(y da rede) {codigo para o inimigo seguir a bola}

ai na parte: obj_bola=(y da rede), vc troca o igual por < ou >, veja ai quando o y da bola for mais proximo do campo inimigo.

flw
avatar
Ranking : Sem avaliações
Data de inscrição : 25/09/2010
Número de Mensagens : 154
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -16

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

Re: Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 13:30
Cara você tem que deixar a rede do objeto sólida e o jogador tbm
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

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

Re: Probrema em IA básica de Tennis

em Ter 05 Abr 2011, 13:41
ou:
Código:
x=median(limite_esquerdo, limite_direito, x+velocidade_do_inimigo*sign(obj_bola.x-x))
isso deve fazer seu inimigo correr atrás da bola numa velocidade limitada (e constante, infelizmente) sem ultrapassar os limites impostos.
Conteúdo patrocinado

Re: Probrema em IA básica de Tennis

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