– Programmez la fonction affiche(etat jeu ej) qui affiche `a l’´ecran un ´etat du jeu : grille, pions du joueur
et pions adverses
–´
Ecrivez les fonctions qui v´erifient si un coup est l´egal et qui v´erifient si un ´etat de jeu est gagnant, perdant
ou nul.
–´
Ecrivez un programme qui permet de jouer `a deux joueurs humains (pas d’IA).
– Programmez la fonction etats suivant(etat jeu ej) qui g´en`ere les ´etats de jeux accessibles `a partir de
ej (c’est a dire la liste des coups suivants possibles).
– D´efinissez et programmez la fonction evaluation(etat jeu ej) qui retourne le score correspondant `a
l’´etat de jeu ej. (Attention, selon le niveau de profondeur de la recherche, cette ´evaluation peut d´ependre
du joueur auquel correspond ej.
– D´efinissez et programmez une fonction estjoueur(etat jeu ej) qui sert `a d´eterminer si un ´etat de jeu
correspond au joueur ou `a l’adversaire.
– Impl´ementez l’algorithme MinMax, de mani`ere a ce qu’il retourne un pointeur vers l’etat `a jouer.
– Implementez le tour de jeu pour pouvoir jouer avec l’utilisateur.
Compte-rendu
Vous devrez rendre un compte-rendu, sous format ´electronique (PDF), envoy´e par mail `a l’enseignant. Ce
compte-rendu doit ˆetre structur´e en deux parties : la premi`ere pr´esente le contexte du TP et la seconde d´etaille
les choix d’impl´ementations et les r´esultats obtenus. Dans la premi`ere partie, vous pr´esenterez l’algorithme
MinMax et le jeu de puissance 4. Les solutions que vous aurez retenues pour votre programme doivent ˆetre
pr´esent´ees et argument´ees dans la secondes partie.
Vous devez joindre les fichiers de votre programme (.c, .h et makefile) `a votre compte-rendu.
Facultatif
Vous pouvez convenir avec un autre ´etudiant d’un protocole d’echange des coups que recup´ererait votre
programme (fichier, reseau, etc...), afin de faire jouer les programmes les uns contre les autre et d’am´eliorer les
heuristiques selon les victoires/echecs de programmes.