"; echo "espace en case entre le haut de tableau et le premier match du tour : ".$espace_v."
"; echo "espace en case entre deux match du meme tour : ".$espace_i."
";*/ $match=0; while($match<$nb_joueur/2) // on prend les match un par un { if($tab[$i][$match*2] and $tab[$i][$match*2+1] and $tab[$i][$match*2]!="NULL" and $tab[$i][$match*2+1]!="NULL") // si joueur pas "NULL" { $joueurs[]=$tab[$i][$match*2]; //on recupere les noms $joueurs[]=$tab[$i][$match*2+1]; $tmp=$score[$i][$match*2]; // on recupere le score correctement formate $joueurs[]=$tmp; // on copie le score dans les case qui vont bien $joueurs[]=$time[$i][$match*2]; // on copie l'heure $result[($espace_v)+($espace_i+1)*$match][$i]=$joueurs; //the truc pour avoir l'emplacement unset($joueurs); } else { $result[($espace_v)+($espace_i+1)*$match][$i]="&"; } //echo "match : ".$match." ".$tab[$i][$match*2]." ".$result[($espace_v)+($espace_i+1)*$match][$i]."
"; $match++; } } return $result; } /* Crée une ligne vide */ function ligneVide($tab,$nbmatch,$nbtour) { for($i=0;$i<$nbmatch;$i++) { $vide1=true; $vide2=true; for($j=0;$j<$nbtour;$j++) { if($tab[$i][$j]!="") { $vide1=false; break; } } if(!$vide1) $retour[]=$tab[$i]; } return $retour; } // printab affiche le tableau // result etant le tableau provenant de calculTab,nbmatch le nombre de match (null compris) au premier tour,et nbtour le nombre de tour a affiche function printTab($result,$nbmatch,$nbtour) { echo ''; for($i=0;$i<$nbmatch;$i++) { $vide=true; for($j=0;$j<$nbtour;$j++) { if($result[$i][$j]!="") { $vide=false; break; } } if(!$vide) { echo ""; for($j=0;$j<$nbtour;$j++) // on prend tout les tour affiche { $espace_v=pow(2,$j)-1; // on l'utilise pour retrouver les case voisine et savoir si il faut mettre un coin un trait etc. echo ""; if($j!=$nbtour-1) // si on est pas au dernier tour dessine les dessins de liaison dans une nouvelle colonne { echo "'; echo ''; } else if($result[$i][$j]!="" && $result[$i-$espace_v-1][$j+1]!="")// si match et la case diagonale vers le haut(avec espace_v pris encompte) y a match aussi alors coin bas { //echo ''; echo ''; } if (($result[$i][$j+1]!=""))// && ($result[$i-$espace_v-1][$j]!="") && ($result[$i+$espace_v+1][$j]!="")) echo '';// background="images/arbre_ligneV.gif" //if (($result[$i+1][$j+1]!=""))// && ($result[$i-$espace_v-1][$j]=="") && ($result[$i+$espace_v+1][$j]!="")) // echo ''; /*if (($result[$i][$j+1]!="") && ($result[$i-$espace_v-1][$j]!="") && ($result[$i+$espace_v+1][$j]=="")) echo '';*/ else { $flag=false; // boucle pour ecrire les barre verticale for($k=0;$k<$espace_v;$k++) { if($result[$i-$k-1][$j+1]!="" || $result[$i+$k+1][$j+1]!="") { echo ''; //echo ''; $flag=true; } } if(!$flag) echo ' '; } echo ""; } else echo ''; } echo ""; } } echo "
"; if($result[$i][$j]!="" and $result[$i][$j]!="&") // si y a un match { echo ''; echo ''; if($result[$i][$j][2]=="") // si le match n'a pas de vainqueur (pas joue) { $win1="nullmatch";$color1="#000000"; $win2="nullmatch";$color2="#000000"; } else if($result[$i][$j][2]==1) // si joueur1 vainqueur { $win1="winmatch";$color1="#FF0000"; $win2="loosematch";$color2="#000000"; } else // joueur2 vainqueur { $win1="loosematch";$color1="#000000"; $win2="winmatch";$color2="#FF0000"; } echo ''; if($result[$i][$j][2]!='') { echo ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if($result[$i][$j][2]!='') { echo ''; } echo ''; echo '
'; list ($match1,$nom1)=explode("*",$result[$i][$j][0]); if($nom1=="V") // si c un match dont le joueur 1 est connu $nom1=""; if ($j>0) $match1=""; //echo 'FR'; echo ''.$match1.''.$nom1; echo ''; if($result[$i][$j][2]==1) // si le j1 vainqueur on ecrit les donnees de la case 3 echo "".$result[$i][$j][3].""; else echo "".$result[$i][$j][4].""; echo '
'; list ($match,$horaire)=explode("*",$result[$i][$j][5]); if ($j != ($nbtour-1)) $match=""; echo $match; echo ''; echo ''.$horaire.''; echo '
'; list ($match2,$nom2)=explode("*",$result[$i][$j][1]); if($nom2=="V") // si c un match dont le joueur 1 est connu $nom2=""; if ($j>0) $match2=""; //echo 'FR'; echo ''.$match2.''.$nom2; echo ''; if($result[$i][$j][2]==2) echo "".$result[$i][$j][3].""; else echo "".$result[$i][$j][4].""; echo '
'; } else if ($result[$i][$j]=="&") { echo ''; } echo "
"; if($result[$i][$j]!="" && $result[$i+$espace_v+1][$j+1]!="") // si match et la case diagonale vers le bas(avec espace_v pris encompte) y a match aussi alors coin haut { //echo '
"; } $tab_traite=calculTab($tab,$result,$time,$long_premier_tour,$nb_tour); //$tab_traite=ligneVide($tab_traite,$long_premier_tour,$nb_tour); echo""; printTab($tab_traite,$long_premier_tour,$nb_tour); ?>