Files
resatennis_tyroltenn/www/site_inscription/tmp.htm

161 lines
7.4 KiB
HTML
Executable File

<?PHP
function calculInfoTour($numero_tour,$nb_joueur,$nb_qualif){
global $infoTour;
echo "nb_joueur**".$nb_joueur."<br>";
echo "nb_qualif**".$nb_qualif."<br>";
$nb_joueur_de_trop=$nb_joueur-$nb_qualif;
echo "nb_joueur_de_trop**".$nb_joueur_de_trop."<br>";
if ($nb_joueur_de_trop<=$nb_qualif){
$infoTour[$numero_tour][nb_match]=$nb_joueur_de_trop; echo "<br> infoTour[".$numero_tour."][nb_match]".$infoTour[$numero_tour][nb_match];
$infoTour[$numero_tour-1][nb_joueur_entrant]=$nb_joueur-(2*$nb_joueur_de_trop); echo "<br> infoTour[".$numero_tour."-1][nb_joueur_entrant]".$infoTour[$numero_tour-1][nb_joueur_entrant];
//$infoTour[$numero_tour][nb_joueur_entrant]=0;
$infoTour[$numero_tour][nb_joueur_entrant]=2*$nb_joueur_de_trop; echo "<br> infoTour[".$numero_tour."][nb_joueur_entrant]".$infoTour[$numero_tour][nb_joueur_entrant]."<br>";
}
else {
echo "TOUR : $numero_tour";
$infoTour[$numero_tour][nb_match]=$nb_qualif; echo "<br> infoTour[".$numero_tour."][nb_match]".$infoTour[$numero_tour][nb_match];
$infoTour[$numero_tour][nb_joueur_entrant]=$nb_qualif; echo "<br> infoTour[".$numero_tour."][nb_joueur_entrant]".$infoTour[$numero_tour][nb_joueur_entrant]."<br>";
$nb_joueur=$nb_joueur-$nb_qualif;
calculInfoTour($numero_tour+1,$nb_joueur,$nb_qualif);
}
}
copy("faits_fixes_tableau.fai","./cer/tab/tab.fai");
$faits=fopen("./cer/tab/tab.fai","a");
include ("conf.php");
$db_connection=mysql_connect($db_host,$db_user,$password);
mysql_select_db($db_name,$db_connection);
//////////////////////////////////////////////////RECHERCHE DES JOUEURS DANS CETTE CATEGORIE/////////////////////////////////////
$tab_classement=array("0/6","1/6","2/6","3/6","4/6","5/6","15/0","15/1","15/2","15/3","15/4","15/5","30/0","30/1","30/2","30/3","30/4","30/5","NC");
///////////////////////////////RECHERCHE DES JOUEURS QUALIFIES////////////////////////////
$nb_joueur=0;
if ($avencement !=(19+18*($double))){
$requete="SELECT vainqueur, id_match FROM `match` WHERE categorie = '$categorie' AND avencement = '$avencement' AND tour='$tour';";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while ($reptab=mysql_fetch_array($reponse)){
$nb_joueur++;
//$ligne="";
$ligne="JOUEUR_Q".$reptab[id_match]." ' JOUEUR\n";fwrite($faits,$ligne);
$ligne="JOUEUR_Q".$reptab[id_match]." JOUE PAS_D_ADVERSAIRE\n";fwrite($faits,$ligne);
$ligne="JOUEUR_Q".$reptab[id_match]." ENTRE TOUR_1\n";fwrite($faits,$ligne);
$ligne="JOUEUR_Q".$reptab[id_match]." EST_CLASSE PIRE\n";fwrite($faits,$ligne);
$tour_q[$reptab[id_match]]=1;
}
}
/////////////// RECHERCHE DES JOUEURS QUI VONT ENTRER DANS LE TOURNOI ////////////////////////////////
for ($i=$avencement-1;$i>=$fin_tranche;$i--){
$requete="SELECT classement, id_inscription FROM `inscription`, `joueur`
WHERE inscription.categorie = '$categorie'
AND joueur.classement = '$i'
AND inscription.joueur=joueur.id_joueur AND inscription.valider='1';";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while ($reptab=mysql_fetch_array($reponse)){
$nb_joueur++;
$ligne="JOUEUR_".$reptab[id_inscription]." ' JOUEUR\n";fwrite($faits,$ligne);
$ligne="JOUEUR_".$reptab[id_inscription]." JOUE PAS_D_ADVERSAIRE\n";fwrite($faits,$ligne);
$ligne="JOUEUR_".$reptab[id_inscription]." ENTRE TOUR_1\n";fwrite($faits,$ligne);
$ligne="JOUEUR_".$reptab[id_inscription]." EST_CLASSE ".$tab_classement[$reptab[classement]]."\n";fwrite($faits,$ligne);
$tour[$reptab[id_inscription]]=1;
}
}
mysql_close($db_connection);
global $infoTour;
if ($nb_joueur > 2*$nb_qualif){
$infoTour[0][nb_match]=0;
$infoTour[0][nb_joueur_entrant]=0;
calculInfoTour(0,$nb_joueur,$nb_qualif);
//$infoTour[1][nb_joueur_entrant]=3;
echo "<br>REPONSE : infoTour[1][nb_joueur_entrant]".$infoTour[1][nb_joueur_entrant]."<br>";
$nb_tour=count ($infoTour);
$ligne="\n\n";fwrite($faits,$ligne);
$ligne="NB_TOUR ' ".$nb_tour."\n";fwrite($faits,$ligne);
$ligne="TOUR_COURANT ' ".$nb_tour."\n";fwrite($faits,$ligne);
for( $i=$nb_tour-1;$i>=0;$i--){
$no_tour=$nb_tour-$i;
echo "<br> ".$no_tour."++joueurs entrants++".$infoTour[$i][nb_joueur_entrant]."++nb match++".$infoTour[$i][nb_match]."/$i";
echo "<br> infoTour[".$i."][nb_joueur_entrant]".$infoTour[$i][nb_joueur_entrant]."<br>";
$ligne="\nTOUR_".$no_tour." ' TOUR\n";fwrite($faits,$ligne);
$ligne="TOUR_".$no_tour." NUMERO ".$no_tour."\n";fwrite($faits,$ligne);
$ligne="TOUR_".$no_tour." NB_MATCH ".$infoTour[$i][nb_match]."\n";fwrite($faits,$ligne);
$ligne="TOUR_".$no_tour." NB_JOUEUR_ENTRANT ".$infoTour[$i][nb_joueur_entrant]."\n";fwrite($faits,$ligne);
for($j=0;$j<$infoTour[$i][nb_match];$j++){
if ($no_tour<$nb_tour) {
$ligne="VAINQUEUR_".$no_tour."-".$j." ' JOUEUR\n";fwrite($faits,$ligne);
$ligne="VAINQUEUR_".$no_tour."-".$j." JOUE PAS_D_ADVERSAIRE\n";fwrite($faits,$ligne);
$ligne="VAINQUEUR_".$no_tour."-".$j." ENTRE TOUR_".($no_tour + 1)."\n";fwrite($faits,$ligne);
$ligne="VAINQUEUR_".$no_tour."-".$j." EST_CLASSE PIRE\n";fwrite($faits,$ligne);
}
}
}
fclose($faits);
//echo "base faits ecrite.<br>";
//echo "lancement des moteurs "systeme expert";
$file="tab";
$dir="cer/tab/";
//echo "compil -rf 1 bcc=".$dir.$file.".bcc reg=".$dir.$file.".reg fts=".$dir.$file.".fai err=".$dir.$file.".err1 m=n"."<br>";
exec("./cer/compil -rf 1 bcc=".$dir.$file.".bcc reg=".$dir.$file.".reg fts=".$dir.$file.".fai err=".$dir.$file.".err1 m=n");
//echo "moteur bcc=".$dir.$file.".bcc fts=".$dir.$file.".fai res=".$dir.$file.".res err=".$dir.$file.".err2 t=4 s=c m=n"."<br>";
exec("./cer/moteur bcc=".$dir.$file.".bcc fts=".$dir.$file.".fai res=".$dir.$file.".res err=".$dir.$file.".err2 t=4 s=c m=n");
//echo "<br><br><br>";
$env=fopen("./cer/tab/tab.env","r");
$i=0;
while(!feof($env)){
$ligne=fgets($env);
//echo $ligne."<br>";
list($objet,$attribut,$valeur)=explode(" ",$ligne);
switch ($attribut){
case "ENTRE" :
list($type_joueur,$id_insc)=explode("_",$objet);
if ($id_insc[0]=='Q'){
list($rien,$no_match)=explode("Q",$id_insc);
$tour_q[$no_match]=$valeur[5];
}
else
$tour[$id_insc]=$valeur[5];
//echo $id_insc." entre tour".$tour[$id_insc]."<br>";
break;
case "JOUE" :
list($type_joueur1,$id_insc1)=explode("_",$objet);
list($type_joueur2,$id_insc2)=explode("_",$valeur);
if ($type_joueur1=="JOUEUR") {
$info_match[$i][insc1]=$id_insc1;
if ($id_insc1[0]=='Q'){
list($rien,$no_match)=explode("Q",$id_insc1);
$info_match[$i][tour]=$tour_q[$no_match];
}
else
$info_match[$i][tour]=$tour[$id_insc1];
}
else {
$info_match[$i][insc1]="V";
list($tour,$rien)=explode("-",$id_insc1);
$info_match[$i][tour]=$tour+1;
}
if ($type_joueur2=="JOUEUR") {
$info_match[$i][insc2]=$id_insc2;
}
else {
$info_match[$i][insc2]="V";
}
$i++;
break;
default :
break;
}
}
for($i=0;$i<count($info_match);$i++){
//echo "tour ".$info_match[$i][tour]." : ".$info_match[$i][insc1]."-".$info_match[$i][insc2]."<br>";
$match[$info_match[$i][tour]][]=$info_match[$i][insc1]."-".$info_match[$i][insc2];
}
include ("enregistrementMatch.php");
}
else {
$erreur= "<center><font color=00ff00><h3>Il n'y a pas assez de joueurs pour faire ".$nb_qualif." matchs aux dernier tour.</h3></font></center>";
include ("quelTranche.php");
}
?>