Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type plate = int*int*int;;
- type game_status =
- | Non_termine
- | Joueur1_vainqueur
- | Joueur2_vainqueur
- | Match_nul;;
- let init x = ((0, x, x):plate);;
- let display ((b, x1, x2):plate) =
- let rec f n =
- match n with
- | n when n = (-3) -> print_string "PL. 1 : "; print_int x1; print_newline(); f (n+1)
- | n when n = b -> print_string " | X | "; print_newline(); f (n+1)
- | n when n = 3 -> print_string "PL.2 : "; print_int x2; print_newline()
- | _ -> print_string " | | "; print_newline(); f (n+1)
- in f (-3);;
- let update ((b, x1, x2):plate) (m1, m2) = match 1 with
- m1 when m1 > x1 -> failwith "Le joueur 1 n'a pas assez d'or"
- | m1 when m2 > x2 -> failwith "Le joueur 2 n'a pas assez d'or"
- | m1 when m1 > m2 -> ((b-1, x1-m1, x2-m2):plate)
- | m1 when m1 < m2 -> ((b+1, x1-m1, x2-m2):plate)
- | _ -> ((b, x1-m1, x2-m2):plate);;
- let get_status ((b, x1, x2):plate) = match b with
- (-2) -> Joueur1_vainqueur
- | (-1)| 0 | 1 -> Non_termine
- | _ -> Joueur2_vainqueur;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement