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