# Créé par bendahmane, le 06/03/2017 en Python 3.2
#Import des fonctions aleatoire
"""Import"""
from tkinter import *
import random
#On defini les couleurs selon la valeur de la variable 'valaur'
"""Couleur aleatoire"""
def couleurIA():
valeur = random.randint(1,8)
if (valeur==1):
couleur='Rouge'
elif (valeur==2):
couleur='Bleu'
elif (valeur==3):
couleur='Vert'
elif (valeur==4):
couleur='Jaune'
elif (valeur==5):
couleur='Orange'
elif (valeur==6):
couleur='Blanc'
elif (valeur==7):
couleur='Violet'
elif (valeur==8):
couleur='Fuchsia'
return couleur
#Le joueur choisi sa couleur
"""Couleur Joueur"""
def couleurPlayer():
n=1 # on initialise la variable n a� 1
while n!=5: #tant que la variable n est different de 5 on boucle
# on demande au jour le choix de sa couleur et on place la valeur dans
la variable VALEUR par une boite et on indique aussi le rappel de
couleurs
valeur =
str(input('Choix couleur en numero : ' + str(n) + ' - Rouge : Bleu :
Vert : Jaune : Orange : Blanc : Violet : Fuchsia'))
#Selon le choix du joueur on test la valeur de la variable VALEUR
if (valeur=='Rouge' or valeur=='Bleu' or valeur=='Vert' or
valeur=='Jaune' or valeur=='Orange' or valeur=='Blanc' or
valeur=='Violet' or valeur=='Fuchsia'):
n+=1 #on incremente n (nombre de couleur)
codePlayer.append(valeur) # on ajoute la couleur saisie a la
liste du joueur
else:
print('La couleur n\'existe pas') # si la couleur saisie n
exite pas on l' ecrit
"""Definition variable et type-list"""
#on definit de variables liste (tableau)
codePlayer=[]
codeIA=[]
#on initialise la u, p, n et t
u=0
p=0
n=1
t=1
"""Selection de couleur aleatoire"""
#on boucle tant que u est different de 4 (Nombre de couleur a trouver)
while u!=4:
codeIA.append(couleurIA()) #on ajoute au tableau codeIA le contenu de couleurIA
u+=1 #on incremente u
#print(codeIA)
"""Nombre de tour""" #soit on donne le choix au joueur du nombre de coup ici on le defini a 10
#on definit la variable x qui est le nombre de coups
x=int #(input('Quel est votre nombre de tour pour effectuer le Mastermind ? ='))
x=10 # 10 coups
#on affiche le nombre de coups
print('La partie est faite en ', x , ' coups')
"""Fin"""
#on boucle tant que le code de couleur du joueur est different de celui de l ordinateur
while codePlayer!=codeIA:
couleurPlayer()
a=x-t #on donne a la a le nombre de coup - 1
if codePlayer==codeIA: #si le code couleur du joueur est egale a celui de l ordinateur
# on affiche que le joueur gagne
print('Bravo le code ' + str(codePlayer) + ' est correct, tu as battue
le Mastermind en ' + str(t) + ' tour(s)')
# sinon
elif (codePlayer!=codeIA)*(a>0)==1:
# on affiche que le code n est pas bon et le nombre de coup restant
print('' + str(codePlayer) + ' n\'est pas le bon code.\nIl te reste ' +
str(a) + ' tour(s)')
# si le code couleur index 0 et egale au code ordinateur index 0
if (codePlayer[0]==codeIA[0]):
# la couleur du meme index est correcte a la bonne place
indic1=('La couleur ' + str(codePlayer[0]) + ' est correcte')
# sinon
elif (codePlayer[0]==codeIA[1] or codePlayer[0]==codeIA[2] or
codePlayer[0]==codeIA[3]):
# la couleur du meme index est correcte mais pas a la bonne place
indic1='La couleur ' + str(codePlayer[0]) +' existe mais n\'est pas a
la bonne place'
else:
indic1='Errone' # sinon la couleur est pas bonne
# si le code couleur index 1 et egale au code ordinateur index 1
if (codePlayer[1]==codeIA[1]):
# la couleur du meme index est correcte a la bonne place
indic2=('La couleur ' + str(codePlayer[1]) + ' est correcte')
# sinon
elif (codePlayer[1]==codeIA[0] or codePlayer[1]==codeIA[2] or
codePlayer[1]==codeIA[3]):
# la couleur du meme index est correcte mais pas a la bonne place
indic2='La couleur ' + str(codePlayer[1]) +' existe mais n\'est pas a
la bonne place'
else:
indic2='Errone' # sinon la couleur est
pas bonne
# si le code couleur index 2 et egale au code ordinateur index 2
if (codePlayer[2]==codeIA[2]):
# la couleur du meme index est correcte a la bonne place
indic3=('La couleur ' + str(codePlayer[2]) + ' est correcte')
# sinon
elif (codePlayer[2]==codeIA[0] or codePlayer[2]==codeIA[1] or
codePlayer[2]==codeIA[3]):
# la couleur du meme index est correcte mais pas a la bonne place
indic3='La couleur ' + str(codePlayer[2]) +' existe mais n\'est pas a
la bonne place'
else:
indic3='Errone' #
sinon la couleur est pas bonne
# si le code couleur index 3 et egale au code ordinateur index 3
if (codePlayer[3]==codeIA[3]):
# la couleur du meme index est correcte a la bonne place
indic4=('La couleur ' + str(codePlayer[3]) + ' est correcte')
# sinon
elif (codePlayer[3]==codeIA[0] or codePlayer[3]==codeIA[1] or
codePlayer[3]==codeIA[2]):
# la couleur du meme index est correcte mais pas a la bonne place
indic4='La couleur ' + str(codePlayer[3]) +' existe mais n\'est pas a
la bonne place'
else:
indic4='Errone'
# sinon la couleur est pas bonne
# on imprime les 4 resultat des index
print(indic1 + ', ' + indic2 + ', ' + indic3 + ', ' + indic4 + '.')
# on vide la liste des chois de couleur du joueur
codePlayer=[]
t+=1 # on increment la variable t
elif (codePlayer!=codeIA)*(a==0)==1: # Si il ne reste plus
de coup et que le code joueur est different de celui de l ordinateur
# on imprime que le joueur a perdu
print('Tu as perdu contre le Mastermind, tu n\'as plus de tour')
# et on ecrit le bon code couleur
print(str(codeIA)+ ' etait la bonne reponse')
# et on donne au code joueur celui de l ordinateur
codePlayer=codeIA