Mostrando entradas con la etiqueta JAVACUP 2008. Mostrar todas las entradas
Mostrando entradas con la etiqueta JAVACUP 2008. Mostrar todas las entradas

miércoles, 2 de julio de 2008

Clasificación LIGA JAVACUP 2008

El torneo de la JavaCup 2008 fue todo un éxito.

Dejo el enlace de la clasificación de la Liga:
http://www.javahispano.org/forum/javacup/es/resultado_de_la_liga_/

El torneo con cruces lo ganó 1A con una táctica muy diferente a las de la JavaCup 2007.

Yo, con mi equipo Los Javatos quedé el #42 con 42 victorias de 79 partidos disputados. Creo que no está nada mal para ser el primer año que me presento.

A ver si en este verano me pongo las pilas y hago un mostruo del fútbol. Me encantaaaa!!!!!!!!

lunes, 12 de mayo de 2008

TRUCOS JAVACUP 2008

Bueno, referente a la táctica del concurso JavaCup 2008, voy a explicar algún truquillo que puede ser interesante.

El framework de Javacup, por cada movimiento de balón itera cada una de las tácticas que están en juego, por lo que sería lógico, dentro de cada táctica, iterar todos y cada uno de los 11 jugadores con sus comandos (movimientos, pases o tiros a puerta) correspondientes.

Otro y si cabe, más interesante, sería anticiparse a las acciones del contrario, calculando previamente la posición futura del balón. Esto se haría más o menos:


distanciaRecorridaBalonEjeX = bola.getX() - posicionBalonAnterior.getX();
distanciaRecorridaBalonEjeY = bola.getY() - posicionBalonAnterior.getY();

posicionBalonSiguiente.setLocation(bola.getX() + distanciaRecorridaBalonEjeX, bola.getY() + distanciaRecorridaBalonEjeY);

bola = posicionBalonSiguiente;

Con el nuevo objeto bola y sus nuevas coordenadas ya podemos seguir con nuestra táctica; movimientos de los jugadores, siempre respecto a la nueva posición de la bola.
Una vez se haya acabado nuestra táctica en el enésimo movimiento del balón según el framework, hay que actualizar la posición del balón anterior con la posición de la bola utilizada de la siguiente manera:

this.posicionBalonAnterior.setLocation(sj.getBola());

Para rematar la faena, nos interesa cubrir al contrario o mejor dicho, anteponernos entre el balón y el contrario.
Para ello podemos utilizar el siguiente código:


//nCon en el índice del vector contrarios, es decir, el contrario a cubrir

double x = sj.getBola().getX() - sj.getContrario()[nCon].getX();
double y = sj.getBola().getY() - sj.getContrario()[nCon].getY();

//Distancia del contrario a la bola
double n = Math.sqrt(Math.pow(x,2) + Math.pow(y,2));

//Posiciona al jugador en un punto intermedio de la recta que une el contrario y la bola
double nx = sj.getContrario()[nCon].getX() + (x/n)*20;

double ny = sj.getContrario()[nCon].getY() + (y/n)*20;

lunes, 5 de mayo de 2008

JAVACUP 2008

Ya hace un año leí en la revista "Sólo Programadores" un artículo sobre un torneo de fútbol para programadores Java. Ahora vuelve la segunda edición (http://javacup.javahispano.org/) con mucha más fuerza y mejores premios.
Entre las empresas involucradas está Sun Microsystems Ibérica, lo que indica del alto prestigio del torneo.

Se trata de hacer una táctica (una clase Java) sobre un framework programado por Jorge Rubira que ofrece todo lo referente a la posición del balón, de los jugadores, pases, chutes, etc. Esta táctica puede ser lo más sofisticada que se pueda para auparse al número 1 del podio, aunque creo que es muy difícil por lo ya visto en el 2007. El vídeo de la final de 2007 lo puedes encontrar en : http://mx.youtube.com/watch?v=IcC-Pg34Wa4&feature=related.

¿ Te atreves?.