pharelle8
Messages postés3Date d'inscriptionvendredi 7 novembre 2014StatutMembreDernière intervention22 février 2015
-
18 nov. 2014 à 10:29
lespinx
Messages postés106Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention23 novembre 2022
-
19 nov. 2014 à 17:31
cher internaute
si je suis sur cette forum aujourd'hui c'est pour vous demander de laide .;
voila jai un projet a réalisé ; le projet consiste à programmer le jeu mastermind sur python et à faire un interface graphique soit pygame ou tkinter ( 1 interface graphique )
voila pour la représenter du jeux j'ai peu le programmer sur python mais le problème est que j'arrive pas à la réaliser sur un interface graphique
Pouviez vous m'aider s'il vous plais
lespinx
Messages postés106Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention23 novembre 202274 19 nov. 2014 à 17:31
Bonjour,
Vous trouverez ci-joint quelques propositions de simplification de votre code.
# -*- coding: ISO-8859-15 -*-
from random import shuffle
#Transformation d'une chaine en liste (def to_list(s))
chaine = "123456"
lst_chaine = list(chaine)
print("chaine = ", chaine, " liste = ", lst_chaine)
#liste des couleurs initiales
lst_init_couleurs = ["bleu", "rouge", "vert", "jaune"]
#Copie d'une liste dans une autre liste (def copie(liste):)
lst_melange_couleurs = list(lst_init_couleurs)
#Mélange aléatoire de la liste (def cache(n,k))
shuffle(lst_melange_couleurs)
print(lst_init_couleurs, "couleurs initiales")
print(lst_melange_couleurs, "couleurs mélangées")
#Controle couleur bien ou mal placée
i = 0
for element in lst_init_couleurs:
if lst_melange_couleurs[i] == element:
print("OK couleur", element, "en position ", i)
else:
print("KO couleur en position ", i)
i += 1
faire un interface graphique soit pygame ou tkinter Tkinter est un interface généraliste et Pygame est plus spécifique et est plutôt orienté vers les interface de jeux.
Si vous avez l'intention de développer plutôt des jeux lancez vous dans Pygame sinon choisissez Tkinter.
from random import*
def cache(n,k): # cache k couleurs dans n cases
s=[]
i=0
while i<n:
s.append(randrange(1,k+1))
i=i+1
return s
def to_list(s): # transforme une chaine en une liste
liste=[]
i=0
while i<len(s):
liste.append(int(s[i]))
i=i+1
return liste
def rouge(proposition,solution): # indique le nombre de couleurs bien placé.
bien=0 # nombre de rouge
i=0
while i < cases:
if proposition[i]==solution[i]:
bien=bien+1
proposition[i]='y' # pour éviter des compter plusieurs fois une meme couleur,
solution[i]='x' # on remplace ces chiffres par des lettres
i=i+1
return bien
def blancs(proposition,solution): # indique le nombre de couleurs mal placé.
i=0
mal=0 # nombre de blancs
while i<cases:
j=0
while j<cases:
if proposition[i]==solution[j]:
mal=mal+1
proposition[i]='y' # idem que pour la fonction "rouge"
solution[j]='x'
j=j+1
i=i+1
return mal
def copie(liste): # copie "liste" dans "copy"
copy=[]
i=0
while i<len(liste):
copy.append(liste[i])
i=i+1
return copy
def erreur () :
while true :
# begin
try :
a = returnin (input("entrer un nombre réel")
except ValueError :
print ( "Erreur de saisie, il faut un entier. Recommencez")
#end
# Programme principal
cases=4
couleurs=6
Oange = 1
bleu = 2
vert = 3
jaune = 4
Violt = 5
Fushia = 6
essai_max=10
essai=0
sol = cache(cases,couleurs)
nb_biens=0
nb_mals=0
copie_prop = []
copie_sol = []
print("vous avez",essai_max,"essais")
print()
while nb_biens<cases and essai<essai_max:
essai=essai+1
print("essai",essai)
prop=to_list(input('Entrez votre proposition: '))
copie_prop=copie(prop)
copie_sol=copie(sol)
nb_biens=rouge(copie_prop, copie_sol)
print(nb_biens,'rouge(s)')
nb_mals=blancs(copie_prop, copie_sol)
print(nb_mals, 'blanc(s)')
print()
if nb_biens==cases:
print("Bravo !")
else:
print("La réponse était",sol)