Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (* Chance_card implantation *)
- #use "player_v2.ml";;
- (* Chance_card definition *)
- type t_chance_card = {
- id : int;
- message : string;
- }
- ;;
- (* Cree une [t_chance_card].
- Les numeros de cartes devraient etre 0, 1, ... *)
- let chance_card_create(an_id, a_message :
- int * string) :
- t_chance_card =
- {id= an_id; message = a_message}
- ;;
- (* -- Required -- *)
- (* Execute l'action de la carte Chance
- "Joyeux anniversaire ! Rendez-vous sur la case Depart et recevez 2M.".
- La position de la case Depart est 0.
- Retourne un nouveau joueur mis a jour. *)
- let chance_card_apply_happy_birthday(player :
- t_player_v2) :
- t_player_v2 =
- {player_v1 =
- {age = player.player_v1.age ;
- balance = player.player_v1.blance +2 ;
- has_card_freed_from_jail : true;
- is_in_jail : false;
- number : player.player_v1.number;
- position : 0;
- symbol : t_token;
- property_cards =["Joyeux anniversaire ! Rendez-vous sur la case Depart et recevez 2M."]}
- ;;
- (* -- Required -- *)
- (* Execute l'action de la carte Chance
- "Capture durant un cambriolage : donnez 2M a la banque.".
- Retourne un nouveau joueur mis a jour et un booleen valant true
- si la partie continue, false sinon. *)
- let chance_card_apply_caught_heist(player :
- t_player_v2) :
- t_player_v2 * bool =
- ({player_v1 =
- {age = player.player_v1.age ;
- balance = player.player_v1.blance -2 ;
- has_card_freed_from_jail : true;
- is_in_jail : false;
- number : player.player_v1.number;
- position : 0;
- symbol : t_token;
- property_cards = ["Capture durant un cambriolage : donnez 2M a la banque."]}
- ;;
- (* -- Required -- *)
- (* Execute l'action de la carte Chance
- "Meme les Minions ont besoin de vacances ! Surfez la vague
- pour arriver tout droit sur l'Ile des Minions."
- La position de cette case est 17.
- ATTENTION : on suppose qu'aucun joueur ne s'est deja trouve
- sur cette propriete, donc le joueur DOIT l'acheter.
- Retourne un nouveau joueur mis a jour et un booleen valant true
- si la partie continue, false sinon. *)
- let chance_card_apply_minions_island(player :
- t_player_v2) :
- t_player_v2 * bool =
- ({player_v1 =
- {age = player.player_v1.age ;
- balance = player.player_v1.balance -3 ;
- has_card_freed_from_jail : true;
- is_in_jail : false;
- number : player.player_v1.number;
- position : 0;
- symbol : t_token;
- property_cards = ["Meme les Minions ont besoin de vacances ! Surfez la vague
- pour arriver tout droit sur l'Ile des Minion"]},
- )
- let has_bought_island (player : t_player_v2): t_player_v2*string =
- if player.player_v1.balance <= 3
- then "la partie est fini"
- else " la partie continue"
- ;;
- (* -- Required -- *)
- (* Execute l'action d'une carte Chance en fonction de son message.
- Une erreur est leveee si le message ne correspond a aucune des cartes Chance connues.
- Retourne un nouveau joueur mis a jour et un booleen valant true
- si la partie continue, false sinon. *)
- let chance_card_apply(player, chance_card :
- t_player_v2 * t_chance_card) :
- t_player_v2 * bool =
- chance_card_apply : t_player_v2 * t_chance_card -> t_player_v2 * bool
- ({player_v1 =
- {age = player.player_v1.age ;
- balance = player.player_v1.balance ;
- has_card_freed_from_jail = true ;
- is_in_jail = false ;
- number = -1 ;
- position = -1 ;
- token = ""} ;
- property_cards = []},
- false)
- ;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement