; *************************************************** ; ; Méthode Tableau départ en ligne ; ; Si des qualifies entre dans le tableau ; ; Debut de creation des couples ; ; *************************************************** ; REGLE QUALIF_ENTRANTS_NPNE_T1 SI METHODE_TABLEAU ' = DEPART_EN_LIGNE (E1) ' = QUALIFIE (E1) ENTRE TOUR_1 (E1) PLACE COUPLE ' INEXISTANT (E1) EST_CLASSE (CLASS_QUAL) (CLASS_QUAL) VAUT (X) NB_JOUEURS_QUALIFIES_ENTRANTS ' > 0 CLASSEMENT_MOINS_BON ' = (CLASS_MB) (CLASS_MB) < (X) (CLASS_JOUEUR) VAUT (CLASS_MB) (CLASS_JOUEUR) NOMBRE_JOUEURS (NB_JOUEURS) (E2) ' = JOUEUR (E2) ENTRE TOUR_1 (E1) <> (E2) (E2) PLACE COUPLE ' INEXISTANT (E2) EST_CLASSE (CLASS_JOUEUR) (E2) JOUE_MATCH (E1) ' INEXISTANT (E1) JOUE_MATCH (E2) ' INEXISTANT NPNE ' > 0 (NB_JOUEURS) > 0 ALORS ((E1) JOUE_MATCH (E2)) VAINQUEUR IMPLODE ("VAINQUEUR_1_", NPNE') ECRIRE(ENVOI, (E1)" JOUE_MATCH "(E2)" VAINQUEUR "IMPLODE ("VAINQUEUR_1_", NPNE')) (CLASS_JOUEUR) NOMBRE_JOUEURS (NB_JOUEURS) ' INEXISTANT (CLASS_JOUEUR) NOMBRE_JOUEURS ((NB_JOUEURS) - 1) ; Enleve 2 joueurs du classement ; NB_JOUEURS_QUALIFIES_ENTRANTS ' <-- (NB_JOUEURS_QUALIFIES_ENTRANTS ' - 1) NPNE ' <-- (NPNE ' - 1) (E1) PLACE COUPLE ' VRAI (E2) PLACE COUPLE ' VRAI ; *************************************************** ; ; Méthode Tableau départ en ligne ; ; Si des qualifies entre dans le tableau (exempts) ; ; Fin de creation des couples ; ; *************************************************** ; REGLE QUALIF_ENTRANTS_EXEMPTS_T1 SI METHODE_TABLEAU ' = DEPART_EN_LIGNE (E1) ' = QUALIFIE (E1) ENTRE TOUR_1 (E1) PLACE COUPLE ' INEXISTANT (E1) EST_CLASSE (CLASS_QUAL) (CLASS_QUAL) VAUT (X) NB_JOUEURS_QUALIFIES_ENTRANTS ' > 0 CLASSEMENT_MOINS_BON ' = (CLASS_MB) (CLASS_JOUEUR) VAUT (CLASS_MB) (CLASS_JOUEUR) NOMBRE_JOUEURS (NB_JOUEURS) (E2) ' = JOUEUR (E2) ENTRE TOUR_1 (E1) <> (E2) (E2) PLACE COUPLE ' INEXISTANT (E2) EST_CLASSE (CLASS_JOUEUR) (CLASS_MB) < (X) (E2) JOUE_MATCH (E1) ' INEXISTANT (E1) JOUE_MATCH (E2) ' INEXISTANT NPNE ' = 0 (NB_JOUEURS) > 0 TETES_SERIE ' > 0 ALORS ((E1) JOUE_MATCH (E2)) VAINQUEUR IMPLODE ("VAINQUEUR_1_", TETES_SERIE') ECRIRE(ENVOI, (E1)" JOUE_MATCH "(E2)" VAINQUEUR "IMPLODE ("VAINQUEUR_1_", TETES_SERIE')) (CLASS_JOUEUR) NOMBRE_JOUEURS (NB_JOUEURS) ' INEXISTANT (CLASS_JOUEUR) NOMBRE_JOUEURS ((NB_JOUEURS) - 1) ; Enleve 2 joueurs du classement ; NB_JOUEURS_QUALIFIES_ENTRANTS ' <-- (NB_JOUEURS_QUALIFIES_ENTRANTS ' - 1) TETES_SERIE ' <-- (TETES_SERIE ' - 1) (E1) PLACE COUPLE ' VRAI (E2) PLACE COUPLE ' VRAI ; *************************************************** ; ; Méthode Tableau départ en ligne ; ; Calcul des matchs de prétour (tour 1) ; ; Debut de creation des couples ; ; *************************************************** ; REGLE CREER_MATCH_NPNE SI NB_JOUEURS_QUALIFIES_ENTRANTS ' = 0 CLASSEMENT_MOINS_BON ' = (X) (D) VAUT (X) (D) NOMBRE_JOUEURS (NB_JOUEURS) METHODE_TABLEAU ' = DEPART_EN_LIGNE (E1) ' = JOUEUR (E1) EST_CLASSE (D) (E1) ENTRE TOUR_1 (E1) PLACE COUPLE ' INEXISTANT (E2) ' = JOUEUR (E2) ENTRE TOUR_1 (E1) <> (E2) (E2) PLACE COUPLE ' INEXISTANT (E2) EST_CLASSE (D) (E2) JOUE_MATCH (E1) ' INEXISTANT (E1) JOUE_MATCH (E2) ' INEXISTANT NPNE ' > 0 (NB_JOUEURS) > 0 ALORS ((E1) JOUE_MATCH (E2)) VAINQUEUR IMPLODE ("VAINQUEUR_1_", NPNE') ECRIRE(ENVOI, (E1)" JOUE_MATCH "(E2)" VAINQUEUR "IMPLODE ("VAINQUEUR_1_", NPNE')) (D) NOMBRE_JOUEURS (NB_JOUEURS) ' INEXISTANT (D) NOMBRE_JOUEURS ((NB_JOUEURS) - 2) ; Enleve 2 joueurs du classement ; NPNE ' <-- (NPNE ' - 1) (E1) PLACE COUPLE ' VRAI (E2) PLACE COUPLE ' VRAI ; *************************************************** ; ; Méthode Tableau départ en ligne ; ; Calcul du reste des matchs du tour 1 ; ; Fin de creation des couples ; ; *************************************************** ; REGLE CREER_MATCH_T1_EXEMPT SI NB_JOUEURS_QUALIFIES_ENTRANTS ' = 0 CLASSEMENT_MOINS_BON ' = (X) (D) VAUT (X) (D) NOMBRE_JOUEURS (NB_JOUEURS) METHODE_TABLEAU ' = DEPART_EN_LIGNE (E1) ' = JOUEUR (E1) EST_CLASSE (D) (E1) ENTRE TOUR_1 (E1) PLACE COUPLE ' INEXISTANT (E2) ' = JOUEUR (E2) ENTRE TOUR_1 (E1) <> (E2) (E2) PLACE COUPLE ' INEXISTANT (E2) EST_CLASSE (D) (E2) JOUE_MATCH (E1) ' INEXISTANT (E1) JOUE_MATCH (E2) ' INEXISTANT NPNE ' = 0 TETES_SERIE ' > 0 (NB_JOUEURS) > 0 ALORS ((E1) JOUE_MATCH (E2)) VAINQUEUR IMPLODE ("VAINQUEUR_2_", TETES_SERIE ') ECRIRE(ENVOI, (E1)" JOUE_MATCH "(E2)" VAINQUEUR "IMPLODE ("VAINQUEUR_2_", TETES_SERIE')) (D) NOMBRE_JOUEURS (NB_JOUEURS) ' INEXISTANT (D) NOMBRE_JOUEURS ((NB_JOUEURS) - 2) ; Enleve 2 joueurs du classement ; TETES_SERIE ' <-- (TETES_SERIE ' - 1) (E1) PLACE COUPLE ' VRAI (E2) PLACE COUPLE ' VRAI ; *********************************************** ; ; Méthode Tableau départ en ligne ; ; Calcul des mactsh ayant lieu au tour 2 ; ; *********************************************** ; REGLE CREER_MATCH_T2 SI METHODE_TABLEAU ' = DEPART_EN_LIGNE (E1) VAINQUEUR (X) (X) ' = VAINQUEUR (X) ENTRE TOUR_2 (X) PLACE COUPLE ' INEXISTANT (E2) ' = JOUEUR (E2) ENTRE TOUR_2 (X) <> (E2) (E2) PLACE COUPLE ' INEXISTANT (E2) EST_CLASSE (D) (E2) JOUE_MATCH (X) ' INEXISTANT (X) JOUE_MATCH (E2) ' INEXISTANT TETES_SERIE ' > 0 ALORS ((X) JOUE_MATCH (E2)) VAINQUEUR IMPLODE ("VAINQUEUR_2_", TETES_SERIE ') ECRIRE(ENVOI, (X)" JOUE_MATCH "(E2)" VAINQUEUR "IMPLODE ("VAINQUEUR_2_", TETES_SERIE')) IMPLODE ("VAINQUEUR_2_", TETES_SERIE') ENTRE TOUR_QUALIF TETES_SERIE ' <-- (TETES_SERIE ' - 1 ) (X) PLACE COUPLE ' VRAI (E2) PLACE COUPLE ' VRAI ; *********************************************** ; ; Méthode Tableau départ en ligne ; ; Calcul des matchs ayant lieu au tour qualif ; ; *********************************************** ; REGLE CREER_MATCH_TOUR_QUALIF SI METHODE_TABLEAU ' = DEPART_EN_LIGNE (E1) VAINQUEUR (X) (X) ' = VAINQUEUR (X) ENTRE TOUR_QUALIF (X) PLACE COUPLE ' INEXISTANT (E2) VAINQUEUR (Y) (Y) ' = VAINQUEUR (Y) ENTRE TOUR_QUALIF (Y) PLACE COUPLE ' INEXISTANT (X) <> (Y) (Y) JOUE_MATCH (X) ' INEXISTANT (X) JOUE_MATCH (Y) ' INEXISTANT NB_QUALIFIES_SORTANTS ' > 0 ALORS ((X) JOUE_MATCH (Y)) VAINQUEUR IMPLODE ("VAINQUEUR_", NB_QUALIFIES_SORTANTS') ECRIRE(ENVOI, (X)" JOUE_MATCH "(Y)" VAINQUEUR "IMPLODE ("VAINQUEUR_Q_", NB_QUALIFIES_SORTANTS')) NB_QUALIFIES_SORTANTS ' <-- (NB_QUALIFIES_SORTANTS ' - 1 ) (X) PLACE COUPLE ' VRAI (Y) PLACE COUPLE ' VRAI ; *************************************************** ; ; Méthode Tableau départ en ligne ; ; Si plus de joueurs dans les classements moins bons ; ; *************************************************** ; REGLE PLUS_JOUEURS_CLASS_MOINS_BON SI METHODE_TABLEAU ' = DEPART_EN_LIGNE CLASSEMENT_MOINS_BON ' = (CLASS_MB) (CLASS_MOINSBON) VAUT (CLASS_MB) (CLASS_MOINSBON) NOMBRE_JOUEURS 0 ALORS CLASSEMENT_MOINS_BON ' <-- ((CLASS_MB) - 1)