Besoin d'aide au plus vite sur python!

Fermé
marie27300 - Modifié par marie27300 le 24/05/2015 à 20:25
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 24 mai 2015 à 20:08
Bonjour
En faite je dois rendre un projet avec ma spécialité ISN, je suis en terminal S. Notre projet est de crée le jeu du pendu sur python, alors voila j'ai crée un programme que je vous envoie ci joint. Et j'ai également 3 listes de mots ( liste de fruits, liste d'animaux, et liste de sports).
Le jeu marche, donc on a voulu ajouter la possibilité de choisir le thème du jeu avec les différentes listes. Mais le problème est que je n'arrive pas a mettre une conditions : Si 1 alors on utilisera tel liste si 2 alors .. etc

# Le jeu du pendu par Thibault, Marie et Maxence

from tkinter import *
from random import choice


prenom = input("Entrez votre prénom : ")
print("Bonjour,", prenom)

fich=input("Avec quelle catégorie voulez-vous jouer ?(animaux(1)/sports(2)/fruits(3))") ### Demande à l'utilisateur le thème
if fich==1:
def fichier():
fichier = open("liste_a.txt","r")
fichier2.close()
fichier3.close() ### PROBLEME AU NIVEAU DE IF

if fich==2:
def fichier():
fichier = open("liste_s.txt","r")
fichier2.close()
fichier3.close()

if fich==3:
def fichier():
fichier = open("liste_f.txt","r")
fichier2.close()
fichier3.close()



def lettre_dans_mot(lettre):
global partie_en_cours, mot_partiel, mot_choisi, nb_echecs, image_pendu
global bouton, felicitation
if partie_en_cours :
nouveau_mot_partiel = ""
lettre_dans_mot = False
i=0
while i<len(mot_choisi):
if mot_choisi[i]==lettre:
nouveau_mot_partiel = nouveau_mot_partiel + lettre
lettre_dans_mot = True
else:
nouveau_mot_partiel = nouveau_mot_partiel + mot_partiel[i]
i+=1
mot_partiel = nouveau_mot_partiel
afficher_mot(mot_partiel)
bouton[ord(lettre)-65].config(text=" ")
if not lettre_dans_mot : # lettre fausse. Changer le dessin.
nb_echecs += 1
nomFichier = "pendu_"+str(nb_echecs)+".gif"
photo=PhotoImage(file=nomFichier)
image_pendu.config(image=photo)
image_pendu.image=photo
if nb_echecs == 7: # trop d'erreurs. Fini.
partie_en_cours = False
afficher_mot(mot_choisi)
elif mot_partiel == mot_choisi: # le mot a était trouvée !
partie_en_cours = False
canevas.itemconfig(felicitation,text="bravo " + prenom +" !")



def afficher_mot(mot):
global lettres
mot_large = ""
i=0
while i<len(mot): # ajoute un espace entre les lettres
mot_large = mot_large + mot[i] + " "
i+=1
canevas.delete(lettres)
lettres = canevas.create_text(320,60,text=mot_large,fill='black',font='Courrier 30')


def init_jeu():
global mot_choisi, mot_partiel, image_pendu, lettres, nb_echecs
global partie_en_cours, liste_a, liste_s, liste_f, bouton, felicitation, fichier
for i in range(26):
bouton[i].config(text=chr(i+65))
nb_echecs = 0
partie_en_cours = True
mot_choisi = choice(fichier).rstrip() ##le deuxieme probleme est ici car je ne sais pas quoi mettre a la place de "fichier"
mot_partiel = "-" * len(mot_choisi)
afficher_mot(mot_partiel)
photo=PhotoImage(file="pendu_0.gif")
image_pendu.config(image=photo)
image_pendu.image=photo
canevas.itemconfig(felicitation,text="")



# création du widget principal

fenetre = Tk()
fenetre.title("Le jeu du pendu par Thibaut, Marie et Maxence.")

canevas = Canvas(fenetre, bg='white', height=500, width=620)
canevas.pack(side=BOTTOM)

bouton = [0]*26
for i in range(26):
bouton[i] = Button(fenetre,text=chr(i+65),command=lambda x=i+65:lettre_dans_mot(chr(x)))
bouton[i].pack(side=LEFT)

bouton2 = Button(fenetre,text='Quitter',command=fenetre.quit)
bouton2.pack(side=RIGHT)
bouton1 = Button(fenetre,text='Recommencer',command=init_jeu)
bouton1.pack(side=RIGHT)

photo=PhotoImage(file="pendu_0.gif")
image_pendu = Label(canevas, image=photo, border=0)
image_pendu.place(x=120, y=140)
lettres = canevas.create_text(320,60,text="",fill='black',font='Courrier 30')
felicitation=canevas.create_text(320,110,text="",fill='green',font='Courrier 40')

init_jeu()

fenetre.mainloop()
fenetre.destroy()

3 réponses

XamiZ Messages postés 23 Date d'inscription dimanche 3 mai 2015 Statut Membre Dernière intervention 30 juin 2015 1
24 mai 2015 à 19:44
Ce n'est peut-être pas une si bonne idée de donner votre adresse mail ici...
Quel est votre problème ?
0
Utilisateur anonyme
24 mai 2015 à 19:45
Salut,

Pourquoi ne pas discuter ici ?
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
24 mai 2015 à 20:08
CCM n'est pas une société de consultance !
0