Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Projet ISN Mastermind 2013

No description
by

Cécile DEMOISSON

on 16 February 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Projet ISN Mastermind 2013

Projet I.S.N 2013
Le Mastermind
Qu'est-ce que le Mastermind ?
Le Mastermind est un jeu de société mêlant réflexion, déduction, et ingéniosité, inventé par Mordecai Meirowitz dans les années 1970.
Principe :
Un des deux joueurs commence par choisir une combinaison de 4 couleurs, à l'insue de son adversaire. L'autre joueur doit trouver quels sont ces quatre pions choisis, c'est à dire leurs couleurs et positions. Pour cela, à chaque tour, le joueur doit se servir de pions pour remplir une rangée selon l'idée qu'il se fait des pions dissimulés.
Une fois les pions placés, l'autre joueur indique :

le nombre de pions de la bonne couleur
bien placés
en utilisant le même nombre de
pions rouges,
le nombre de pions de la
bonne couleur, mais mal placés
, avec les
pions blancs ou noirs,
et s'il n'indique rien, c'est qu'aucune couleur n'est présente dans la combinaison finale.

Le joueur gagne cette manche s'il donne la bonne combinaison de pions sur la dernière rangée ou avant. Ensuite, les rôles s'inversent.
Programmation :
Il peut être donc intéressant de créer son propre mastermind, sur un logiciel de programmation tel que Python. Nous pourrions remplacer les couleurs par une combinaison de chiffres compris entre 1 et 9, et, pour faciliter la réalisation du jeu, dire directement si un chiffre est bien ou mal placé, et s'il est présent.
CARLIN Laurine
DEMOISSON Cécine
TS5

Le Mastermind se présente sous la forme d'un plateau constitué de 10 rangées de quatre trous où se placent des pions de couleurs.

Le jeu contient 8 Couleurs qui sont le
rouge,
le
jaune
, le
vert
, le
bleu,
le
orange
, le
gris
, le
violet
et le
rose
. Il y a également des pions
blancs
et
noirs
utilisés pour donner des indications à chaque étape du jeu.
Nous avons un exemple d'un jeu ici ;
La dernière et bonne combinaison est difficile à trouver, il s'agit de la combinaison :
"
Rose
,
Jaune
,
Gris
,

Noir
".
Ce jeu demande donc beaucoup de réflexion.
Il existe également plusieurs variantes, pouvant rendre le jeu encore plus difficile :
-Permettre d'utiliser 2 mêmes pions de la même couleur
-Permettre de ne pas mettre un ou plusieurs pions dans la combinaison = Couleur "Transparente"
-Permettre moins d'essais
Sources :
-http://www.onlinespiele-sammlung.de/mastermind/list-of-mastermind-games.php
-http://fr.wikipedia.org/wiki/Mastermind
-http://issuu.com/wile/docs/mastermind
-http://www.siteduzero.com
-http://python.developpez.com/
http://www.codecademy.com/tracks/python
<= On affiche le titre du jeu
<= On s'assure ici que les 4 nombres choisis par l'ordinateur ne sont pas identiques entre eux
<= On fais ensuite
<= choisir, de manière
<= aléatoire, 4 chiffres à <= l'ordinateur
<= Tant que le candidat ne trouve pas la bonne combinaison, on refait la boucle
On demande ici à l'utilisateur de rentrer ses 4 chiffres
*
**
* N=O, c'est à dire que N prend la valeur 0
** N=N+1, à chaque fois que l'ordinateur répète la boucle, (soit disant à chaque essai du joueur,) il rajoute 1 à la valeur N. Cela permet de compter le nombre d'essais que le joueur va faire avant de trouver la bonne combinaison
<= Ici on applique une condition, avec "If". Il s'agit ici de s'assurer que le caractère rentré par l'utilisateur est bien un chiffre entier, compris entre 1 et 9. Cette condition permet également de vérifier que l'utilisateur ne puisse pas rentrer deux nombres identiques.
Le "Alors", est sous entendu.
Nous demandons donc au programme, si cette condition est respectée, d'afficher, à l'aide de la commande "print()", une consigne à l'utilisateur lui rappelant les règles du jeu. Cela permet d'éviter des essais inutiles de l'utilisateur si ce dernier n'a pas compris les consignes.
Il s'agit maintenant de comprendre et d'interpréter la combinaison de chiffres rentrée par l'utilisateur, et de lui indiquer ce qui est bon ou non.
Nous vérifions dans ces quatre premières conditions, si les chiffres rentrés sont directement bien à la bonne place.
Dans ce cas nous indiquons à l'utilisateur que son nombre numéro x est correct.
Dans ces 4 nouvelles conditions, nous vérifions si un des chiffres rentrés par l'utilisateur existe dans la combinaison, sans pour autant être à sa bonne place.
Dans ce cas nous indiquons à l'utilisateur que son nombre x n'est pas à la bonne place.
Enfin, si l'utilisateur trouve la combinaison, afficher qu'il a gagné, ainsi que le nombre d'essais qu'il a utilisé
Sommaire :
Qu'est-ce que le Mastermind ?
-Présentation
-Principe/Règles du jeu, et Variantes
Sa programmation :
-En Calculette casio TI 82
-En python
-Détail des modules utilisés
-Analyse du programme
Son interface graphique :
-Pourquoi une interface graphique ?
-Module Pygame et TKinter
-Qu'est-ce que ça donne ?
Pour finir :
-Pourquoi nous avons choisi ce sujet
-Répartition des tâches
-Sources
Avant de nous lancer dans la programmation Python, nous nous sommes tout d'abord essayées sur notre calculette. Voici le résultat :
Le programme est long, et lourd, toutefois, il a été beaucoup plus simple de le programmer sur la calculette que sur Python : les boucles sont plus simples à réaliser.
Pourquoi ce sujet ?
Répartition des tâches
Interface graphique
Pourquoi une interface graphique ?
Module Pygame et Tkinter
Rester sur un programme plat, sans images, et avec des chiffres uniquement, sans couleurs, c'est dommage ! C'est pour cela que nous avons décidé de créer notre propre interface graphique pour notre jeu Mastermind. Cela sera plus agréable pour l'utilisateur !
Pour pouvoir réaliser une
interface graphique
, nous avons besoin d'un module sur Python tel que le module Tkinter, et le module pygame,. Ils seront exprimés sous la forme "
From pygame import
" et sous la forme "
From Tkinter import
". Ces deux modules permettent de créer notre propre "affichage", et donc notre propre jeu, à notre manière.
Nous nous servirons principalement du module Pygame dans le programme.
Nous avons longuement hésité sur notre sujet, et le choix n'a pas été facile.
Nous avions tout d'abord choisi
les méthodes de codage et de cryptage
, telles que
la méthode César et la méthode vigenère
. Mais le sujet ne nous plaisait pas vraiment, et nous voulions pouvoir créer quelque chose par nous mêmes.
Nous nous sommes donc intéressées
aux Flashcodes, et aux QR code
. Le sujet nous plaisait beaucoup, mais nous ne trouvions pas de quoi programmer un logiciel, capable de créer des Flashcodes.
Ayant toutes les deux déjà manipulé des programmes sur calculettes, nous avons donc essayé
d'autres jeux 2D
, tels que le
Mastermind.
De plus, ce jeu nécessite beaucoup de réflexion, ce qui nous a vraiment pousseés à choisir ce sujet.
Nous nous sommes toutes les deux vraiment impliquées dans ce programme, dans le sens où nous nous intéressions chacune à ce que faisait l'autre en permanence. C'est aussi pour cela que nous avons préféré faire un dossier commun à notre projet. Toutefois,
même si les recherches et la création du dossier ont vraiment été communes,
nous nous sommes légèrement différenciées au niveau de la programmation du Mastermind :
Céline s'est plus spécialisée dans le programme de base (Calculette/Python), tandis que Laurine s'est quant à elle plutôt penchée sur l'interface graphique
. Nous sommes malgré tout aptes à expliquer et refaire le travail de l'autre.
Les différentes fonctions sur Python :
- "
Import random
Chiffre=random.randint(1,9)
"
Qui permet de faire sélectionner à l'ordinateur de manière aléatoire un chiffre compris entre 1 et 9.
-"
Input()
"
Qui permet de faire saisir à l'utilisateur le chiffre de son choix.
-"
if
"
De l'anglais "Si", qui permet d'imposer une condition au programme
"
Else
"
De l'anglais "sinon", il permet de répondre à un "IF"
"
Print
"
De l'anglais "Afficher" : permet d'afficher à l'écran une donnée (variable, constante, phrase ..).
"
While
"
De l'anglais "Tant que", sert également à imposer une condition, et plus précisément à faire faire une boucle au programme
Celles qui nous ont permis de comprendre l'interface graphique du programme :
http://www.siteduzero.com/informatique/tutoriels/interface-graphique-pygame-pour-python

http://fr.wikibooks.org/wiki/Pygame

http://inventwithpython.com/makinggames.pdf
Qu'est-ce
que ça rend ?
Full transcript