Projet informatique : le Mastermind

Université de Nice Sophia-Antipolis

Enseignant : Pierre Crescenzo



Ce projet consiste à programmer le célèbre jeu Mastermind.

Dates et consignes générales

Respectez les contraintes de date et les consignes générales qui vous ont été données par l'enseignant qui vous a attribué ce projet. Ne réalisez que les objectifs et variantes précisés par l'enseignant, les autres ne sont considérés comme bonus que si tous les objectifs et variantes demandés sont complets et correctement réalisés.

Règles du jeu

Le jeu Mastermind étant célèbre, vous pouvez en trouver les règles sur Internet, par exemple sur Wikipédia. Vous choisirez des combinaisons de cinq cases et six couleurs.

Objectifs

  1. Réalisez une interface textuelle permettant de jouer.
  2. Réalisez une interface graphique permettant de jouer.
  3. Programmez le jeu entre deux joueurs humains.
  4. Programmez la détection de fin de partie : gagné ou perdu.
  5. Empêchez les erreurs lors des réponses aux propositions du joueur.
  6. Programmez la réponse automatique aux propositions du joueur.
  7. Programmez un tirage aléatoire pour la combinaison secrète.
  8. Programmez un joueur automatique.
    1. Le joueur automatique est stupide : il joue complètement au hasard.
    2. Le joueur automatique est peu habile : il tient compte des indications de pions bien placés mais pas des autres. Pour le reste, il agit comme le joueur stupide.
    3. Le joueur automatique est intelligent : il détermine une stratégie (à vous de l'établir) pour gagner.
    4. Le joueur automatique est aléatoire : il prend, au hasard, l'un des comportements possibles.
    5. Le joueur automatique est peu décidé : il prend, au hasard, l'un des comportements possibles et en change de temps en temps.
  9. Faites jouer différents joueurs automatiques et faites des statistiques sur leurs résultats pour mettre en évidence leurs qualités et faiblesses.
  10. Programmez le jeu en réseau.
  11. Ajoutez une base de données au jeu. Elle peut avoir plusieurs usages comme :
    1. Programmez la sauvegarde d'une partie pour pouvoir la reprendre plus tard.
    2. Programmez la sauvegarde du déroulement d'une partie et la possibilité de la revoir plus tard, pour pouvoir l'étudier.
    3. Programmez un historique pour chaque joueur. Cet historique offre la possibilité d'étudier le déroulement de ses propres parties ou de celles des autres joueurs, d'évaluer son évolution ou encore de classer les joueurs entre eux.
    4. Utilisez les parties sauvegardées comme base de connaissances, pour améliorer les capacités du joueur automatique intelligent.

Variantes

Il est possible de composer certaines variantes.

  1. Modifiez les paramètres essentiels du jeu.
    1. Changez le nombre de cases de la combinaison.
    2. Changez le nombre de couleurs possible.
    3. Interdisez les couleurs en double dans une combinaison.
    4. Permettez aux joueurs de choisir parmi les paramètres essentiels possibles, en début de partie.

Tout n'est pas dit : l'intérêt d'un projet est de découvrir, expérimenter, créer, comprendre, innover… en un mot réfléchir ! Si vous voulez me proposer des améliorations ou de nouveaux objectifs ou variantes, écrivez-moi.


XHTML 1.1 validé ! CSS 2 validé ! GNU's Not Unix Debian GNU/Linux Optimisé pour tout navigateur ! Contre les brevets logiciels !

URI : http://www.crescenzo.nom.fr/Projets/mastermind.html conforme à XHTML 1.1 et à CSS 2.1
Contact et maintenance : Pierre Crescenzo
Création : 2005/12/22
Dernière modification : 2010/11/29