[(#SET{largeur,15})][(#SET{hauteur,8})]

<:momo:graphe_site:>

<:momo:deplacement_possible:>

<:momo:sommet:>
[ (#REM) un compteur horrible pour ne pas dépendre de Bonux ou itérateurs et afficher l'en tête des 5 sous-niveaux ][(#SET{niv,#COMPTEUR_BOUCLE})]
<:momo:sous_niveau{niv=#GET{niv}}:>
[ (#REM) On choisi les mots qui sont parents et qui n'en ont pas: ce sont les sommets la boucle _Est_un_parent vérifie la présence d'enfants la boucle _Est_enfant permet de vérifier l'absence de parents () ] [(#SET{pos_l,0})] [ (#REM) On cherche récursivement tous les enfants des sommets on utilise pas le modèle doublons_enfants_mot car il faut gérer la position des boites (la gestion se fait -péniblement- avec pos_h, pos_l, pos_h_precedente) ] [ (#REM) petit bug des doublons dans une boucle récursive: on peut repasser plusieurs fois sur le même mot dans certains cas ! ce test permet de vérifier que le mot n'est présent qu'une fois dans le doublons et donc que c'est la première fois que l'on passe ] [(#DOUBLONS{mots,enfants}|array_count_values|table_valeur{#ID_MOT}|>{1}|non) [(#SET{pos_l_precedente,[(#GET{pos_l})]})] [(#SET{pos_l,[(#GET{pos_l}|plus{1})]})] ] [(#DOUBLONS{mots,enfants}|array_count_values|table_valeur{#ID_MOT}|>{1}|non) [(#SET{pos_l_precedente,[(#GET{pos_l})]})] [(#SET{pos_l,[(#GET{pos_l}|moins{1})]})] [(#SET{pos_h_precedente,[(#GET{pos_h})]})] [(#SET{pos_h,[(#GET{pos_h}|plus{1})]})] ] [(#DOUBLONS{mots,enfants}|array_count_values|table_valeur{#ID_MOT}|>{1}|non) [(#GET{pos_h_precedente}|<={#GET{pos_h}}|oui) [(#SET{pos_l_precedente,[(#GET{pos_l})]})] [(#SET{pos_l,[(#GET{pos_l}|moins{1})]})] ] ] [(#GET{pos_l_precedente}|<={#GET{pos_l}}|oui) [(#SET{pos_h,[(#GET{pos_h}|plus{1})]})] ]
[ (#REM) On crée les liens avec tous les mots qui sont placés, c'est à dire le contenu des deux doublons: #DOUBLONS{mots,sommets_potentiels} et #DOUBLONS{mots,enfants} on rajoute un {doublons} supplémentaire à cause du bug des doublons dans les boucles récursives ]