Pendu
Sound
-
Sound -
Sound -
Bonjour,
J'ai pour projet de créer un pendu en utilisant tk inter , et j arrive à créer la fenêtre , mais je n'arrive pas à afficher les lettres utilisé , à changer le mot dans la fentre et à faire le pendu avec les erreurs pouvez vous m'aider ?
voici le code que j'ai fait :
J'ai pour projet de créer un pendu en utilisant tk inter , et j arrive à créer la fenêtre , mais je n'arrive pas à afficher les lettres utilisé , à changer le mot dans la fentre et à faire le pendu avec les erreurs pouvez vous m'aider ?
voici le code que j'ai fait :
from tkinter import * from random import * def pendu (): dessin=[[can.create_line(50,10,50,110)], [can.create_line(15,110,90,110)], [can.create_line(50,10,110,10)], [can.create_line(110,10,110,20)], [can.create_oval(100,20,120,40)], [can.create_line(110,40,110,80)], [can.create_line(110,55,90,45)], [can.create_line(110,55,130,45)], [can.create_line(110,80,130,90)], [can.create_line(110,80,90,90)]] def chaine (liste): c='' for i in range (0,len(liste)): c=c+'-'+liste[i] return c.upper() #remplace le mot par des etoiles def remplacer_mot_etoile (mot1,liste): mot_cache = "" for lettre in mot1: if lettre in liste : mot_cache += lettre else : mot_cache += "*" return mot_cache def choisir_mot(liste): i=randrange(len(liste)) return liste[i] def recup_lettre(event): erreur=0 global lettres_trouvees,lettre,mot_trouve lettre=saisir.get() if len(lettre)!=1 : text7.config(text='rentrer une SEULE lettre') saisir.delete(0,END) saisir.delete(0,END) print (lettre) if lettre in lettres_trouvees: # La lettre a deja ete choisie text7.config(text='La lettre a déja été choisie') elif lettre in mot: # La lettre est dans le mot a trouver lettres_trouvees.append(lettres_trouvees) text7.config(text='bien joué') else:#ce n'est pas la bonne lettre lettres_trouvees.append(lettre) erreur = erreur+1 text7.config(text='Ce n est pas une bonne lettre') mot_trouve=remplacer_mot_etoile(mot,lettres_trouvees) text2.config(text=mot_trouve) #Ici , si on depasse 10 erreurs , alors on a perdu et le jeu est fini if erreur>=9: text7.config(text='Pendu , tu as perdu , tu es nul') quit() text6.config(text='') if mot==mot_trouve: text7.config(text='Félicitation , vous avez trouvé le mot'+ mot) global lettres_trouvees,mot,lettre #la liste de mot: liste_mot=[ "voiture", "maison", "portable", "pierre", "casque", "ingenieur", "son", "patate", "anticonstitutiellement"] lettres_trouvees=[] mot=choisir_mot(liste_mot) mot_trouve=remplacer_mot_etoile(mot,lettres_trouvees) fenetre = Tk() can=Canvas(fenetre,width=150,height=120,bg='yellow') can.grid(column=2,columnspan=2,rowspan = 2) saisir=StringVar() saisir.set text1=Label(fenetre,text='mot à chercher') text1.grid(row=0) text2=Label(fenetre,text=mot_trouve) text2.grid(row=0,column=1) text4=Label(fenetre,text='lettre' ) text4.grid(row=1) saisir= Entry(textvariable=saisir,width=7,justify=CENTER) saisir.bind("<Return>", recup_lettre) saisir.grid(row=1,column=1) text5=Label(fenetre,text='Lettre Joué :') text5.grid(row=2,column=2) text6=Label(fenetre,text='') text6.grid(row=2,column=3) text7=Label(fenetre,text='') text7.grid(row=3,columnspan=2) b1=Button(fenetre,text='pendu',command=pendu) b1.grid(row=4) menubar=Menu(fenetre) menu1=Menu(menubar,tearoff=0) menu1.add_command(label='Quitter',command=fenetre.destroy) menu1.add_separator() menubar.add_cascade(label='Option',menu=menu1) fenetre.config(menu=menubar) fenetre.mainloop()
A voir également:
- Pendu
- Jeu du pendu - Télécharger - Vie quotidienne
- Télécharger jeu du pendu gratuit - Télécharger - Jeux vidéo
- [MAC/ Python]: impossible de run mon pendu - Forum Python
1 réponse
Re bonjour , j'ai réussi à avancer , il me reste que le pendu à dessiner , et je n'y arrive pas ,
voilà le code :
from tkinter import *
from random import *
def pendu ():
dessin=[[can.create_line(50,10,50,110)],
[can.create_line(15,110,90,110)],
[can.create_line(50,10,110,10)],
[can.create_line(110,10,110,20)],
[can.create_oval(100,20,120,40)],
[can.create_line(110,40,110,80)],
[can.create_line(110,55,90,45)],
[can.create_line(110,55,130,45)],
[can.create_line(110,80,130,90)],
[can.create_line(110,80,90,90)]]
def tracer(n):
dessin = pendu[n]
i=0
while i < len(dessin):
if dessin[i+1] is not None :
dessin[i](dessin[i+1])
else:
dessin[i]()
i+=2
def chaine (liste):
c=''
for i in range (0,len(liste)):
c=c+'-'+liste[i]
return c.upper()
#remplace le mot par des etoiles
def remplacer_mot_etoile (mot1,liste):
mot_cache = ""
for lettre in mot1:
if lettre in liste :
mot_cache += lettre
else :
mot_cache += "*"
return mot_cache
def choisir_mot(liste):
i=randrange(len(liste))
return liste[i]
def recup_lettre(event):
erreur=0
global lettres_trouvees,lettre,mot_trouve
lettre=saisir.get()
if len(lettre)!=1 :
text7.config(text='rentrer une SEULE lettre')
saisir.delete(0,END)
return lettre
saisir.delete(0,END)
print (lettre)
if lettre in lettres_trouvees: # La lettre a deja ete choisie
text7.config(text='La lettre a déja été choisie')
elif lettre in mot: # La lettre est dans le mot a trouver
lettres_trouvees.append(lettre)
text7.config(text='bien joué')
else:#ce n'est pas la bonne lettre
lettres_trouvees.append(lettre)
tracer(erreur)
erreur = erreur+1
text7.config(text='Ce n est pas une bonne lettre')
mot_trouve=remplacer_mot_etoile(mot,lettres_trouvees)
text2.config(text=mot_trouve)
#Ici , si on depasse 10 erreurs , alors on a perdu et le jeu est fini
if erreur>=9:
text7.config(text='Pendu , tu as perdu , tu es nul')
quit()
text6.config(text=chaine(lettres_trouvees))
if mot==mot_trouve:
text7.config(text='Félicitation , vous avez trouvé le mot '+ mot)
global lettres_trouvees,mot,lettre
#la liste de mot:
liste_mot=[
"voiture",
"maison",
"portable",
"pierre",
"casque",
"ingenieur",
"son",
"patate",
"anticonstitutiellement"]
lettres_trouvees=[]
mot=choisir_mot(liste_mot)
mot_trouve=remplacer_mot_etoile(mot,lettres_trouvees)
fenetre = Tk()
can=Canvas(fenetre,width=150,height=120,bg='yellow')
can.grid(column=2,columnspan=2,rowspan = 2)
saisir=StringVar()
saisir.set
text1=Label(fenetre,text='mot à chercher')
text1.grid(row=0)
text2=Label(fenetre,text=mot_trouve)
text2.grid(row=0,column=1)
text4=Label(fenetre,text='lettre' )
text4.grid(row=1)
saisir= Entry(textvariable=saisir,width=7,justify=CENTER)
saisir.bind("<Return>", recup_lettre)
saisir.grid(row=1,column=1)
text5=Label(fenetre,text='Lettre Joué :')
text5.grid(row=2,column=2)
text6=Label(fenetre,text='')
text6.grid(row=2,column=3)
text7=Label(fenetre,text='')
text7.grid(row=3,columnspan=2)
b1=Button(fenetre,text='pendu',command=pendu)
b1.grid(row=4)
menubar=Menu(fenetre)
menu1=Menu(menubar,tearoff=0)
menu1.add_command(label='Quitter',command=fenetre.destroy)
menu1.add_separator()
menubar.add_cascade(label='Option',menu=menu1)
fenetre.config(menu=menubar)
fenetre.mainloop()
voilà le code :
from tkinter import *
from random import *
def pendu ():
dessin=[[can.create_line(50,10,50,110)],
[can.create_line(15,110,90,110)],
[can.create_line(50,10,110,10)],
[can.create_line(110,10,110,20)],
[can.create_oval(100,20,120,40)],
[can.create_line(110,40,110,80)],
[can.create_line(110,55,90,45)],
[can.create_line(110,55,130,45)],
[can.create_line(110,80,130,90)],
[can.create_line(110,80,90,90)]]
def tracer(n):
dessin = pendu[n]
i=0
while i < len(dessin):
if dessin[i+1] is not None :
dessin[i](dessin[i+1])
else:
dessin[i]()
i+=2
def chaine (liste):
c=''
for i in range (0,len(liste)):
c=c+'-'+liste[i]
return c.upper()
#remplace le mot par des etoiles
def remplacer_mot_etoile (mot1,liste):
mot_cache = ""
for lettre in mot1:
if lettre in liste :
mot_cache += lettre
else :
mot_cache += "*"
return mot_cache
def choisir_mot(liste):
i=randrange(len(liste))
return liste[i]
def recup_lettre(event):
erreur=0
global lettres_trouvees,lettre,mot_trouve
lettre=saisir.get()
if len(lettre)!=1 :
text7.config(text='rentrer une SEULE lettre')
saisir.delete(0,END)
return lettre
saisir.delete(0,END)
print (lettre)
if lettre in lettres_trouvees: # La lettre a deja ete choisie
text7.config(text='La lettre a déja été choisie')
elif lettre in mot: # La lettre est dans le mot a trouver
lettres_trouvees.append(lettre)
text7.config(text='bien joué')
else:#ce n'est pas la bonne lettre
lettres_trouvees.append(lettre)
tracer(erreur)
erreur = erreur+1
text7.config(text='Ce n est pas une bonne lettre')
mot_trouve=remplacer_mot_etoile(mot,lettres_trouvees)
text2.config(text=mot_trouve)
#Ici , si on depasse 10 erreurs , alors on a perdu et le jeu est fini
if erreur>=9:
text7.config(text='Pendu , tu as perdu , tu es nul')
quit()
text6.config(text=chaine(lettres_trouvees))
if mot==mot_trouve:
text7.config(text='Félicitation , vous avez trouvé le mot '+ mot)
global lettres_trouvees,mot,lettre
#la liste de mot:
liste_mot=[
"voiture",
"maison",
"portable",
"pierre",
"casque",
"ingenieur",
"son",
"patate",
"anticonstitutiellement"]
lettres_trouvees=[]
mot=choisir_mot(liste_mot)
mot_trouve=remplacer_mot_etoile(mot,lettres_trouvees)
fenetre = Tk()
can=Canvas(fenetre,width=150,height=120,bg='yellow')
can.grid(column=2,columnspan=2,rowspan = 2)
saisir=StringVar()
saisir.set
text1=Label(fenetre,text='mot à chercher')
text1.grid(row=0)
text2=Label(fenetre,text=mot_trouve)
text2.grid(row=0,column=1)
text4=Label(fenetre,text='lettre' )
text4.grid(row=1)
saisir= Entry(textvariable=saisir,width=7,justify=CENTER)
saisir.bind("<Return>", recup_lettre)
saisir.grid(row=1,column=1)
text5=Label(fenetre,text='Lettre Joué :')
text5.grid(row=2,column=2)
text6=Label(fenetre,text='')
text6.grid(row=2,column=3)
text7=Label(fenetre,text='')
text7.grid(row=3,columnspan=2)
b1=Button(fenetre,text='pendu',command=pendu)
b1.grid(row=4)
menubar=Menu(fenetre)
menu1=Menu(menubar,tearoff=0)
menu1.add_command(label='Quitter',command=fenetre.destroy)
menu1.add_separator()
menubar.add_cascade(label='Option',menu=menu1)
fenetre.config(menu=menubar)
fenetre.mainloop()