Aparte Otra Cosa…

Programación, informática, software libre, curiosidades…

 

Fixtures automáticos

Vamos a ver una pequeña rutina para crear fixtures de campeonatos tipo liga (todos contra todos).

Primero, va una explicación de cómo tenemos que realizar un fixture. Y que es, en definitiva, lo que el programa hará automáticamente.

Para usar el programa, lo único que hay que hacer, es ingresar el nombre de los participantes.
Una vez que estén todos ingresados, se deberá hacer clic en “Crear Fixture”, y el sistema automáticamente generará el fixture correspondiente.

Notas:
- No se preocupen si ingresan un número impar de participantes. En este caso, el sistema incluirá el participante ficticio “Libre
- Si no se está conforme con el fixture generado, se puede hacer nuevamente clic en “Crear Fixture”, y se generará uno nuevo con los datos ya ingresados.
- El fixture generado, se puede grabar (cuando se pregunte, ingresar el nombre del archivo, incluyendo el path o carpeta de destino. Ej.: C:\FIXTURE.TXT)

El procedimiento para generar un fixture es el siguiente:

- Primero, verificamos que la cantidad de participantes sea par. Si es impar, agregamos un participante ficticio llamado “Libre“. De esta manera, resolvemos dos problemas a la vez: tenemos una cantidad par de participantes, y vemos cuál de ellos queda libre (no juega) en cada fecha. El participante que queda libre en una fecha, es, simplemente, el que se enfrenta al participante ficticio “Libre”

- Luego, determinamos la cantidad de fechas que tendrá la liga. Es un simple cálculo: Participantes - 1
En el caso de una cantidad impar de participantes, la liga tendrá la misma cantidad de fechas que de participantes.

- Determinamos asimismo, la cantidad de partidos por fecha: Participantes / 2 (Si la cantidad es impar, sumamos 1 a “Participantes” antes de dividir)

- Luego, realizamos la separación de los participantes en dos listas distintas, cada una de las cuales, tendrá exactamente la mitad de participantes.

- Mezclamos aleatoriamente ambas listas, para asegurarnos que cada fixture sea distinto y los enfrentamientos sean determinados por el azar.

- Luego creamos la primera fecha del torneo. Para este ejemplo, supondremos una liga como la que sigue:

6 participantes.
3 partidos por fecha
5 fechas.

- Para crear la primera fecha, hacemos que se enfrenten los equipos de las dos listas que separamos, de tal forma que el primero de la lista 1, se enfrente con el primero de la lista 2. El segundo de la lista 1 con el segundo de la lista 2, y así sucesivamente. Ya tenemos la primera fecha creada. Supongamos que el resultado sea el siguiente:

Participante_6 vs Participante_4
Participante_2 vs Participante_1
Participante_5 vs Participante_3

- Para la segunda fecha, y las subsiguientes, procederemos así:
Dejamos el primer participante SIEMPRE fijo (en este caso Participante_6), y vamos rotando el resto de participantes en sentido horario.

Participante_4 pasa a ocupar el puesto de Participante_1. Éste, reeemplaza a Participante_3. Participante_3, pasa a la última posición de la lista de la izquierda, donde se encontraba Participante_5, que pasa a la posición de Participante_2, quien reemplaza a Participante_4 en la primera posición de la lista de la derecha…

Hagámosle el seguimiento a Participante_2. De la manera antes descripta, la segunda fecha será:

Participante_6 vs Participante_2
Participante_5 vs Participante_4
Participante_3 vs Participante_1

Los participantes que se encuentran en la columna de la izquierda (locales), se rotan hacia arriba. El que se encuentra en segunda posición, pasará a la primera de la derecha, puesto que el primero no rota nunca.
Los que se encuentran en la columna de la derecha (visitantes), rotan hacia abajo. El último de esta lista, pasa a ser el último de la lista de la izquierda.

Para la tercera fecha, volvemos a rotar, y nos queda:

Participante_6 vs Participante_5
Participante_3 vs Participante_2
Participante_1 vs Participante_4

y la cuarta:

Participante_6 vs Participante_3
Participante_1 vs Participante_5
Participante_4 vs Participante_2

finalmente, la quinta y última fecha:

Participante_6 vs Participante_1
Participante_4 vs Participante_3
Participante_2 vs Participante_5

Como se puede apreciar, Participante_2 termina en la posición anterior a la que inició el torneo.

Y esto es todo. El fixture del torneo está listo, y ya se puede comenzar con los partidos.

El programa puede ser descargado siguiendo este enlace.

Si tienen alguna duda, no duden en realizar una pregunta en un comentario.

Suerte!!

    Compartir este post en:
  • Facebook
  • Twitter
  • menéame
  • Delicious
  • Technorati
  • Digg
Programación, Software

Si le ha gustado esta entrada, por favor considere dejar un comentario o suscríbase al feed y reciba las actualizaciones regularmente.


Deje su comentario

Debe para dejar un comentario.

Iniciar sesión

Ingrese el e-mail y contraseña con el que está registrado en Monografias.com

   
 

Regístrese gratis

¿Olvidó su contraseña?

Ayuda

film izle Home Design Spielaffe sesso video giochi