next up previous
Next: Graphismes et communications Up: No Title Previous: No Title

Des processus et des jeux

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