Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let play_one_player(board, players, ind_players : t_card list ref * t_player array * int) : unit =
- if players.(ind_players).hand_deck = ref []
- then failwith " main du joueur vide"
- else
- let (found, int1, int2): bool*int*int = find_pair(!board, !(players.(ind_players).hand_deck)) in
- let random : int = rand_int(0, len(!(players.(ind_players).hand_deck))) in
- if found = true
- then(
- players.(ind_players).cemetery_deck := add_fst(!(players.(ind_players).cemetery_deck),nth(!board,int1));
- players.(ind_players).cemetery_deck := add_fst(!(players.(ind_players).cemetery_deck),nth(!(players.(ind_players).hand_deck),int2));
- board := rem_nth(!board,int1);
- players.(ind_players).hand_deck := rem_nth(!(players.(ind_players).hand_deck),int2);
- )
- else (
- board := add_nth(!board, nth(!(players.(ind_players).hand_deck),random), 0);
- players.(ind_players).hand_deck := rem_nth(!(players.(ind_players).hand_deck),random);
- )
- ;;
- let board_test : t_card list ref =ref [{color = SPADE; rank = 10};
- {color = DIAMOND; rank = 10};
- {color = HEART; rank = 10};
- {color = CLUB; rank = 10}]
- ;;
- let players_test : t_player array = [|{id = 1; hand_deck = ref [{color = SPADE; rank = 11};
- {color = DIAMOND; rank = 3};
- {color = HEART; rank = 11};
- {color = CLUB; rank = 8}] ; cemetery_deck = ref []};
- {id = 2; hand_deck = ref [{color = SPADE; rank = 3};
- {color = DIAMOND; rank = 1};
- {color = HEART; rank = 1};
- {color = CLUB; rank = 8}] ; cemetery_deck = ref []} |];;
- play_one_player(board_test, players_test, 0);;
- board_test;;
- players_test;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement