xc=!eval $xx_size*($click_x-$border)/$inssize+$x_size1
yc=!eval $yy_size*(-$click_y+$border)/$inssize+$x_size2

!if $status=waiting
  !if $opar1<2
    pt=0
    !for i=1 to $n
      u=$(abscisse$i)
      v=$(ordonnee$i)
      d=$[(abs((($xc) - ($u))^2 + (($yc) - ($v))^2))^(1/2)]
      !if $d < $incert
        pt=$i
      !endif
    !next i
    !if $pt=0
      error=pas_de_point
    !else
!!    Le point a dj t slectionn ?
      u=!item $pt of $sg
      sg=!exec pari Q=[$sg]; Q[$pt]=1-Q[$pt]; print(Q)
      sg=!trim $sg
!!    Prparation du trac des sommets du sg
      dessin_aretes=$empty
      !for i=1 to $n
        u=!item $i of $sg
        !if $u=1
          ptabs=$(abscisse$i)
          ptord=$(ordonnee$i)
          dessin_aretes=$dessin_aretes\
          disk $ptabs,$ptord, 6, $color5
        !endif
      !next i
    !endif
  !else
    v=1
    x=0
    !for i=1 to $n
      !for j=1 to $n
        L=!line $i of $GM
        u=!item $j of $L
        I=!item $i of $sg
        J=!item $j of $sg
        !if ($I=1) and ($J=1)
          !if ($u=0) and ($i<>$j)
            v=0
            !advance x
            PT=$i
            PT2=$j
          !endif
        !endif
      !next j
    !next i
    !if $v=0
    
      pb1=Le sous-graphe que vous avez propos n'est pas complet. 
      !if $gor=0 
         pb1=$pb1 Par exemple, les sommets $(N$PT) et $(N$PT2) ne sont pas adjacents. 
      !else
        pb1=$pb1 Par exemple, il n'y a pas d'arte de $(N$PT) vers $(N$PT2).
      !endif
    !endif
    u=0
    !for i=1 to $n
        w=!item $i of $sg
        u=$[$u+$w]
    !next i
    !if $u<>$p
        v=0
        pb2=Le sous-graphe que vous avez propos ne contient pas le nombre de sommets attendu. 
    !endif
    !if $v=1
        module_score=10
    !else
        module_score=0
        !if $pb1=$empty
          module_score=$[min(10,max(floor(10*(3*(1-2*abs($u-$p)/$n)))/10,0))]
        !endif
        !if $pb2=$empty
          module_score=$[min(10,max(floor(10*(5*(1-2*$x/($p*($p-1)))))/10,0))]
        !endif
!!      Inversion de q
      x=$q
      !for i=1 to $n
        u=!positionof item $i in $q
        x=!replace item number $i by $u in $x
      !next i
!!    Exemple de bonne rponse
      dessin_correct=$empty
      !for i=1 to $p
        u=!item $i of $x
        ptabs=$(abscisse$u)
        ptord=$(ordonnee$u)
        dessin_correct=$dessin_correct\
        disk $ptabs,$ptord, 6, $color5
         !for j=1 to $p
           h=!item $j of $x
           ptabs1=$(abscisse$h)
           ptord1=$(ordonnee$h)
           dessin_correct=$dessin_correct\
           line $ptabs,$ptord, $ptabs1,$ptord1,green
         !next j
      !next i
    !endif
    status=done
  !endif
!endif

xc=0
yc=0
!reset click_x
!reset click_y
