Programmation d’un Mastermind
Louis, Mélanie et Thomas
18 mars 2013
1
1 Introduction
L’objectif de ce projet est de programmer un Mastermind en utilisant le logiciel Java’s cool. Ce jeu de plateau
se joue à deux : une personne choisit une combinaison de quatre pions et l’autre personne dispose de douze tours
pour trouver la couleur et l’emplacement de chaque pion. À chaque tour, cette dernière remplit une rangée de pions
selon son estimation puis le joueur qui a sélectionné la combinaison lui donne des indices. Un indice noir signifie
qu’un pion de la combinaison estimée fait parti de la combinaison finale mais qu’il n’est pas à la bonne place. Tandis
qu’un indice rouge signifie qu’un pion de la combinaison estimée fait parti de la combinaison et qu’il est à la bonne
place. Dans ce programme, le joueur a le choix d’essayer de deviner une combinaison générée par l’ordinateur ou de
laisser l’ordinateur jouer contre lui même.
2 Algorithme
Le pseudo-code suivant décrit le fonctionnement global du programme. Le code source Java est très bien docu-
menté et vous fournira plus de détails sur l’implémentation de cet algorithme.
initialisation (du canvas, de l’intelligence artificielle...) ;
demander à l’utilisateur si il souhaite jouer contre l’ordinateur ;
tours = 0 ;
victoire = faux ;
tant que tours < 12 et non victoire faire
si l’utilisateur joue contre l’ordinateur alors
attendre l’entrée de l’utilisateur ;
sinon
attendre l’entrée de l’ordinateur ;
fin
générer les indices correspondant à l’entrée ;
afficher l’entrée et les indices sur le canvas ;
si l’entrée correspond à la combinaison alors
victoire = vrai ;
fin
tours += 1 ;
fin
si victoire alors
afficher un message de victoire ;
sinon
afficher un message de défaite ;
fin
3 Répartition des tâches
Mélanie a commencé la réalisation de l’interface graphique et Thomas celle de la boucle principale du programme.
Louis a créé une ébauche du projet en Python, a complété les différentes parties du programme et a réalisé ce
document. Tout le groupe a participé activement aux tests du projet.
2
4 « Java’s not so cool »
Introduction Cette section traite des problèmes que nous avons rencontrés lors de la réalisation de ce projet,
notamment avec le logiciel Java’s cool. Notre but est d’apporter une critique constructive qui pourra servir à
l’amélioration de la spécialité ISN pour les années suivantes.
Java Premièrement, Java force l’utilisation de classes (on ne peut pas importer de fonctions en Java, mais uni-
quement des classes). De plus, en Java, deux tableaux qui ont le même contenu ne sont pas égaux car Java compare
les instances des deux tableaux et non leur contenu. Dans la fonction rgbToDigit(), nous sommes donc obligés de
comparer les éléments des tableaux un par un ce qui est fastidieux.
Java’s cool Lorsqu’un programme est exécuté par Java’s cool, ce dernier consommera toute la charge du système,
même si le programme exécuté fait des pauses régulières. De plus, si un programme exécuté par Java’s cool comporte
l’instruction System.exit(), Java’s cool se fermera au lieu d’arrêter le programme en cours d’exécution. D’autres
instructions pourraient avoir des effets indésirables, ce qui rend difficile la création de projets importants sous Java’s
cool. Même si Java’s cool peut être un bon outil pour apprendre les bases de l’algorithmie et de l’informatique, il
n’est donc pas adapté pour ce type de projet.
Conclusion À l’avenir, il serait mieux de proposer Java’s cool par défaut, tout en laissant le choix aux élèves
d’utiliser un autre outil (language de script de type Python, etc) plus facile d’apprentissage et d’utilisation.
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !