Cet outil assez simple imprime des tableaux d’appariements pour les tournois de style rotation. Il suffit de spécifier le nombre de joueurs.

Si vous choisissez l’option français, les Blancs seront notés par B et les Noirs par N. L’option anglais notera les Blancs par W et les Noirs par B. Quant à l’option graphique, un carré explicite entourera la numéro de l’adversaire. Ainsi, un carré noir autour du nombre 4 signifie que le joueur a les Noirs contre le 4e joueur.

Cliquez sur la version imprimable pour obtenir une copie sur papier. Notez que vous devez spécifier à votre navigateur d’imprimer aussi les arrière-plans si vous choisissez le style graphique.

N’hésitez pas à m’écrire (gilles . jobin @ gmail . com) pour toutes suggestions.


Nombre de joueurs : (max 20) 

Style : Français Anglais Graphique

0) {

$APP=array();
$N=$_POST[nbre]; // le nombre de joueurs
if($N>20) {$N=20;}
//$NR = $N – 1; // le nombre de rondes
$JN = ($N % 2) ? $N+1 : $N;

//echo $N. »  » .$NR.  »  » . $JN; echo « 
« ;

//tentative de réparation de bogue
$N=$JN;
$NR=$N-1;//lenombre de rondes
//fin tentattive

for ($A=1; $A <$N-1 ; $A++) { for($B=$A+1;$B<$N;$B++) { $P++; //$ronde++; $S=$A + $B; //$JA = $A; if ($S<=$N) {$R = $A + $B - 1;} if ($S>$N) {$R = $A + $B – $N;}
//echo $A. »-« .$B. » Ronde $R
« ;
if (($A+$B)%2) {//
//Les joueurs ont la même parité
if ($A<$B) {$APP[] = array($R,$A,$B);} else {$APP[] = array($R,$B,$A);} } else { // les joueurs n'ont pas la même parité. if ($A<$B) {$APP[] = array($R,$B,$A);} else {$APP[] = array($R,$A,$B);} } } } for ($rde=1; $rde <=$N-1 ; $rde++) { if ($rde%2) { $JA = ($rde + 1) /2; $APP[] = array($rde,$JA,$N); } else { $JA =($rde + $N) /2; $APP[] = array($rde,$N,$JA); } //echo $JA."-".$N." Ronde $rde
« ;
}

// Obtain a list of columns
foreach ($APP as $key => $row) {
$ronde[$key] = $row[0];
//$edition[$key] = $row[‘edition’];
}

// Sort the data with volume descending, edition ascending
// Add $data as the last parameter, to sort by the common key
array_multisort($ronde, SORT_ASC,$APP);
$G=0;

foreach ($APP as $key => $list) {
// echo « RONDE  » . $list[0] . « \n »;
// echo « Blancs  » . $list[1] . « \n »;
// echo « NOIRS  » . $list[2] . « \n »;
// echo « 
« ;
$N1= 100*$list[1]+$list[0];

$N2= 100*$list[2]+$list[0];

if($_POST[« st »]==1) {
$TAB[$N1] = ‘B’.$list[2];
$TAB[$N2] = ‘N’.$list[1];
}
if($_POST[« st »]==2) {
$TAB[$N1] = ‘W’.$list[2];
$TAB[$N2] = ‘B’.$list[1];
}

if($_POST[« st »]==3) {
$TAB[$N1] = « « .$list[2]. »« ;
$TAB[$N2] = « « .$list[1]. »« ;
}
}

//on fait le tableau
$IMP= » »;
$IMP.= « 

« ;
$IMP.= « 

« ;
for ($i=1; $i <= $NR; $i++) { $IMP.= "

« ;
}
$IMP.= « 

« ;
for ($k=1; $k<=$N; $k++) { $IMP.= "\n

« ;
$IMP.= « 

« ;
for ($j=1; $j <= $NR; $j++) { $N3=100*$k + $j; //echo $N3. "--- "; $IMP.= "

\n »;
}
$IMP.= « \n

\n »;
}

$IMP.= « 

Joueur $i Total
« .$k. »  « .$TAB[$N3].  »   

« ;

echo « Version imprimable.
« ;
echo $IMP;

}
?>