Advertisement
Guest User

Untitled

a guest
Mar 11th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 1.04 KB | None | 0 0
  1. type plate = int*int*int;;
  2.  
  3. type game_status =
  4.   | Non_termine
  5.   | Joueur1_vainqueur
  6.   | Joueur2_vainqueur
  7.   | Match_nul;;
  8.  
  9. let init x = ((0, x, x):plate);;
  10.  
  11.  
  12. let display ((b, x1, x2):plate) =
  13.   let rec f n =
  14.      match n with
  15.        | n when n = (-3) -> print_string "PL. 1 : "; print_int x1; print_newline(); f (n+1)
  16.        | n when n = b -> print_string " | X | "; print_newline(); f (n+1)
  17.        | n when n = 3 -> print_string "PL.2 : "; print_int x2; print_newline()
  18.        | _ -> print_string " |   | "; print_newline(); f (n+1)
  19.   in f (-3);;
  20.      
  21.  
  22.  
  23. let update ((b, x1, x2):plate) (m1, m2) = match 1 with
  24.     m1 when m1 > x1 -> failwith "Le joueur 1 n'a pas assez d'or"
  25.   | m1 when m2 > x2 -> failwith "Le joueur 2 n'a pas assez d'or"
  26.   | m1 when m1 > m2 -> ((b-1, x1-m1, x2-m2):plate)
  27.   | m1 when m1 < m2 -> ((b+1, x1-m1, x2-m2):plate)
  28.   | _ -> ((b, x1-m1, x2-m2):plate);;
  29.  
  30.  
  31.  
  32. let get_status ((b, x1, x2):plate) = match b with
  33.     (-2) -> Joueur1_vainqueur
  34.   | (-1)| 0 | 1 -> Non_termine
  35.   | _ -> Joueur2_vainqueur;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement