Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. let play_one_player(board, players, ind_players : t_card list ref * t_player array * int) : unit =
  2. if players.(ind_players).hand_deck = ref []
  3. then failwith " main du joueur vide"
  4. else
  5. let (found, int1, int2): bool*int*int = find_pair(!board, !(players.(ind_players).hand_deck)) in
  6. let random : int = rand_int(0, len(!(players.(ind_players).hand_deck))) in
  7. if found = true
  8. then(
  9. players.(ind_players).cemetery_deck := add_fst(!(players.(ind_players).cemetery_deck),nth(!board,int1));
  10. players.(ind_players).cemetery_deck := add_fst(!(players.(ind_players).cemetery_deck),nth(!(players.(ind_players).hand_deck),int2));
  11. board := rem_nth(!board,int1);
  12. players.(ind_players).hand_deck := rem_nth(!(players.(ind_players).hand_deck),int2);
  13. )
  14. else (
  15. board := add_nth(!board, nth(!(players.(ind_players).hand_deck),random), 0);
  16. players.(ind_players).hand_deck := rem_nth(!(players.(ind_players).hand_deck),random);
  17. )
  18. ;;
  19. let board_test : t_card list ref =ref [{color = SPADE; rank = 10};
  20. {color = DIAMOND; rank = 10};
  21. {color = HEART; rank = 10};
  22. {color = CLUB; rank = 10}]
  23. ;;
  24.  
  25. let players_test : t_player array = [|{id = 1; hand_deck = ref [{color = SPADE; rank = 11};
  26. {color = DIAMOND; rank = 3};
  27. {color = HEART; rank = 11};
  28. {color = CLUB; rank = 8}] ; cemetery_deck = ref []};
  29. {id = 2; hand_deck = ref [{color = SPADE; rank = 3};
  30. {color = DIAMOND; rank = 1};
  31. {color = HEART; rank = 1};
  32. {color = CLUB; rank = 8}] ; cemetery_deck = ref []} |];;
  33. play_one_player(board_test, players_test, 0);;
  34. board_test;;
  35. players_test;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement