Previous Up
Version pdf - Version archive

3.4  Mastermind (Développeurs deuxième semestre)

Le but de ce projet est la programmation d’un Mastermind. Ce jeu se joue à deux joueurs, l’un (nous considérerons qu’il s’agit du premier joueur) détient une combinaison de m chiffres (ou couleurs, à vous de voir) compris entre 1 et n. Par exemple : (4, 2, 4, 1) (avec ici m = 4 et n ≥ 4). Le deuxième joueur doit deviner cette combinaison. Pour ce faire il fait des conjectures, par exemple (1, 2, 3, 4). Le premier joueur doit, à chaque conjecture, répondre par des indications, à savoir le nombre de chiffres bien placés et le nombre de chiffres mal placés. Par exemple, le 2 est bien placé, le 1 et le 4 sont mal placés, donc le premier joueur doit répondre le couple (1, 2), pour dire qu’il y a un chiffre bien placé et 2 chiffres mal placés.

Le deuxième joueur a droit à k conjectures, s’il n’a pas trouvé, il perd, sinon il gagne. Vous écrirez un programme permettant de simuler le comportement du premier joueur, celui-ci générera aléatoirement une combinaison, et corrigera les conjectures. Le deuxième joueur sera l’utilisateur du programme.

  1. Rédigez un court dossier expliquant quels sont les difficultés algorithmiques que vous avez rencontrées et comment vous les avez résolues.
  2. Programmez ce jeu en C#. Il doit être possible de faire varier les valeurs de n, m et k sans que cela perturbe l’exécution du programme. Vous soignerez particulièrement le dialogue avec l’utilisateur.

Vous apportez le code source imprimé (et avec votre nom dedans) le 12 mars et déposerez vos codes sources dans des répertoires (sur le serveur) que je vous indiquerai (ultérieurement) avant le 12 mars à minuit... Le dossier, imprimé, sera à remettre une semaine après.

Vous aurez une note d’algo dépendant du dossier et une note de c# dépendant du programme.

Bon courage.

fichier source incomplet

fichier exécutable

fichier source complet


Previous Up