type case = Vide | Pion | Invalide ;; type plateau = case array array ;; let n = 7 ;; (* un plateau est une matrice 7x7 avec des cases invalides aux coins *) (* Q1 *) let print_plateau p = assert false (* A coder *) ;; (* Q2 *) let plateau_initial () = assert false (* A coder *) ;; (* Q3 *) type mouvement = (int * int) * (int * int) ;; let possible p (i1,j1) (i3,j3) = assert false (* A coder *) ;; let mouvements p = assert false (* A coder *) ;; (* Q4 *) let compte_pions p = assert false (* A coder *) ;; (* Q5 *) let valide p = assert false (* A coder *) ;; (* Q6 *) let faire p mouv = assert false (* A coder *) ;; let defaire p mouv = assert false (* A coder *) ;; (* Q7 *) exception Solution of mouvement list ;; let rec enumere pos chemin = assert false (* A coder *) ;; (* Q8 *) let resout () = assert false (* A coder *) ;; resout () ;; (* devrait prendre du temps, sauf si par chance votre fonction enumere teste les bons coups dès le début... *) (* Q9 *) let code p = assert false (* A coder *) ;; let mauvaises = Hashtbl.create 42 ;; let ajoute x = Hashtbl.add mauvaises x () ;; let contient x = Hashtbl.mem mauvaises x ;; (* Q10 *) let rec enumere pos chemin = assert false (* A coder *) ;; let resout () = assert false (* A coder *) ;; resout () ;; (* Q11 *) let affiche_solution () = assert false (* A coder *) ;; affiche_solution () ;;