bonjour,
(Je m'excuse d'avance aupr�s des modos si j'ai pas le droit d'�crire ce topic mais j'ai besoin d'aide :s )
Je suis actuellement en �cole d'ing�nieur et j'ai un projet d'algorithmie � rendre.
Le projet est de programmer le jeu de soci�t� Mastermind. Je commence tout juste dans le domaine et je suis totalement largu� :s.

Je ne demande pas qu'on me fasse l'exercice mais qu'on m'aide � m'orienter dans le d�marrage du projet car je ne vois pas comment commernce.

Je mets ci-dessous les �l�ments importants

Principe


Les deux joueurs se mettent d'accord sur un nombre, n�cessairement pair, de manches �
jouer.
Un joueur commence par placer son choix de pions sans qu'ils soient vus de l'autre joueur
a l'arri�re d'un cache qui les masquera � la vue de celui-ci jusqu'� la fin de la manche.

Le joueur (d�sign� sous le terme de \joueur actif" dans la suite) qui n'a pas s�lectionn�
les pions doit trouver quels sont les quatre pions, c'est-�-dire leurs couleurs et positions.
Pour cela, � chaque tour, le joueur actif doit se servir de pions pour remplir une rang�e
selon l�id�e qu'il se fait des pions dissimules.
Une fois les pions plac�s, l'autre joueur (le \joueur passif") indique :
{ le nombre de pions de la bonne couleur bien plac�s en utilisant le m�me nombre de
petits pions rouges ;
{ le nombre de pions de la bonne couleur, mais mal plac�s, avec les petits pions blancs.
Il se peut qu'aucun pion ne corresponde, en couleur ou en couleur et position, auquel cas le
joueur passif se contente de le signaler au joueur actif.
La tactique du joueur actif consiste � s�lectionner en fonction des coups pr�c�dents,
couleurs et positions, de mani�re � obtenir le maximum d'informations de la r�ponse du
partenaire puisque le nombre de propositions est limite par le nombre de rang�es de trous
du jeu.Dans la plupart des cas, il s'efforce de se rapprocher le plus possible de la solution,
compte-tenu des r�ponses pr�c�dentes, mais il peut aussi former une combinaison dans le seul
but de varier une partie des conclusions des coups pr�c�dents et de faire en cons�quence la
proposition la plus propice � la d�duction d'une nouvelle information.
Le joueur gagne cette manche s'il donne la bonne combinaison de pions sur la derni�re
rang�e ou avant, auquel cas il ajoute ce nombre de rang�es au score total de son adversaire.
S'il ne trouve pas la bonne combinaison sur la derni�re ligne, l'adversaire rajoute un point
suppl�mentaire � son score total. Ensuite, il devient le joueur passif et c'est � son tour de
choisir les pions � d�couvrir.
Lorsque le nombre de manche est sp�cifi� en d�but de partie est jou�, le joueur qui a le score
le plus �lev� a gagn�.

Variantes

Selon le niveau des joueurs, un m�me jeu peut �tre rendu plus difficile en autorisant
plusieurs pions de la m�me couleur, voire en autorisant l'absence d'un pion ou de plusieurs.

Travail demand�

Dans cette partie, le programme doit permettre de mod�liser le plateau de jeu et l'ordi-
nateur jouer le r�le de joueur passif.
Dans un premier temps, vous devez donc choisir comment mod�liser le plateau, de fa�on
� repr�senter les choix du joueur actif et les r�ponses du joueur passif. Le C++ n'est pas un
langage particuli�rement con�u pour de belles applications graphiques ; l'essentiel est donc
d'obtenir un affichage ais�ment lisible.
Ensuite, l'ordinateur doit faire un choix (al�atoire) des quatre pions � deviner et son uti-
lisateur doit pouvoir prendre le r�le de joueur actif, entrer des propositions et voir appara�tre
les r�ponses correspondantes. Bien s�r,l'ordinateur doit pouvoir indiquer la fin de la manche,
et le nombre de points obtenus par le joueur (passif : c'est lui qui encaisse les points).

Merci d'avance � tous ceux qui pourront m'aider s�rieusement