Foro de la JavaCup > Diferencias con 2011
Buenas Buenas, la única diferencia con la versión anterior es que dos jugadores cualquiera ya no pueden ocupar la misma posición, sino que tienen que estar alejados en un radio igual a Constants.JUGADORES_SEPARACION ( = 1.5). (valor actual=0.75)
Y como mencionaste también se ha realizado una refactorización, renombrando métodos, clases y paquetes al ingles, Se deprecaron algunas constantes que no se usaban, y se agrego un nuevo set de sprites para los jugadores. Pero estas modificaciones no afectaran el funcionamiento de tu táctica.
Saludos.
Ok, entonces me surge la duda de cómo se resuelven las "colisiones", me explico. Si dos jugadores están a 2 unidades de distancia y cada uno avanza 0.5 con dirección al otro, solo uno de los dos puede avanzar ¿cuál de ellos?
Saludos.
Primero se ejecutan los comandos CommandMoveTo como si los jugadores fueran transparentes y se guardan las nuevas posiciones de ambos equipos en arrays. Luego con los nuevos arrays se verifica para cada equipo si los jugadores están en colisión con algún otro de su mismo equipo, si existe colisión entre 2 jugadores, se calcula el punto medio entre ellos y se separan Constants.JUGADORES_SEPARACION/2 desde el punto medio. Luego se realiza la misma operación pero entre jugadores de distinto equipo... finalmente se actualizan las posiciones con los valores de los arrays.
Puede ocurrir entonces que al final del proceso si un jugador ha colisionado con mas de un jugador, este a menor distancia que Constants.JUGADORES_SEPARACION con algún otro jugador.
Entonces la respuesta a tu pregunta seria que ambos solo avanzan 0.25 en dirección al otro.
Detalles de la implementación en la clase Partido en el método executeCommands entre las lineas 958 y 1007.
Saludos.
Geanial !!! mi primer torneo :D, muchas gracias por esas aclaraciones
Pd. surgiran mas :D
Creo que que la minima separacion entre jugadores (1.5) puede entrar en conflicto con la distancia para el control de balon (1)
¿Cómo se resuelve que un jugador este encima de la bola?
Buenas, analizando mas el tema, puede ocurrir que sea muy difícil o casi imposible quitar el balón a un jugador. Ejemplo:
sean dos jugadores A y B, y el balón como se muestra en la figura1 (El circulo continuo indica el cuerpo de los jugadores, el circulo punteado indica el área de control del balón).
Ahora, si el jugador B tiene el control del balón, podría mover el balón muy poco para alejarlo del control del jugador A, ver figura2.
Notar que, si el jugador A se mueve hacia el jugador B el punto medio entre ellos cambia y el efecto es que el jugador B es empujado, pero creo que no lo suficiente para que el jugador A tome control del balón.
Incluso si fueran mas jugadores los que quisieran quitar el balón al jugador B, me parece que seria difícil lograrlo.
Voy a abrir un post nuevo para que discutamos como solucionar esto.
Saludos.
Solucionado (Se modifico la separación entre jugadores a el valor a 0.75)
Hola, existe alguna diferencia de funcionamiento con respecto al framework 2011 que no sea el renombrado de las clases. Por lo que pude leer en el tutorial no existe, pero quisiera confirmarlo.
Saludos.