213 lines
7.2 KiB
Reg
Executable File
213 lines
7.2 KiB
Reg
Executable File
; *************************************************** ;
|
|
; 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)
|
|
|