Le jeu du Mastermind

Le problème

Il s'agit de réaliser un programme qui choisit au hasard une combinaison de 5 chiffres différents (au moins dans un premier temps) compris entre 1 et 8 et qui demande à l'utilisateur de la deviner. A chaque proposition du joueur la machine répond :

  1. le nombre de chiffres exacts proposés à la bonne place,
  2. le nombre de chiffres exacts proposés à la mauvaise place.

Le joueur propose sa solution sous la forme de 5 chiffres consécutifs (sans aucun séparateur). On devra prévoir un nombre limité d'essais, au-delà duquel le programme s'interrompra en indiquant quelle était la combinaison à deviner.

Programmation

Les principales difficultés résident dans :

  1. l'analyse de la proposition du joueur. Dans un premier temps pas de contrôle puis le programme pourrait traiter convenablement le cas des réponses incorrectes (lettre à la place d'un chiffre, réponse trop courte ou trop longue, chiffre incorrect, ...)
  2. la comparaison des deux tableaux (tableau tiré et tableau de l'utilisateur),
  3. on pourrait également voir à éviter le tirage multiple d'un même numéro.

Exemple d'exécution:

Proposition : 12345
Réponse : 2 placés - 0 corrects
Proposition : 23456
Réponse : 0 Placés - 1 corrects
.....