 
 
 
 
 
   
 Next: Graphismes et communications
 Up: No Title
 Previous: No Title
 
module type JEU_COMPLET = 
 sig
   type coups
   type jeu
   val jeu_initial : unit -> jeu 
   val coups_possibles : jeu -> coups list 
   val partie_finie : jeu -> int
   val a_qui : jeu -> int 
   val applique : jeu -> coups -> jeu
   val meilleur_coups : jeu -> coups
   val bandeau_debut : unit -> unit
   val bandeau_fin : jeu -> unit
   val affiche_jeu : jeu -> unit
   val affiche_coups : jeu -> coups -> unit 
   val interroge_humain : unit -> coups
 end
Cette signature complète celle donnée lors du TD1. La valeur a_qui 
renvoie les entiers 1 ou 2 suivant quel est le joueur qui devra
 effectuer le prochain coup. La valeur partie_finie renvoie 
1 ou 2 si l'un des joueurs à gagné la partie, 0 si 
la partie est nulle et -1 dans les autres cas.
- 1.
- Définir un foncteur Jeu_Interactif fournissant une fonction
go : unit -> unit qui prend en charge la totalité de la gestion
des aspects interactifs d'un jeu. 
 
- 2.
- Modifier ce foncteur pour que la machine commence à calculer son
prochain coup pendant que le joueur humain est interrogé. La machine
supposera que son adversaire jouera le coup qu'elle aurait pronostiqué.
 
- 3.
- Écrire une troisième version du foncteur où cette fois la machine
tente toutes les possibilités.
 
- 4.
- Pour traiter les deux questions précédentes avec des processus légers, 
il nous a fallu faire une hypothèse sur l'implantation des modules de
Jeu. Quelle est-elle ? Comment aurait-on dû traiter l'exercice en toute 
généralité ?
Emmanuel CHAILLOUX
1998-11-15