Comunidad de diseño web y desarrollo en internet online

Creación de calendario de competición deportiva (tipo liga)

Citar            
MensajeEscrito el 13 Feb 2008 10:21 pm
Hola, me piden que haga un script para generar todo un calendario de una competición por equipos.

Tipo liga de futbol
Jornada 1 equipoA-Equipo B EquipoC-Equipo D...
Jornada 2 EquipoA-EquipoC EquipoB-EquipoD...
Jornada 3 Equpo A-EquipoD EquipoB-EquipoC...

Los equipos son variables según los grupos así que puede que en un grupo haya 20 equipos y en otro 40.

¿saben de algún script en php/asp/javascript/actionscript (me da igual el lenguaje) que realice esta funcion?

Muchas gracias

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 14 Feb 2008 08:22 pm
N es el numero de jugadores.

Código :

var N:Number = 14; //ATENCIÓN!! "N" DEBE SER PAR! (2,4,8,12,20,...)
var g1:Array = new Array();
var g2:Array = new Array();
//crea los grupos
for (var i = 0; i<((N-1)/2); i++) {
   g1.push([i]);
   g1[i] = i;
   //
   g2.push([i]);
   g2[i] = N-i-1;
}
//hace girar los grupo para el siguiente round
for (var j = 0; j<N-1; j++) {//j son los rounds

   //anuncia los grupos
   trace("Round "+j);
   trace(g1);
   trace(g2);

   var temp1 = g2[0];
   var temp2 = g1[(N/2)-1];
   for (var k = 0; k<N/2; k++) {
      if (k == (N/2)-1) {
         g1[1] = temp1;
         g2[(N/2)-1] = temp2;
      } else {
         g1[(N/2)-1-k] = g1[(N/2)-1-k-1];
         g2[k] = g2[k+1];
      }
   }

}


Esto te da este Output:
Round 0
0,1,2,3,4,5,6
13,12,11,10,9,8,7
Round 1
0,13,1,2,3,4,5
12,11,10,9,8,7,6
Round 2
0,12,13,1,2,3,4
11,10,9,8,7,6,5
Round 3
0,11,12,13,1,2,3
10,9,8,7,6,5,4
Round 4
0,10,11,12,13,1,2
9,8,7,6,5,4,3
Round 5
0,9,10,11,12,13,1
8,7,6,5,4,3,2
Round 6
0,8,9,10,11,12,13
7,6,5,4,3,2,1
Round 7
0,7,8,9,10,11,12
6,5,4,3,2,1,13
Round 8
0,6,7,8,9,10,11
5,4,3,2,1,13,12
Round 9
0,5,6,7,8,9,10
4,3,2,1,13,12,11
Round 10
0,4,5,6,7,8,9
3,2,1,13,12,11,10
Round 11
0,3,4,5,6,7,8
2,1,13,12,11,10,9
Round 12
0,2,3,4,5,6,7
1,13,12,11,10,9,8

Los "combates" deben ser; por ejemlo, en el ultimo round:
0 contra 1, 2 contra 13, 3 contra 12, etc.

Por cierto, ¿lo pongo en la wikipedia? Veo que no está :?

Por Bleend

Claber

3385 de clabLevel

10 tutoriales
4 articulos

Genero:Masculino   Héroes

Barcelona

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.