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
Partager