1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| from __future__ import division
from random import choice
import os
from Tkinter import *
coups_restants = 10 # Creation de la valeur nombre de coups restants
dictionnaire=["maison","baguette","utilisateur","veste","stylo","lunettes","ordianteur","informatique","imprimante","chariot","merci","bonjour","avant","manger","mobile","boulangerie","sortir","rentrer","carte","boitier","trousse","clavier","micro","souris","chien","tapis","lapin","chien","chat","oiseau","physique","formule","musculation","muscle","machine","prise","poisson","champion","sport","opposer","composant","route","chemin","voiture","recette","usine","cuisne","chocolat","porc","ferme","gros","gras","lard","saucisson","anticonstitutionnellement","chien"]#création de la liste de mot
# Création du dictionnaire )
fenetre=Tk()
e = Entry(fenetre)
lettre_choisi=[]
e.place(x=350,y=50)
e.focus_set()
def callback():
lettre_choisi.append(e.get())
e.delete(0,END)
return lettre_choisi
b = Button(fenetre, text="Entrer la lettre", width=10, command=callback)
b.place(x=500,y=45)
c=Canvas(fenetre,width=100,height=100,bg="red")
c.place(x=250,y=100)
bienvenue=Label(fenetre,text="Bienvene sur le jeu du pendu \n Bonne chance!")
bienvenue.place(x=400,y=10)
fenetre.minsize(width=1000, height=700)
def demande_lettre () :
lettre = raw_input (" Quelle lettre avez-vous choisi ? ") # demande la lettre choisie à l'utilisateur
lettre =lettre.lower () # transforme le choix de l'utilisateur en mnuscules
if len(lettre)>1 or not lettre.isalpha (): # vérification que la lettre choisi soit bien une lettre et une seule lettre
print " on ne vous a demandé qu'une lettre "
return demande_lettre() # revoi au debut de la fonction
else :
return lettre
def recup_mot () :
return choice(dictionnaire)
def recup_mot_masque(mot_complet, lettres_trouvees) :# fonction permettant de gerer le présence * dans le mot caché
mot_masque = ""
for lettre in mot_complet:
if lettre in lettres_trouvees : # verifie avec les lettres deja trouvees
mot_masque += lettre# ajoute cete lettre au mot masque
else:
mot_masque += "*"#met une etoile dans le mot
return mot_masque #donne le mot cache
continuer_partie = 'o'# Notre variable pour savoir quand arrêter la partie
while continuer_partie != 'n':
mot_a_trouver = recup_mot()
lettres_trouvees = []
mot_trouve = recup_mot_masque(mot_a_trouver, lettres_trouvees)
nb_chances = coups_restants
while mot_a_trouver!=mot_trouve and nb_chances>0:
print("Mot à trouver {0} (encore {1} chances)".format(mot_trouve, nb_chances))# ecrit l'avancement du mot à trouver et le nombre de coups restants
lettre = demande_lettre()
if lettre in lettres_trouvees: # La lettre a déjà été choisie
print("Vous avez déjà choisi cette lettre.")
elif lettre in mot_a_trouver: # La lettre est dans le mot à trouver
lettres_trouvees.append(lettre)# ajoute la lettre dans la liste
print("...Bien joué...")
else:
nb_chances -= 1# reduit les coups restants de 1
lettres_trouvees.append(lettre)# ajoute la lettre dans la liste
print("... non, cette lettre ne se trouve pas dans le mot...")
mot_trouve = recup_mot_masque(mot_a_trouver, lettres_trouvees)
if mot_a_trouver==mot_trouve :# A-t-on trouvé le mot ou nos chances sont-elles épuisées ?
print("Félicitations ! Vous avez trouvé le mot {0}.".format(mot_a_trouver))#fin du jeu et affichage du mot.
else:
print("PENDU !!! Vous avez perdu.Le mot a trouver etait {0}!".format(mot_a_trouver))#fin du jeu et affichage du mot.
os.system("pause")
fenetre.mainloop() |
Partager