Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 20/05/2019, à 07:25

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

recoucou

si tu peux y arriver avec un rectangle en haut et un en bas . Essaie comme ça ! comme ça elle aura quelque chose à rendre ce soir !

merci infiniment

Hors ligne

#27 Le 20/05/2019, à 07:31

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

la puce lui a posé des questions hier et il n'a pas répondu !. Il lui a dit seulement de faire de son mieux !!
C'est pour cela si tu peux y arriver avec un rectangle en haut et un en bas . Essaie comme ça ! comme ça elle aura quelque chose à rendre ce soir !

merci infiniment

Hors ligne

#28 Le 20/05/2019, à 07:35

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

ça me fait de la peine pour la puce !!

Hors ligne

#29 Le 20/05/2019, à 07:58

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

quand je fais apparaître les labels dans la ligne du bas;
Peut on cliquer sur une lettre et la faire apparaître dans le premier carré du haut ?t

from tkinter import *
import time
from random import shuffle


def Demarrer() : # A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre  dans la liste_Carre_Bouge
   listeMot1_solution=["A","B","R","I","C","O","T"]
   shuffle(listeMot1_solution) # met les lettres dans le désordre
   labelLettre0 = Label(Mafenetre,text=listeMot1_solution[0])
   labelLettre0.place(x=60,y=220)
   labelLettre1 = Label(Mafenetre,text=listeMot1_solution[1])
   labelLettre1.place(x=100,y=220)
   labelLettre2 = Label(Mafenetre,text=listeMot1_solution[2])
   labelLettre2.place(x=140,y=220)
   labelLettre3 = Label(Mafenetre,text=listeMot1_solution[3])
   labelLettre3.place(x=180,y=220)
   labelLettre4= Label(Mafenetre,text=listeMot1_solution[4])
   labelLettre4.place(x=220,y=220)
   labelLettre5 = Label(Mafenetre,text=listeMot1_solution[5])
   labelLettre5.place(x=260,y=220)
   labelLettre6= Label(Mafenetre,text=listeMot1_solution[6])
   labelLettre6.place(x=300,y=220)

#def Reesaayer() : A faire -> Ramener les lettres dans la liste_Carre_Bouge

#def Passer_MotSuivant() :  A faire -> passer au mot suivant dans tous les cas ! et mettre un compteur pour compter le nombre de bons mots trouvés et le temps qu'il a mis

#def Quitter() : A faire : -> faire apparaître une boite  de dialogue (messagbox) disant combien de mots ont été trouvés  et le temps qu'il a mis. Puis quitter l'application


def Clic1(event):
    global DETECTION_CLIC_SUR_OBJET

    X= event.x
    Y= event.y
    print("Position du clic -> ",X,Y)
    [xmin,ymin,xmax,ymax] = Canevas.coords(labelLettre0)


    print("Position du clic -> ",X,Y)
    print("Position objet ->",xmin,ymin,xmax,ymax)
    if xmin <= X <=xmax and ymin <=Y<=ymax:
     DETECTION_CLIC_SUR_OBJET=True
    else:
     DETECTION_CLIC_SUR_OBJET=False
    print("DETECTION_CLIC_SUR_OBJET ->",DETECTION_CLIC_SUR_OBJET )

def Drag1(event):
   #Gestion de lévénement bouton gauche enfoncé
   X= event.x
   Y= event.y
   print("Position du pointeur ->",X,Y)

   if DETECTION_CLIC_SUR_OBJET == True:
    #limite de l'objet dans la zone graphique
    if X<0:
            X=0
    if X>Largeur:
            X=Largeur
    if Y<0:
            Y=0
    if Y>Hauteur:
        Y=Hauteur
    #mise a jour de la position de l'objet (drag)
    Canevas.coords(labelLettre0,X-TailleCarre1, Y-TailleCarre1,X+TailleCarre1,Y+TailleCarre1)

DETECTION_CLIC_OBJET = False

#def quel_Carre_Bouge(liste_Carre_Bouge,X,Y):
#    ret=None; k=0   # ret est un pointeur
#    for Carre_Bouge in liste_Carre_Bouge:
#        [xmin,ymin,xmax,ymax] = Canevas.coords(Carre_Bouge)
#        if xmin <= X <=xmax and ymin <=Y<=ymax: ret=k,xmin,ymin,xmax,ymax; break
#        k=k+1
#    return ret

#def Clic(event):
 #   global DETECTION_CLIC_SUR_OBJET, ret

  #  X= event.x
  #  Y= event.y
   # print("Position du clic -> ",X,Y)
   # ret=quel_Carre_Bouge(liste_Carre_Bouge,X,Y)

    #if ret!=None:
     #DETECTION_CLIC_SUR_OBJET=True
     #k,xmin,ymin,xmax,ymax=ret

     ##print("Carre_Bouge n° %d"%(k+1)) pas besoin de formater !!
     #print("Carre_Bouge n°",k+1)
     #print("Position objet ->",xmin,ymin,xmax,ymax)
    #else:
     #DETECTION_CLIC_SUR_OBJET=False
    #print("DETECTION_CLIC_SUR_OBJET ->",DETECTION_CLIC_SUR_OBJET )

#def Drag(event):
   ##Gestion de lévénement bouton gauche enfoncé
 # X= event.x
 #  Y= event.y
 #  print("Position du pointeur ->",X,Y)

  # if DETECTION_CLIC_SUR_OBJET == True:
    ##limite de l'objet dans la zone graphique
  #  if X<0:
   #         X=0
   # if X>Largeur:
   #        X=Largeur
   # if Y<0:
   #        Y=0
   #if Y>Hauteur:
   #     Y=Hauteur
    ##mise a jour de la position de l'objet (drag)
   # if ret!=None:
    #  k,xmin,ymin,xmax,ymax=ret
    #  Canevas.coords(liste_Carre_Bouge[k],X-TailleCarre, Y-TailleCarre,X+TailleCarre,Y+TailleCarre)

#DETECTION_CLIC_OBJET = False



## Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Le mot a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
#TailleCarre=20
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')

#Création de sept carrés alignés sur une ligne dans lesquels on va y mettre les lettres (ligne du haut). reste FIXE
CarreH1=Canevas.create_rectangle(40,100,80,140,fill='white',outline='black')
CarreH2=Canevas.create_rectangle(80,100,120,140,fill='white',outline='black')
CarreH3=Canevas.create_rectangle(120,100,160,140,fill='white',outline='black')
CarreH4=Canevas.create_rectangle(160,100,200,140,fill='white',outline='black')
CarreH5=Canevas.create_rectangle(200,100,240,140,fill='white',outline='black')
CarreH6=Canevas.create_rectangle(240,100,280,140,fill='white',outline='black')
CarreH7=Canevas.create_rectangle(280,100,320,140,fill='white',outline='black')


#Lettre1 = StringVar()

#entryLettre1 = Entry(Mafenetre,textvariable = Lettre1)
#entryLettre1.place(x=50,y=120)
#entryLettre1.config (width = 5)


#Création de sept carrés alignés sur une ligne dans lesquels les lettres vont apparaître (ligne du bas); reste FIXE
CarreB1=Canevas.create_rectangle(40,200,80,240,fill='white',outline='black')
CarreB2=Canevas.create_rectangle(80,200,120,240,fill='white',outline='black')
CarreB3=Canevas.create_rectangle(120,200,160,240,fill='white',outline='black')
CarreB4=Canevas.create_rectangle(160,200,200,240,fill='white',outline='black')
CarreB5=Canevas.create_rectangle(200,200,240,240,fill='white',outline='black')
CarreB6=Canevas.create_rectangle(240,200,280,240,fill='white',outline='black')
CarreB7=Canevas.create_rectangle(280,200,320,240,fill='white',outline='black')







#Création de sept carrés alignés sur une ligne dans lesquels les lettres mélangées vont apparaître
#liste_Carre_Bouge=[]; x1=40;y1=200
#for k in range(7):
#    x2=x1+40;y2=y1+40
 #   liste_Carre_Bouge.append(Canevas.create_rectangle(x1,y1,x2,y2,fill='white',outline='black'))
  #  x1=x2


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)

#La méthode bind() permet de lier un événement avec une fonction
#Canevas.bind('<Button-1>',Clic) #événement clic gauche (press)
#Canevas.bind('<B1-Motion>',Drag) #événement bouton gauche enfoncé (hold down)

#TailleCarre=20

#Canevas.focus_set() ## ça sert  quoi ?
Canevas.pack(padx=10,pady=10)

Mafenetre.mainloop()

Hors ligne

#30 Le 20/05/2019, à 08:00

pingouinux

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

Je n'aurai sans doute pas beaucoup de temps aujourd'hui. C'est dommage que nous soyons partis dans une mauvaise direction au début.

On pourrait envisager :
- Une zone Text ou Label en haut
- 7 boutons en bas

Pour chaque appel à "Nouveau_Mot" ou "Réessayer", le texte du haut est effacé, et celui de chaque bouton est réinitialisé avec une lettre du mot en désordre.

Un clic sur un bouton ajoute la lettre correspondante au texte du haut. Il faudrait que le bouton change alors d'aspect (relief ou background) pour ne pas l'utiliser plusieurs fois.

Je précise que je ne suis pas un spécialiste de tkinter, et dois me plonger dans la documentation à chaque fois. J'ai retrouvé certains de mes vieux scripts, mais qui ne m'ont pas aidé cette fois-ci.

Hors ligne

#31 Le 20/05/2019, à 08:03

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

c'est très gentil de ta part de nous avoir aidé !

je vais essayer et on verra bien !

bonne journée et un grand merci

Hors ligne

#32 Le 20/05/2019, à 11:32

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

J AI FAIT CECI :

from tkinter import *
import time
from random import shuffle




def Demarrer() : # A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
   listeMot1_solution=["A","B","R","I","C","O","T"]
   shuffle(listeMot1_solution) # met les lettres dans le désordre
   #bouton1 = Button(Mafenetre,text=listeMot1_solution[0],width=3,height=2)
   #bouton1.place(x=40,y=200)
   bouton1['text']=listeMot1_solution[0]
   bouton2['text']=listeMot1_solution[1]
   bouton3['text']=listeMot1_solution[2]
   bouton4['text']=listeMot1_solution[3]
   bouton5['text']=listeMot1_solution[4]
   bouton6['text']=listeMot1_solution[5]
   bouton7['text']=listeMot1_solution[6]




def Clic1():
    labelMotAtrouver['text']= bouton1['text']
    bouton1.configure(text=' ', state='disable')


def Clic2():
    labelMotAtrouver['text']= bouton2['text']
    bouton2.configure(text=' ', state='disable')



#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)



# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)



# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=Clic1)
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=Clic2)
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2)
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2)
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2)
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2)
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2)
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)


Mafenetre.mainloop()

quand j'appuie sur le bouton GO; les lettres du premier mot à trouver s'affichent dans les sept boutons dans le désordre !!
Quand je clique sur le premier bouton ; la lettre apparaît dans le label bleu. Mais si ensuite je clique sur le deuxième bouton; il n'y a que cette lettre apparaît dans le label !
je n'arrive pas a programmer le fait quand on clique sur un bouton puis sur un autre etc; les lettres s'ajoutent dans le label !!!
svp aidez moi !!! merci

Hors ligne

#33 Le 20/05/2019, à 11:37

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

from tkinter import *
import time
from random import shuffle




def Demarrer() : # A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
   listeMot1_solution=["A","B","R","I","C","O","T"]
   shuffle(listeMot1_solution) # met les lettres dans le désordre
   bouton1['text']=listeMot1_solution[0]
   bouton2['text']=listeMot1_solution[1]
   bouton3['text']=listeMot1_solution[2]
   bouton4['text']=listeMot1_solution[3]
   bouton5['text']=listeMot1_solution[4]
   bouton6['text']=listeMot1_solution[5]
   bouton7['text']=listeMot1_solution[6]




def Clic1():
    labelMotAtrouver['text']= bouton1['text']
    bouton1.configure(text=' ', state='disable')


def Clic2():
    labelMotAtrouver['text']= bouton2['text']
    bouton2.configure(text=' ', state='disable')

def Clic3():
    labelMotAtrouver['text']= bouton3['text']
    bouton3.configure(text=' ', state='disable')

def Clic4():
    labelMotAtrouver['text']= bouton4['text']
    bouton4.configure(text=' ', state='disable')

def Clic5():
    labelMotAtrouver['text']= bouton5['text']
    bouton5.configure(text=' ', state='disable')

def Clic6():
    labelMotAtrouver['text']= bouton6['text']
    bouton6.configure(text=' ', state='disable')

def Clic7():
    labelMotAtrouver['text']= bouton7['text']
    bouton7.configure(text=' ', state='disable')


#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)



# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)



# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=Clic1)
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=Clic2)
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=Clic3)
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=Clic4)
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=Clic5)
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=Clic6)
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=Clic7)
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)




Mafenetre.mainloop()

quand j'appuie sur le bouton GO; les lettres du premier mot à trouver s'affichent dans les sept boutons dans le désordre !!
Quand je clique sur le premier bouton ; la lettre apparaît dans le label bleu. Mais si ensuite je clique sur le deuxième bouton; il n'y a que cette lettre apparaît dans le label !
je n'arrive pas a programmer le fait quand on clique sur un bouton puis sur un autre etc; les lettres s'ajoutent dans le label !!!
svp aidez moi !!! merci

Hors ligne

#34 Le 20/05/2019, à 11:43

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

un truc comme ça ?

#!/usr/bin/env python3
# -*- coding: UTF8 -*-
"""
module docstring

"""

from tkinter import *
import time
from random import shuffle



# A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
def Demarrer():
    listeMot1_solution=["A","B","R","I","C","O","T"]
    shuffle(listeMot1_solution) # met les lettres dans le désordre
    #bouton1 = Button(Mafenetre,text=listeMot1_solution[0],width=3,height=2)
    #bouton1.place(x=40,y=200)
    bouton1['text']=listeMot1_solution[0]
    bouton2['text']=listeMot1_solution[1]
    bouton3['text']=listeMot1_solution[2]
    bouton4['text']=listeMot1_solution[3]
    bouton5['text']=listeMot1_solution[4]
    bouton6['text']=listeMot1_solution[5]
    bouton7['text']=listeMot1_solution[6]




def Clic(bouton):
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')

# def Clic1():
    # labelMotAtrouver['text']+= bouton1['text']
    # bouton1.configure(text=' ', state='disable')


# def Clic2():
    # labelMotAtrouver['text']+= bouton2['text']
    # bouton2.configure(text=' ', state='disable')



#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)



# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)



# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)


Mafenetre.mainloop()

if __name__ == "__main__":
    pass

Hors ligne

#35 Le 20/05/2019, à 11:56

pingouinux

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

J'ai pu avancer un peu, mais c'est moche et loin de remplir les objectifs. Le bouton 'Go' est ici inactif.

#!/usr/bin/env python3
from tkinter import *
from tkinter.font import Font, families
import time
from random import shuffle

liste_mots=[
  'sadique',
  'pervers',
  'forcené',
  'traître',
  'aileron',
  'capiton',
  'goudron',
  'réactif',
  'poireau',
  'grillon',
]
nb_mot_cherche=nb_mot_trouve=0; mot_en_cours=-1
def Demarrer() :
 pass
'''
   nb_mot_cherche=nb_mot_trouve=0
   T0=time.time()
   arret=False
   for mot in liste_mots:
      suivant=False
      nb_mot_cherche+=1
      list_mot=list(mot)
      shuffle(list_mot)
      vrac=''.join(list_mot)
      print(vrac)
      while not arret:
         ret=input("0 : Arrêter\n1 : Passer au mot suivant\nou faire un essai pour -> %s\n"%vrac)
         if   ret=='0': arret=True
         elif ret=='1': suivant=True; break
         else:
            if ret==mot: print("\nBravo pour %s et %s !\n"%(vrac,ret)); nb_mot_trouve+=1; suivant=True; break
            else: print("\nRaté pour %s et %s !\n"%(vrac,ret))
      if arret: break
      if suivant: continue
   T1=time.time()
   print("\n%d mot(s) trouvé(s) sur %d en %d seconde(s)"%(nb_mot_trouve,nb_mot_cherche,T1-T0))
'''

def Reesaayer() :
    global essai_mot
    essai_mot=''
    for k in range(len(car_mot)):
        liste_Boutons[k].config(text=car_mot[k])
    rect_haut.config(text=essai_mot)

def Passer_MotSuivant() :
    global essai_mot
    global nb_mot_cherche, nb_mot_trouve, mot_en_cours, car_mot
    essai_mot=''
    mot_en_cours+=1
    mot=liste_mots[mot_en_cours]
    nb_mot_cherche+=1
    car_mot=list(mot)
    shuffle(car_mot)
    for k in range(len(car_mot)):
        liste_Boutons[k].config(text=car_mot[k])
    rect_haut.config(text=essai_mot)

def Clic(num_Bouton):
    global essai_mot
    lettre=liste_Boutons[num_Bouton].cget('text')
    essai_mot+=lettre
    rect_haut.config(text=essai_mot)

# Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Le mot a trouver")
#print(families()); exit
font=Font(Mafenetre,family='Latin Modern Mono Prop',size=-20)

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
#TailleCarre=20
Canevas=Frame(Mafenetre,width=Largeur,height=Hauteur,bg='White')

#Création de sept carrés alignés sur une ligne dans lesquels on va y mettre les lettres
frame_bas=Frame(Mafenetre); frame_bas.pack(side=BOTTOM)
liste_Boutons=[]
Clic0=lambda: Clic(0)
Clic1=lambda: Clic(1)
Clic2=lambda: Clic(2)
Clic3=lambda: Clic(3)
Clic4=lambda: Clic(4)
Clic5=lambda: Clic(5)
Clic6=lambda: Clic(6)
clic=[Clic0,Clic1,Clic2,Clic3,Clic4,Clic5,Clic6]
for k in range(7):
#   bouton=Button(frame_bas,bg='lightblue',command=lambda : Clic(k))
    bouton=Button(frame_bas,bg='lightblue',command=clic[k])
    bouton.pack(side=RIGHT)
    liste_Boutons.append(bouton)

# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2,command=Reesaayer)
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2,command=Passer_MotSuivant)
boutonMotSuivant.place(x=400,y=110)

TailleCarre=20
frame_haut=Frame(Mafenetre); frame_haut.pack(side=BOTTOM)
rect_haut=Label(frame_haut,bg='pink',width=20,font=font); rect_haut.pack(side=BOTTOM)
Canevas.focus_set()
Canevas.pack(padx=10,pady=10)

Mafenetre.mainloop()

Hors ligne

#36 Le 20/05/2019, à 11:57

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

#!/usr/bin/env python3
# -*- coding: UTF8 -*-
"""
module docstring

"""

from tkinter import *
import time
from random import shuffle

# liste_mots = ["ABRICOT", "VERDURE"]
liste_mots=[
'sadique',
'pervers',
'forcené',
'traître',
'aileron',
'capiton',
'goudron',
'réactif',
'poireau',
'grillon',
]
shuffle(liste_mots) # met les mots dans le désordre


# A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
def Demarrer():

    # listeMot1_solution=["A","B","R","I","C","O","T"]
    # listeMot1_solution=[]
    listeMot1_solution=[x for x in liste_mots.pop(0)]


    shuffle(listeMot1_solution) # met les lettres dans le désordre
    #bouton1 = Button(Mafenetre,text=listeMot1_solution[0],width=3,height=2)
    #bouton1.place(x=40,y=200)
    bouton1['text']=listeMot1_solution[0]
    bouton2['text']=listeMot1_solution[1]
    bouton3['text']=listeMot1_solution[2]
    bouton4['text']=listeMot1_solution[3]
    bouton5['text']=listeMot1_solution[4]
    bouton6['text']=listeMot1_solution[5]
    bouton7['text']=listeMot1_solution[6]

def Clic(bouton):
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')


#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)

# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)

# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)


Mafenetre.mainloop()

Hors ligne

#37 Le 20/05/2019, à 12:05

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

hop ajout d'un global pour le mot à trouver...
TODO undo ?

#!/usr/bin/env python3
# -*- coding: UTF8 -*-
"""
module docstring

"""

from tkinter import *
import time
from random import shuffle

# liste_mots = ["ABRICOT", "VERDURE"]
liste_mots=[
'sadique',
'pervers',
'forcené',
'traître',
'aileron',
'capiton',
'goudron',
'réactif',
'poireau',
'grillon',
]
shuffle(liste_mots) # met les mots dans le désordre
leMot_solution=""

# A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
def Demarrer():
    global leMot_solution
    # listeMot1_solution=["A","B","R","I","C","O","T"]
    # listeMot1_solution=[]
    leMot_solution = liste_mots.pop(0)
    listeMot1_solution=[x for x in leMot_solution]
    print("le mot est", listeMot1_solution)


    shuffle(listeMot1_solution) # met les lettres dans le désordre
    # bouton1 = Button(Mafenetre,text=listeMot1_solution[0],width=3,height=2)
    # bouton1.place(x=40,y=200)
    bouton1['text']=listeMot1_solution[0]
    bouton2['text']=listeMot1_solution[1]
    bouton3['text']=listeMot1_solution[2]
    bouton4['text']=listeMot1_solution[3]
    bouton5['text']=listeMot1_solution[4]
    bouton6['text']=listeMot1_solution[5]
    bouton7['text']=listeMot1_solution[6]

def Clic(bouton):
    global leMot_solution
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')
    if labelMotAtrouver['text'] == leMot_solution:
        print("gagné")


#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)

# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)

# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)


Mafenetre.mainloop()

Hors ligne

#38 Le 20/05/2019, à 12:11

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

ça commence à venir...

#!/usr/bin/env python3
# -*- coding: UTF8 -*-
"""
module docstring

"""

from tkinter import *
import time
from random import shuffle

# liste_mots = ["ABRICOT", "VERDURE"]
liste_mots=[
'sadique',
'pervers',
'forcené',
'traître',
'aileron',
'capiton',
'goudron',
'réactif',
'poireau',
'grillon',
]
shuffle(liste_mots) # met les mots dans le désordre
leMot_solution=""

# A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
def Demarrer():
    global leMot_solution
    # listeMot1_solution=["A","B","R","I","C","O","T"]
    # listeMot1_solution=[]
    leMot_solution = liste_mots.pop(0)
    listeMot1_solution=[x for x in leMot_solution]
    print("le mot est", listeMot1_solution)


    shuffle(listeMot1_solution) # met les lettres dans le désordre
    # bouton1 = Button(Mafenetre,text=listeMot1_solution[0],width=3,height=2)
    # bouton1.place(x=40,y=200)
    bouton1['text']=listeMot1_solution[0]
    bouton2['text']=listeMot1_solution[1]
    bouton3['text']=listeMot1_solution[2]
    bouton4['text']=listeMot1_solution[3]
    bouton5['text']=listeMot1_solution[4]
    bouton6['text']=listeMot1_solution[5]
    bouton7['text']=listeMot1_solution[6]

def Clic(bouton):
    global leMot_solution
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')
    if labelMotAtrouver['text'] == leMot_solution:
        print("gagné")
        labelMotAtrouver['text']=''
        bouton1.configure(text=' ', state='normal')
        bouton2.configure(text=' ', state='normal')
        bouton3.configure(text=' ', state='normal')
        bouton4.configure(text=' ', state='normal')
        bouton5.configure(text=' ', state='normal')
        bouton6.configure(text=' ', state='normal')
        bouton7.configure(text=' ', state='normal')
    
        Demarrer()

#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)

# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)

# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)


Mafenetre.mainloop()

Hors ligne

#39 Le 20/05/2019, à 12:13

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

merci !!!!!

Hors ligne

#40 Le 20/05/2019, à 12:30

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

j'ai rectifié le "def clic" comme kholo et je l'ai mis dans mon programme
ça marche super !!!

maintenant  : dans le "def Passer_mot suivant" : j'ai mis le mot 2 à truver
comment fais je pour la liste de 10 mots?


from tkinter import *
import time
from random import shuffle




def Demarrer() : # A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
   listeMot1_solution=["A","B","R","I","C","O","T"]
   shuffle(listeMot1_solution) # met les lettres dans le désordre
   bouton1['text']=listeMot1_solution[0]
   bouton2['text']=listeMot1_solution[1]
   bouton3['text']=listeMot1_solution[2]
   bouton4['text']=listeMot1_solution[3]
   bouton5['text']=listeMot1_solution[4]
   bouton6['text']=listeMot1_solution[5]
   bouton7['text']=listeMot1_solution[6]


def Passer_MotSuivant():
   labelMotAtrouver['text']=''
   listeMot2_solution=["A","C","H","E","T","E","R"]
   shuffle(listeMot2_solution) # met les lettres dans le désordre
   bouton1.configure(text=listeMot2_solution[0], state='normal')
   bouton2.configure(text=listeMot2_solution[1], state='normal')
   bouton3.configure(text=listeMot2_solution[2], state='normal')
   bouton4.configure(text=listeMot2_solution[3], state='normal')
   bouton5.configure(text=listeMot2_solution[4], state='normal')
   bouton6.configure(text=listeMot2_solution[5], state='normal')
   bouton7.configure(text=listeMot2_solution[6], state='normal')



def Clic(bouton):
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')

#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)



# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)



# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)

# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2,command=Passer_MotSuivant) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)




Mafenetre.mainloop()

Hors ligne

#41 Le 20/05/2019, à 12:38

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

j'ai mis ma liste de mots !!!

from tkinter import *
import time
from random import shuffle


liste_mots=[
'abricot',
'acheter',
'culotte',
'tableau',
'chanter',
'oiseaux',
'goudron',
'carotte',
'poireau',
'grillon',
]

def Demarrer() : # A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons
   listeMot1_solution=["A","B","R","I","C","O","T"]
   shuffle(listeMot1_solution) # met les lettres dans le désordre
   bouton1['text']=listeMot1_solution[0]
   bouton2['text']=listeMot1_solution[1]
   bouton3['text']=listeMot1_solution[2]
   bouton4['text']=listeMot1_solution[3]
   bouton5['text']=listeMot1_solution[4]
   bouton6['text']=listeMot1_solution[5]
   bouton7['text']=listeMot1_solution[6]


def Passer_MotSuivant():
   labelMotAtrouver['text']=''
   listeMot2_solution=["A","C","H","E","T","E","R"]
   shuffle(listeMot2_solution) # met les lettres dans le désordre
   bouton1.configure(text=listeMot2_solution[0], state='normal')
   bouton2.configure(text=listeMot2_solution[1], state='normal')
   bouton3.configure(text=listeMot2_solution[2], state='normal')
   bouton4.configure(text=listeMot2_solution[3], state='normal')
   bouton5.configure(text=listeMot2_solution[4], state='normal')
   bouton6.configure(text=listeMot2_solution[5], state='normal')
   bouton7.configure(text=listeMot2_solution[6], state='normal')



def Clic(bouton):
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')

#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)



# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)



# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)

# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2,command=Passer_MotSuivant) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)




Mafenetre.mainloop()

Hors ligne

#42 Le 20/05/2019, à 12:44

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

le bouton go fonctionne ; ça me donne les lettres du premier à trouver ok
le bouton Passer_MotSuivant : je l'ai fait pour le mot n°2 mais je fais comment pour ma liste de mots entière? et je dois mettre un compteur pour donner à la fin le nombre de bons mots et le temps
le bouton réessayer : pas fait il faut remettre les lettres dans les boutons
le bouton quitter : j'aimerais qu'avant de quitter l'application; ça donne le nombre de mots trouvés et le temps mis

merci de votre aide

Hors ligne

#43 Le 20/05/2019, à 12:46

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

as tu regardé ma dernière version ?

Hors ligne

#44 Le 20/05/2019, à 12:55

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

j'ai auusi regardé lep rogramme de pinguinux

et si dans démarrer on mettait seulement le premier mot et c'est tout?

le compteur pour les bonnes réponses et le temps ailleurs ?

Hors ligne

#45 Le 20/05/2019, à 13:01

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

avec le café...
ajouter dans fonction clic :

        print("il reste", len(liste_mots), "mots")

Hors ligne

#46 Le 20/05/2019, à 13:07

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

pour le temps, j'ajoute une variable :

le_debut = 0

et deux lignes à adapter :

        la_duree = time.time() - le_debut
        print("dernier mot trouvé en", la_duree, "secondes" )

et j'en serais là :

#!/usr/bin/env python3
# -*- coding: UTF8 -*-
"""
module docstring

"""

from tkinter import *
import time
from random import shuffle

# liste_mots = ["ABRICOT", "VERDURE"]
liste_mots=[
'sadique',
'pervers',
'forcené',
'traître',
'aileron',
'capiton',
'goudron',
'réactif',
'poireau',
'grillon',
]

shuffle(liste_mots) # met les mots dans le désordre
leMot_solution=""

# A faire -> faire apparaître les lettres du premier mot à trouver dans le désordre dans les sept boutons

# def Melanger_mot(un_mot):
    
    # return 

le_debut = 0

def Demarrer():
    global leMot_solution
    global le_debut
    # listeMot1_solution=["A","B","R","I","C","O","T"]
    # listeMot1_solution=[]
    leMot_solution = liste_mots.pop(0)
    listeMot1_solution=[x for x in leMot_solution]
    print("le mot est", listeMot1_solution)
    le_debut = time.time()


    shuffle(listeMot1_solution) # met les lettres dans le désordre
    # bouton1 = Button(Mafenetre,text=listeMot1_solution[0],width=3,height=2)
    # bouton1.place(x=40,y=200)
    bouton1['text']=listeMot1_solution[0]
    bouton2['text']=listeMot1_solution[1]
    bouton3['text']=listeMot1_solution[2]
    bouton4['text']=listeMot1_solution[3]
    bouton5['text']=listeMot1_solution[4]
    bouton6['text']=listeMot1_solution[5]
    bouton7['text']=listeMot1_solution[6]
    

def Clic(bouton):
    global leMot_solution
    labelMotAtrouver['text']+= bouton['text']
    bouton.configure(text=' ', state='disable')
    if labelMotAtrouver['text'] == leMot_solution:
        print("gagné")
        labelMotAtrouver['text']=''
        bouton1.configure(text=' ', state='normal')
        bouton2.configure(text=' ', state='normal')
        bouton3.configure(text=' ', state='normal')
        bouton4.configure(text=' ', state='normal')
        bouton5.configure(text=' ', state='normal')
        bouton6.configure(text=' ', state='normal')
        bouton7.configure(text=' ', state='normal')
    
        Demarrer()
        print("il reste", len(liste_mots), "mots")
        la_duree = time.time() - le_debut
        print("dernier mot trouvé en", la_duree, "secondes" )

#Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title("Les mots a trouver")

#Création d'un widget Canvas
Largeur= 500
Hauteur= 300
Canevas=Canvas(Mafenetre,width=Largeur,height=Hauteur,bg='White')
Canevas.pack(padx=10,pady=10)

# création d un label
labelMotAtrouver = Label(Mafenetre,text='',width= 18,bg='light blue',font=('Arial',16))
labelMotAtrouver.place(x=60,y=140)

# # Création de sept boutons (ligne du bas)
bouton1 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton1))
bouton1.place(x=40,y=200)
bouton2 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton2))
bouton2.place(x=80,y=200)
bouton3 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton3))
bouton3.place(x=120,y=200)
bouton4 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton4))
bouton4.place(x=160,y=200)
bouton5 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton5))
bouton5.place(x=200,y=200)
bouton6 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton6))
bouton6.place(x=240,y=200)
bouton7 = Button(Mafenetre,text='',width=3,height=2,command=lambda: Clic(bouton7))
bouton7.place(x=280,y=200)


# Création de quatre boutons
boutonGo = Button(Mafenetre,text='GO',width=5,height=2,command=Demarrer) #command=Demarrer
boutonGo.place(x=50,y=20)

boutonQuit = Button(Mafenetre,text='Quitter',width=5,height=2,command=Mafenetre.destroy) #command=Quitter
boutonQuit.place(x=300,y=20)

boutonReesayer = Button(Mafenetre,text='Réessayer',width=10,height=2) #command=Reessayer
boutonReesayer.place(x=400,y=210)

boutonMotSuivant = Button(Mafenetre,text='Mot suivant',width=10,height=2) #command=Passer_MotSuivant
boutonMotSuivant.place(x=400,y=110)


Mafenetre.mainloop()

Hors ligne

#47 Le 20/05/2019, à 13:13

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

je vais regarder

Hors ligne

#48 Le 20/05/2019, à 13:17

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

j'ai essayé le nouveau programme de kholo mais ça ne marche pas !
il faut vraiment un bouton pour faire des essais !!
là on doit taper tout le temps sur le bouton go !

Hors ligne

#49 Le 20/05/2019, à 13:45

Nat62

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

pour finir ça marche pas mal ton programme kholo mais ça bloque si ce n'est pas le bon mot; il faut absolument faire des essais autant de fois que l'on veut

Hors ligne

#50 Le 20/05/2019, à 13:54

kholo

Re : SOS aide pour programmer "le mot à trouver" élève de seconde

bon, j'ai eu un autre truc sur le feu... je reprend...
donc de ma dernière version, tu as un réinit après avoir trouvé un mot bon...
NB j'ai mis les log avec des print dans la console...
donc on en est où ?
il faut juste créer les fonctions et les attribuer aux bons boutons... ?

Hors ligne