inteligência artificial no ping pong

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

inteligência artificial no ping pong

Mensagem por toodd em Dom 13 Jun 2010, 10:47

eu estou criando um jogo de pong que esta quase acabado (Happy).

a unica coisa que falta é a inteligencia artificial do adversario (ele se mexer para a esquerda ou para a direita consoante a posição da bola).

como é que eu faço??

toodd

Número de Mensagens : 39
Data de inscrição : 09/06/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: inteligência artificial no ping pong

Mensagem por Licht em Dom 13 Jun 2010, 10:50

é muito fácil. no step dele põe:

ação: step avoiding
(o) self
seguindo objeto: [bola]
x: [bola.x]
y: [0]
speed: [defina a velocidade]

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Re: inteligência artificial no ping pong

Mensagem por toodd em Dom 13 Jun 2010, 11:11

?? bem nao percebi muito bem o codigo pesquisei um pouco e encontrei isto:
(step event)

if obj_bola.y>y then{vspeed=4}

if obj_bola.y
if obj_bola.y=y then{vspeed=0}

(create event)

hspeed=0
vspeed=4

//so que o problema é que quando o adversario esta seguindo a bola ele treme um pouco (parece que quer ir para a esquerda e para a direita ao mesmo tempo). mas de resto ta tudo bom.

tem um codigo que evite esse problema?


PS: ha um problema qualquer na apresentação do codigo neste forum (parece que ele esta cortado), talvez seja um problema so do meu pc...

toodd

Número de Mensagens : 39
Data de inscrição : 09/06/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: inteligência artificial no ping pong

Mensagem por Licht em Dom 13 Jun 2010, 11:14

isso que eu coloquei não é um código. é uma ação!

step avoiding

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Re: inteligência artificial no ping pong

Mensagem por Cainã em Dom 13 Jun 2010, 11:18

Tente fazer assim: (Coloque no STEP)

Código:
{

var Velocidade, ObjetoBola ;

Velocidade := 5  //Velocidade da plataforma.

ObjetoBola := ObjBall ;  //Objeto da bolinha.

move_towards_point(ObjetoBola.x, y, min(Velocidade, point_distance(x, y, ObjetoBola.x, y))) ;

}

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: inteligência artificial no ping pong

Mensagem por toodd em Dom 13 Jun 2010, 11:31

consegui!

obrigado ao dois!

toodd

Número de Mensagens : 39
Data de inscrição : 09/06/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: inteligência artificial no ping pong

Mensagem por victor_aco em Dom 13 Jun 2010, 11:34

Caina não to conseguindo entender esse codigo tem como você explicar para gente?

@topic:

Coloque no STEP do inimigo:
Código:
if obj_bola.y > y {vspeed=3}
if obj_bola.y < y {vspeed=-3}

Se a bola estiver mais encima do que o player, ele se move para cima com velocidade 3.
Se a bola estiver mais abaixo do que o player, ele se move para baixo com velocidade 3.

O adversário treme porque a velocidade dele é maior que a da bola ai ele ultrapassa ela e vai pra baixo ai ultrapassa ela de novo e quer ir pra cima. Por isso as velocidades devem ser proximas se for usar o codigo que te falei.

EDIT:
So postei depois dele ter resolvido porque eu comecei a digitar fui no banheiro e quando voltei ele tinha resolvido e eu nem vi.


Última edição por victor_bh em Dom 13 Jun 2010, 11:57, editado 1 vez(es)

victor_aco

Número de Mensagens : 666
Idade : 21
Data de inscrição : 25/03/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: inteligência artificial no ping pong

Mensagem por Thiago_o_programador em Dom 13 Jun 2010, 11:56

é simples eu fiz no meu um sistema pra não tremer, coloquei a velocidade do inimigo em 5 e a velocidade da boa em seis, pronto! Ele não treme mais! Happy

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Re: inteligência artificial no ping pong

Mensagem por Cainã em Dom 13 Jun 2010, 12:06

Com o código que passei ele não treme. Vou tentar explicar:

Como vocês podem ver em todas as funções o Y não foi alterado porque não há movimento vertical. Utilizei o move towards para mover a plataforma ao X da bolinha. A velocidade é definida pelo valor mínimo da velocidade total (Velocidade) e da distâncida do X entre a bola e a plataforma, não permitindo que ela fique tremendo.

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: inteligência artificial no ping pong

Mensagem por Conteúdo patrocinado Hoje à(s) 13:58


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