Feeds de los foros

En la página principal de los foros encontrarás los enlaces al logo feed feed general y al de cada uno de los foros.

Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible

Buscar en el foro

Foro JavaCup

feed Foro JavaCup Foro: JavaCup

Nuevo Tema Nuevo Tema

Predecir velocidad 11/05/2008 01:34
anonymous

Hola a todos, estoy programando...., y me encontre con esto, les queria pedir un poco de ayuda, lo que quiero hacer es a partir de la posicion de la bola, quiero averiguar la velocidad con la cual llegara a cualquier punto si la golpeo, todo comentario sera agradecido XD !.

 

Saludos !

#unapprove_message#
RE: Predecir velocidad 11/05/2008 11:05
JorgeRubira

Buenas,

En este hilo se indica las formulas que se emplean cuando se golpea la bola. Te lo dejo aquí para no copiar todo ...

http://www.javahispano.org/forum/javacup/es/predecir_donde_caera_la_bola/

En lo que preguntas a lo de obtener la velocidad que llevará la pelota en cualquier punto sigue estos pasos.

1. Obtener la velocidad y angulo de la pelota (Ver hilo anterior).

2. Obtener un punto x,y es decir que cumpla se pueda dar el caso de esta regla de ecuaciones: xDes = cos(angulo) * distancia yDes = sin(angulo) * distancia. El angulo lo sabemos ya que la pelota no puede cambiar de angulo si no se le puede golpear, los puntos xDes e yDes es lo que das a conocer (pero cuidado porque deben ir en la trayectoria de la pelota es decir que la distancia en ambas formulas (cos y sin) sea la misma).

3. Una vez sabemos xDes e yDes, debemos saber la distancia. Podemos aplicar cualquiera de las dos formulas distancia = xDes/cos(angulo) o distancia = yDes/sin(angulo).

4. Una vez sabemos la distancia, obtener la velocidad de la bola (ver hilo indicado). Y buscar mediante una iteración el punto en que velocidad + velocidad - 1 + velocidad - 2 + ... velocidad - n = distancia (= o aproximado de distancia en el paso 2). Una vez conozcas n está será la velocidad con la que pasará la bola.

Espero se entienda.

Saludos,

Jorge

 

#unapprove_message#
RE: RE: Predecir velocidad 11/05/2008 11:06
JorgeRubira

Aclarar que la velocidad no será n ... será (velocidad - n)

 

#unapprove_message#
RE: Predecir velocidad 11/05/2008 23:03
anonymous

Hola Jorge,ante que nada gracias por la explicacion,pero me parece que no estamos hablando de lo mismo,por lo que estuve leyendo de lo escribiste, vos estas explicando como obtener la velocidad de la bola en cualquier punto de la trayectoria de la misma no?.

Te explico mas detalladamente mi problema(perdon por no hacerlo antes):tengo un jugador con la pelota,y puede golpearla,el jugador debe tomar la decision de pasarla a un jugador al cual la pelota no lo atraviese, se que si la velocidad de la bola es mayor o igual a 15 la bola lo va a atravesar y el pase fue inutil,yo quiero evitar que los pases sean inutiles, ¿hay manera de predecirlo?.

 

Saludos.

#unapprove_message#
RE: Predecir velocidad 12/05/2008 00:24
JorgeRubira

Ok!

Primero lo que debes calcular es para cada fuerza cuanta distancia será un pase preciso.

F=7 > 21 +20 + 19 + 18 + 17 + 16 + 15 = 108 (el jugador debe estar a >= de 108px distancia)

F=6 > 18 + 17 + 16 + 15 = 66 (el jugador debe estar a >=66px distancia)

F=5 > 15 =15 (el jugador debe estar a >=15px distancia).

(Para F=4 siempre se le podrá golpear).

2. Calcula la distancia que hay entre el jugador que tiene la pelota y el que la ba a recibir.

General.getDistancia(x1,y1, x2,y2)

3. Imaginemos el caso en que una persona con fuerza 7 quiere hacer un pase a un jugador de distancia 100.

4. Para eso deberá calcular un punto de manera que la fuerza sea 6. (Para que se aplique el factor de reduccion que sigue esta formula si distanciaDestino<50 -> fuerza = (int)(fuerza * distanciaDestino / 50) (aprox) por ejemplo golpearla a una distancia 45 -> (int)(7 * 45 / 50) = (int)6,3 = (int)6 en la trayectoria de la bola. El jugador de fuerza 7 golpearía con fuerza 6 por lo que la pelota se podrá golpear a partir de 66 px de distancia.

Finalmente comentar que el angulo y la distancia se pueden obtener con las funciones General.getDistancia y General.getAngulo.

Saludos, Jorge.

 

 

#unapprove_message#
RE: Predecir velocidad 12/05/2008 00:28
JorgeRubira

Disculpa...

21 +20 + 19 + 18 + 17 + 16 + 15 = 126.

#unapprove_message#
RE: Predecir velocidad 12/05/2008 02:58
anonymous

Hola Jorge,muchas gracias por la ayuda!.

Me encontre con problema con la fuerza,no hay metodo que me diga la fuerza de mis jugadores ni las del contrario: "sj.getMisJugadores()[n]" ,"sj" es del tipo "SituacionJugadores ", "n" vale entre 0 y 10....,la de mis jugadores las puedo obtener por que la tengo en una matriz mia..,pero la de los contrarios de donde puedo obtener la fuerza,¿hay manera de averiguarlo?.

 

Saludos!.

#unapprove_message#
RE: Predecir velocidad 12/05/2008 04:00
anonymous mira la TacticaPtetica... existe en array llamado velocidad... en ella se predice la velocidad de los contrarios capturando en cada iteracion cuanto se a desplazada cada jugador contrario. se deduce la velocidad de cada uno como el maximo desplazamiento que han logrado... esto es exceptuando cuando ocurre un gol ya que los jugadores se reubican...
#unapprove_message#
#thread_expired#.
Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano