type coup = Coop | Trahi ;; type strat = coup list -> coup list -> coup ;; type param = int * int * int * int ;; let bisounours moi autre = Coop ;; let traitre moi autre = failwith "A coder" ;; let sympa_irl moi autre = failwith "A coder" ;; let rec test_Q2 l n = match n with | 0 -> l | _ -> test_Q2 (sympa_irl l [] :: l) (n-1) in test_Q2 [] 9 ;; let partie n (strat1:strat) (strat2:strat) = failwith "A coder" ;; partie 4 traitre sympa_irl ;; let score ((t,c,p,d):param) l1 l2 = failwith "A coder" ;; let l_traitre, l_sympa = partie 5 traitre sympa_irl in score (5,3,1,0) l_traitre l_sympa ;; let rancunier moi autre = failwith "A coder" ;; rancunier [] [Coop; Coop; Coop; Coop; Coop] ;; rancunier [] [Coop; Coop; Trahi; Coop; Coop] ;; let miroir_gentil moi autre = failwith "A coder" ;; miroir_gentil [] [] ;; miroir_gentil [] [Trahi; Coop; Coop] ;; miroir_gentil [] [Coop; Trahi; Trahi] ;; let miroir_mechant moi autre = failwith "A coder" ;; miroir_mechant [] [] ;; miroir_mechant [] [Trahi; Coop; Coop] ;; miroir_mechant [] [Coop; Trahi; Trahi] ;; let majorite moi autre = failwith "A coder" ;; majorite [] [] ;; majorite [] [Trahi; Coop] ;; majorite [] [Coop; Trahi; Trahi] ;; let mastermind moi autre = failwith "A coder" ;; mastermind [] [] ;; mastermind [] [Coop] ;; mastermind [] [Coop; Coop] ;; mastermind [] [Coop; Coop; Coop] ;; mastermind [] [Trahi; Coop; Coop] ;; let indecis p : strat = failwith "A coder" ;; let test = indecis 0.5 in let rec test_Q6 l n = match n with | 0 -> l | _ -> test_Q6 (test l [] :: l) (n-1) in test_Q6 [] 9 ;; let tournoi params strats = failwith "A coder" ;; exception Perdu_J1 ;; exception Perdu_J2 ;; let partie n (strat1:strat) (strat2:strat) = failwith "A coder" ;; let tournoi params strats = failwith "A coder" ;;