Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. (* Chance_card implantation *)
  2.  
  3. #use "player_v2.ml";;
  4.  
  5. (* Chance_card definition *)
  6. type t_chance_card = {
  7. id : int;
  8. message : string;
  9. }
  10. ;;
  11.  
  12.  
  13. (* Cree une [t_chance_card].
  14. Les numeros de cartes devraient etre 0, 1, ... *)
  15.  
  16. let chance_card_create(an_id, a_message :
  17. int * string) :
  18. t_chance_card =
  19. {id= an_id; message = a_message}
  20. ;;
  21.  
  22.  
  23.  
  24. (* -- Required -- *)
  25. (* Execute l'action de la carte Chance
  26. "Joyeux anniversaire ! Rendez-vous sur la case Depart et recevez 2M.".
  27. La position de la case Depart est 0.
  28. Retourne un nouveau joueur mis a jour. *)
  29. let chance_card_apply_happy_birthday(player :
  30. t_player_v2) :
  31. t_player_v2 =
  32. {player_v1 =
  33. {age = player.player_v1.age ;
  34. balance = player.player_v1.blance +2 ;
  35. has_card_freed_from_jail : true;
  36. is_in_jail : false;
  37. number : player.player_v1.number;
  38. position : 0;
  39. symbol : t_token;
  40. property_cards =["Joyeux anniversaire ! Rendez-vous sur la case Depart et recevez 2M."]}
  41. ;;
  42.  
  43.  
  44. (* -- Required -- *)
  45. (* Execute l'action de la carte Chance
  46. "Capture durant un cambriolage : donnez 2M a la banque.".
  47. Retourne un nouveau joueur mis a jour et un booleen valant true
  48. si la partie continue, false sinon. *)
  49. let chance_card_apply_caught_heist(player :
  50. t_player_v2) :
  51. t_player_v2 * bool =
  52. ({player_v1 =
  53. {age = player.player_v1.age ;
  54. balance = player.player_v1.blance -2 ;
  55. has_card_freed_from_jail : true;
  56. is_in_jail : false;
  57. number : player.player_v1.number;
  58. position : 0;
  59. symbol : t_token;
  60. property_cards = ["Capture durant un cambriolage : donnez 2M a la banque."]}
  61.  
  62. ;;
  63.  
  64.  
  65. (* -- Required -- *)
  66. (* Execute l'action de la carte Chance
  67. "Meme les Minions ont besoin de vacances ! Surfez la vague
  68. pour arriver tout droit sur l'Ile des Minions."
  69. La position de cette case est 17.
  70. ATTENTION : on suppose qu'aucun joueur ne s'est deja trouve
  71. sur cette propriete, donc le joueur DOIT l'acheter.
  72. Retourne un nouveau joueur mis a jour et un booleen valant true
  73. si la partie continue, false sinon. *)
  74. let chance_card_apply_minions_island(player :
  75. t_player_v2) :
  76. t_player_v2 * bool =
  77. ({player_v1 =
  78. {age = player.player_v1.age ;
  79. balance = player.player_v1.balance -3 ;
  80. has_card_freed_from_jail : true;
  81. is_in_jail : false;
  82. number : player.player_v1.number;
  83. position : 0;
  84. symbol : t_token;
  85. property_cards = ["Meme les Minions ont besoin de vacances ! Surfez la vague
  86. pour arriver tout droit sur l'Ile des Minion"]},
  87. )
  88. let has_bought_island (player : t_player_v2): t_player_v2*string =
  89. if player.player_v1.balance <= 3
  90. then "la partie est fini"
  91. else " la partie continue"
  92. ;;
  93.  
  94.  
  95. (* -- Required -- *)
  96. (* Execute l'action d'une carte Chance en fonction de son message.
  97. Une erreur est leveee si le message ne correspond a aucune des cartes Chance connues.
  98. Retourne un nouveau joueur mis a jour et un booleen valant true
  99. si la partie continue, false sinon. *)
  100. let chance_card_apply(player, chance_card :
  101. t_player_v2 * t_chance_card) :
  102. t_player_v2 * bool =
  103.  
  104. chance_card_apply : t_player_v2 * t_chance_card -> t_player_v2 * bool
  105.  
  106. ({player_v1 =
  107. {age = player.player_v1.age ;
  108. balance = player.player_v1.balance ;
  109. has_card_freed_from_jail = true ;
  110. is_in_jail = false ;
  111. number = -1 ;
  112. position = -1 ;
  113. token = ""} ;
  114. property_cards = []},
  115. false)
  116. ;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement