Conectar-se
Quem está conectado
31 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 28 Visitantes

Fuzenrad, gart30, Tedi Ripper

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 09/06/2010
Número de Mensagens : 39
Insígnias de JAM :

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

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

inteligência artificial no ping pong

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??
avatar
Ranking : Sem avaliações
Data de inscrição : 26/04/2010
Número de Mensagens : 1217
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://lightsoftworks.blogspot.com/

Re: inteligência artificial no ping pong

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]
avatar
Data de inscrição : 09/06/2010
Número de Mensagens : 39
Insígnias de JAM :

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

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

Re: inteligência artificial no ping pong

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...
avatar
Ranking : Sem avaliações
Data de inscrição : 26/04/2010
Número de Mensagens : 1217
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://lightsoftworks.blogspot.com/

Re: inteligência artificial no ping pong

em Dom 13 Jun 2010, 11:14
isso que eu coloquei não é um código. é uma ação!

step avoiding
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: inteligência artificial no ping pong

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))) ;

}
avatar
Data de inscrição : 09/06/2010
Número de Mensagens : 39
Insígnias de JAM :

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

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

Re: inteligência artificial no ping pong

em Dom 13 Jun 2010, 11:31
consegui!

obrigado ao dois!
avatar
Data de inscrição : 25/03/2010
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: inteligência artificial no ping pong

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)
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 711
Insígnias de JAM :

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

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

Re: inteligência artificial no ping pong

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
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: inteligência artificial no ping pong

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.
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