diff --git a/GestionDes.py b/GestionDes.py index 1a23ebc..2a4d39e 100644 --- a/GestionDes.py +++ b/GestionDes.py @@ -1,4 +1,11 @@ import customtkinter as tk # import de la bibliothèque interface graphique "as tk" : on remplace customtkinter par tk +from time import sleep +import random + + +TypeDeDes = 6 # variable globale +NbredeDes = 1 + def quitter(): # création d'une fonction pour quitter fenetreMenu.destroy() # destroy = fonction qui arrête tout @@ -11,12 +18,12 @@ label = tk.CTkLabel(fenetreMenu, text="Lancez les dés", font=('Arial',22)) # label.pack(pady=5) # label.pack(padx=10, pady=10) # padx, pady, ajoute des pixel entre widget + +# Création des boutons + cadreFormatDe=tk.CTkFrame(fenetreMenu) # création d'un cadre pour facilité la disposition cadreFormatDe.pack(side=tk.TOP, anchor=tk.CENTER, pady=10) - - - DicoBoutons = {} # création d'un Dico pour distingués les boutons for i in [4, 6, 8, 10, 12, 20] : button = tk.CTkButton(cadreFormatDe, text= f"D{i}", hover=False, width=50) # création d'un bouton @@ -28,36 +35,44 @@ def clic4 (): for i in [4, 6, 8, 10, 12, 20] : DicoBoutons[i].configure(fg_color="blue") DicoBoutons[4].configure(fg_color="red") + TypeDeDes = 4 def clic6 (): print("D6") for i in [4, 6, 8, 10, 12, 20] : DicoBoutons[i].configure(fg_color="blue") DicoBoutons[6].configure(fg_color="red") + TypeDeDes = 6 + def clic8 (): print("D8") for i in [4, 6, 8, 10, 12, 20] : DicoBoutons[i].configure(fg_color="blue") DicoBoutons[8].configure(fg_color="red") + TypeDeDes = 8 def clic10 (): print("D10") for i in [4, 6, 8, 10, 12, 20] : DicoBoutons[i].configure(fg_color="blue") DicoBoutons[10].configure(fg_color="red") + TypeDeDes = 10 def clic12 (): print("D12") for i in [4, 6, 8, 10, 12, 20] : DicoBoutons[i].configure(fg_color="blue") DicoBoutons[12].configure(fg_color="red") + TypeDeDes = 12 def clic20 (): print("D20") for i in [4, 6, 8, 10, 12, 20] : DicoBoutons[i].configure(fg_color="blue") DicoBoutons[20].configure(fg_color="red") + TypeDeDes = 20 + DicoBoutons[4].configure(command=clic4) @@ -68,15 +83,71 @@ DicoBoutons[12].configure(command=clic12) DicoBoutons[20].configure(command=clic20) -# print(DicoBoutons) +# print(DicoBoutons) #print de controle -cadreNbreDe=tk.CTkFrame(fenetreMenu) -cadreNbreDe.pack(side=tk.TOP, pady=10) -label = tk.CTkLabel(cadreNbreDe, text="Nombre de dés", font=('Arial',20)) # crée du texte -label.pack(side=tk.LEFT, padx=10) -entryNbreDe = tk.CTkEntry(cadreNbreDe, width=50) # crée une zone de saisie -entryNbreDe.pack(side=tk.LEFT,padx=5) +labelerreur = tk.CTkLabel(fenetreMenu) + +def recup_NbreDes(): + labelerreur.pack_forget() + NbredeDes = entryNbreDes.get() + + try: + nombre_entier = int(NbredeDes) + print("Nombre entier saisi :", nombre_entier) + + + #labelerreur.configure_forget() + # Vous pouvez utiliser 'nombre_entier' comme vous le souhaitez ici + except ValueError: + labelerreur.configure(fenetreMenu, text="Veuillez saisir un nombre entier valide.", font=('Arial',20)) # crée du texte (label) + labelerreur.pack() + + + + resultatDe = 0 + nombreDeDe = nombre_entier + typeDeDe = TypeDeDes + print(typeDeDe , nombreDeDe) + + # listeResultat = [0] # création d'une liste pour stocker le nombre de résultats par valeur + # for i in range(1,typeDeDe) : + # listeResultat.append(0) + + # i = 1 # variable d'incrémentation + # while( i <= nombreDeDe ) : #boucle de lancer de dés et stockage des résultats par valeur + # resultatDe = random.randint(1,typeDeDe) + # listeResultat[resultatDe-1] += 1 + + + # listeReussite = [0] + # for i in range(1,typeDeDe) : + # listeReussite.append(0) + + # for i in range(0,typeDeDe) : + + # for u in range(i,typeDeDe) : + # listeReussite[i] = listeReussite[i] + listeResultat[u] + # print(listeResultat) + # print(listeReussite) + + +cadreNbreDe=tk.CTkFrame(fenetreMenu) # création d'un cadre pour le nombre de dés +cadreNbreDe.pack(side=tk.TOP, pady=10) # définition du cadre +label = tk.CTkLabel(cadreNbreDe, text="Nombre de dés", font=('Arial',20)) # crée du texte (label) +label.pack(side=tk.LEFT, padx=10) # définition des caractéristiques du label +entryNbreDes = tk.CTkEntry(cadreNbreDe, width=50) # crée une zone de saisie +entryNbreDes.pack(side=tk.LEFT,padx=5) # définition des caractéristiques de la zone de saisie +BoutonOK = tk.CTkButton(cadreNbreDe,text = "OK", width=40, command=recup_NbreDes ) +BoutonOK.pack(side=tk.LEFT) + + + + + + # labelresult = tk.CTkLabel( fenetreMenu , text="essai resultat") + # labelresult.pack() + cadreQuit=tk.CTkFrame(fenetreMenu) # création d'un cadre pour facilité la disposition @@ -85,8 +156,8 @@ button = tk.CTkButton(cadreQuit, text="QUITTER", command=quitter) # création button.pack(side=tk.BOTTOM, pady=15) # side=tk.BOTTOM est utilisé pour ancrer vers le bas : indiquer celui qui est plus bas en premier -entry = tk.CTkEntry(fenetreMenu, width=250) # crée une zone de saisie -entry.pack(side=tk.BOTTOM,) +# entry = tk.CTkEntry(fenetreMenu, width=250) # crée une zone de saisie +# entry.pack(side=tk.BOTTOM,) fenetreMenu.mainloop() diff --git a/essaiEntry.py b/essaiEntry.py new file mode 100644 index 0000000..75c20e9 --- /dev/null +++ b/essaiEntry.py @@ -0,0 +1,23 @@ +import tkinter as tk + +def recupere_valeur(): + valeur_saisie = entree.get() + try: + nombre_entier = int(valeur_saisie) + print("Nombre entier saisi :", nombre_entier) + # Vous pouvez utiliser 'nombre_entier' comme vous le souhaitez ici + except ValueError: + print("Veuillez saisir un nombre entier valide.") + +fenetre = tk.Tk() +fenetre.title("Exemple de zone de saisie") + +# Créer la zone de saisie +entree = tk.Entry(fenetre) +entree.pack(pady=10) + +# Créer un bouton pour récupérer la valeur +bouton = tk.Button(fenetre, text="Récupérer la valeur", command=recupere_valeur) +bouton.pack() + +fenetre.mainloop() \ No newline at end of file diff --git a/essaiseffacelabel.py b/essaiseffacelabel.py new file mode 100644 index 0000000..5de6d7d --- /dev/null +++ b/essaiseffacelabel.py @@ -0,0 +1,28 @@ +import tkinter as tk + +def recupere_valeur(): + valeur_saisie = entree.get() + try: + nombre_entier = int(valeur_saisie) + print("Nombre entier saisi :", nombre_entier) + # Vous pouvez utiliser 'nombre_entier' comme vous le souhaitez ici + except ValueError: + # Afficher un message d'erreur dans le label + message_label.config(text="Veuillez saisir un nombre entier valide.") + +fenetre = tk.Tk() +fenetre.title("Exemple de zone de saisie") + +# Créer la zone de saisie +entree = tk.Entry(fenetre) +entree.pack(pady=10) + +# Créer un bouton pour récupérer la valeur +bouton = tk.Button(fenetre, text="Récupérer la valeur", command=recupere_valeur) +bouton.pack() + +# Créer un label pour afficher les messages +message_label = tk.Label(fenetre, text="Entrez un nombre entier.") +message_label.pack() + +fenetre.mainloop() \ No newline at end of file