Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2012, 04:20
mandibula120
 
Fecha de Ingreso: enero-2012
Ubicación: En españa dije...
Mensajes: 28
Antigüedad: 13 años
Puntos: 1
Tablas Tournament Bracket

Hola, estaba con un tournament bracket hecho con una tabla y he hecho una función para que cuando haga click en el elemento ganador, éste pase al siguiente match.

Esta es una imagen de lo que me refiero, aunque no se ve el bracket entero porque sería muy grande.



El caso es que como ven, yo hago click en uno de los jugadores y este pasa a la ronda siguiente.

El problema que tengo es que, imaginen que un jugador todavia no tiene rival, porque sus dos posibles contrincantes aun no han terminado, por lo que en la tabla aun no tendrá contrincante. Pero si yo le doy click, sigue pasando a la siguiente ronda, como puedo solucionar esto?

Esta es mi función.

Código:
function win(winner)
		{
		   var team = winner.value;
		   var levels = winner.name.substring(3).split("_");
		   var curlevel = parseInt(levels[0]);
		   var curgame  = parseInt(levels[1]);

		   var nextlevel = curlevel + 1;
		   var nextgame  = Math.floor( (curgame+1) / 2 );
		   
		   
		   var winnerButton = winner.form.elements["WIN"+nextlevel+"_"+nextgame];
		   if ( winnerButton == null ) return;
		   

		   ++nextlevel;
		   nextgame  = Math.floor( (nextgame+1) / 2 );
		   var nextButton = winner.form.elements["WIN"+nextlevel+"_"+nextgame];
		   var forward = ( nextButton != null && nextButton.value != "" && nextButton.value == winnerButton.value );
		   
		   winnerButton.value = team;
		   if ( forward ) winnerButton.click( );

		}